Timeline



Mar 3, 2013:

11:57 PM Changeset in webkit [144602] by commit-queue@webkit.org
  • 6 edits in trunk/Source

[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:
11:44 PM Changeset in webkit [144601] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

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):

11:28 PM Changeset in webkit [144600] by apavlov@chromium.org
  • 16 edits in trunk

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:
11:09 PM Changeset in webkit [144599] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

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.

10:53 PM Changeset in webkit [144598] by vsevik@chromium.org
  • 10 edits in trunk/Source/WebCore

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):

10:34 PM Changeset in webkit [144597] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium gardening

Remove failure annotation on tests which was already fixed.

  • platform/chromium/TestExpectations:
10:28 PM Changeset in webkit [144596] by benjamin@webkit.org
  • 5 edits in trunk

[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.

9:51 PM Changeset in webkit [144595] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

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.

5:42 PM Changeset in webkit [144594] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

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):

5:39 PM Changeset in webkit [144593] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r144590.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateSecurityCheckFunctions):

5:36 PM Changeset in webkit [144592] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix after r144587.

  • bindings/v8/V8Binding.cpp:

(WebCore::toV8Context):

  • bindings/v8/V8MutationCallback.cpp:

(WebCore::V8MutationCallback::V8MutationCallback):

4:16 PM Changeset in webkit [144591] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

[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:
4:12 PM Changeset in webkit [144590] by haraken@chromium.org
  • 5 edits in trunk/Source/WebCore

[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:
4:11 PM Changeset in webkit [144589] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

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):

4:09 PM Changeset in webkit [144588] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[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):

4:05 PM Changeset in webkit [144587] by haraken@chromium.org
  • 12 edits in trunk/Source/WebCore

[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):

3:56 PM Changeset in webkit [144586] by beidson@apple.com
  • 14 edits in branches/safari-534.59-branch

Merge r143988

2013-02-25 Anders Carlsson <andersca@apple.com>

Source/WebKit2:

Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
https://bugs.webkit.org/show_bug.cgi?id=110821

Reviewed by Beth Dakin.

  • UIProcess/API/C/WKPage.cpp: (WKPageGetPluginInformationPluginspageAttributeURLKey): (WKPageGetPluginInformationPluginURLKey): Add two new API key getters.


  • UIProcess/API/C/WKPage.h: Add a new callback and deprecate the old callback.


  • UIProcess/WebLoaderClient.cpp: (WebKit::WebLoaderClient::didFailToInitializePlugin): (WebKit::WebLoaderClient::didBlockInsecurePluginVersion): (WebKit::WebLoaderClient::pluginLoadPolicy): Make the pluginInformationDictionary a static member function of WebPageProxy so it can be called from WebUIClient as well.


  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath): Pass the bundle version as well.

(WebKit::WebPageProxy::pluginInformationPluginspageAttributeURLKey):
(WebKit::WebPageProxy::pluginInformationPluginURLKey):
Add two new keys.

(WebKit::WebPageProxy::pluginInformationDictionary):
Handle more keys.

(WebKit::WebPageProxy::unavailablePluginButtonClicked):
Get the plug-in bundle identifier and version.

  • UIProcess/WebPageProxy.messages.in: Pass along more information; the frame and page URLs.
  • UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::unavailablePluginButtonClicked): Call the new callback if it's supported.
  • UIProcess/WebUIClient.h: (WebUIClient):
  • UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateInspectorPage): Update for API changes.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::unavailablePluginButtonClicked): Ensure that the pluginspage attribute is a valid URL.

Tools:

Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
https://bugs.webkit.org/show_bug.cgi?id=110821
<rdar://problem/13265303>

Reviewed by Beth Dakin.

Update for WebKit2 changes.

  • MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController awakeFromNib]):
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::unavailablePluginButtonClicked):
  • WebKitTestRunner/TestController.h: (TestController):
3:54 PM Changeset in webkit [144585] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

[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.

3:52 PM Changeset in webkit [144584] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[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:
3:19 PM Changeset in webkit [144583] by rniwa@webkit.org
  • 24 edits in trunk

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:
3:02 PM Changeset in webkit [144582] by beidson@apple.com
  • 13 edits in branches/safari-534.59-branch

Merge r143976

2013-02-25 Anders Carlsson <andersca@apple.com>

Add a new pluginDidFail callback that takes a WKDictionary of plug-in information
https://bugs.webkit.org/show_bug.cgi?id=110793
<rdar://problem/13265303>

Reviewed by Sam Weinig.

Source/WebKit2:

Add a new pluginDidFail callback that takes a WKDictionaryRef and also pass in the
frame and page URLs.

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebLoaderClient.cpp: (WebKit::pluginInformationDictionary): (WebKit::WebLoaderClient::didFailToInitializePlugin): (WebKit::WebLoaderClient::didBlockInsecurePluginVersion): (WebKit::WebLoaderClient::pluginLoadPolicy):
  • UIProcess/WebLoaderClient.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didFailToInitializePlugin): (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::didFailToInitializePlugin):
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin):

Tools:

Update for WebKit2 API changes.

  • MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController awakeFromNib]):
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::createWebViewWithOptions):
2:15 PM Changeset in webkit [144581] by aelias@chromium.org
  • 6 edits in trunk

[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):

2:15 PM Changeset in webkit [144580] by weinig@apple.com
  • 4 edits in trunk/Source/WebKit2

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!

12:43 PM Changeset in webkit [144579] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix after r144565. Reverted r144533.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
11:57 AM Changeset in webkit [144578] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

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):

11:36 AM Changeset in webkit [144577] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

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.

10:27 AM Changeset in webkit [144576] by beidson@apple.com
  • 12 edits in branches/safari-534.59-branch/Source

Merge r143815

2013-02-22 Anders Carlsson <andersca@apple.com>

pluginLoadStrategy should take a WKDictionaryRef for extensibility
https://bugs.webkit.org/show_bug.cgi?id=110656
<rdar://problem/13265303>

Reviewed by Jessie Berlin.

../WebCore:

Export a symbol needed by WebKit2.

  • WebCore.exp.in:

../WebKit2:

Change pluginLoadStrategy to take a WKDictionaryRef instead of a number of parameters;
this lets us add more plug-in information if needed. Also add the page URL and rename documentURL to frameURL.

  • UIProcess/API/C/WKPage.cpp: (WKPageGetPluginInformationBundleIdentifierKey): (WKPageGetPluginInformationBundleVersionKey): (WKPageGetPluginInformationDisplayNameKey): (WKPageGetPluginInformationFrameURLKey): (WKPageGetPluginInformationMIMETypeKey): (WKPageGetPluginInformationPageURLKey):
  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebLoaderClient.cpp: (WebKit): (WebKit::WebLoaderClient::pluginLoadPolicy):
  • UIProcess/WebLoaderClient.h: (WebLoaderClient):
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath): (WebKit::WebPageProxy::pluginInformationBundleIdentifierKey): (WebKit): (WebKit::WebPageProxy::pluginInformationBundleVersionKey): (WebKit::WebPageProxy::pluginInformationDisplayNameKey): (WebKit::WebPageProxy::pluginInformationFrameURLKey): (WebKit::WebPageProxy::pluginInformationMIMETypeKey): (WebKit::WebPageProxy::pluginInformationPageURLKey):
  • UIProcess/WebPageProxy.h: (WebPageProxy):
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): (WebKit::WebPage::canPluginHandleResponse):
8:16 AM Changeset in webkit [144575] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

[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):

7:59 AM Changeset in webkit [144574] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

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.

4:05 AM Changeset in webkit [144573] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit/win

Windows build fix attempt after r144547.

  • WebKit.vcproj/WebKitExports.def.in:
3:47 AM Changeset in webkit [144572] by commit-queue@webkit.org
  • 23 edits
    3 deletes in trunk

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.
3:06 AM Changeset in webkit [144571] by mkwst@chromium.org
  • 8 edits in trunk/Source

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.

2:47 AM Changeset in webkit [144570] by rniwa@webkit.org
  • 4 edits in trunk/Source

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:
2:34 AM Changeset in webkit [144569] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit/win

Windows build fix attempt after r144567.

  • WebKit.vcproj/WebKitExports.def.in:
2:12 AM Changeset in webkit [144568] by abarth@webkit.org
  • 116 edits in trunk/Source

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:
1:54 AM Changeset in webkit [144567] by commit-queue@webkit.org
  • 20 edits
    3 adds in trunk

<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:
1:28 AM Changeset in webkit [144566] by mkwst@chromium.org
  • 4 edits
    2 adds in trunk

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.
1:16 AM Changeset in webkit [144565] by abarth@webkit.org
  • 206 edits
    7 deletes in trunk/Source

Unreviewed rollout of http://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:
12:56 AM Changeset in webkit [144564] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

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:
12:52 AM Changeset in webkit [144563] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[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:
12:46 AM Changeset in webkit [144562] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source

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):

12:33 AM Changeset in webkit [144561] by abarth@webkit.org
  • 6 edits in trunk/Source/WebCore

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):

Mar 2, 2013:

11:31 PM Changeset in webkit [144560] by beidson@apple.com
  • 10 edits in branches/safari-534.59-branch

Merge r143790

2013-02-22 Anders Carlsson <andersca@apple.com>

Source/WebKit2:

Move pluginLoadPolicy to the page loader client
https://bugs.webkit.org/show_bug.cgi?id=110635
<rdar://problem/13265303>


Reviewed by Sam Weinig.

Move the pluginLoadPolicy callback to the page loader client where it belongs.

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebLoaderClient.cpp: (WebKit::toWKPluginLoadPolicy): (WebKit): (WebKit::toPluginModuleLoadPolicy): (WebKit::WebLoaderClient::pluginLoadPolicy):
  • UIProcess/WebLoaderClient.h: (WebLoaderClient):
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath):
  • UIProcess/WebUIClient.cpp: (WebKit):
  • UIProcess/WebUIClient.h: (WebUIClient):
  • UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateInspectorPage):

Tools:

Move pluginLoadPolicy to the page loader client
https://bugs.webkit.org/show_bug.cgi?id=110635

Reviewed by Sam Weinig.

  • MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController awakeFromNib]):
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::createWebViewWithOptions):
11:13 PM Changeset in webkit [144559] by zandobersek@gmail.com
  • 4 edits in trunk

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.
10:59 PM Changeset in webkit [144558] by beidson@apple.com
  • 4 edits
    2 adds in branches/safari-534.59-branch

Merge r142919

2013-02-14 Anders Carlsson <andersca@apple.com>

Add WKContextIsPlugInUpdateAvailable
https://bugs.webkit.org/show_bug.cgi?id=109862
<rdar://problem/13173140>

Reviewed by Sam Weinig.

Source/WebKit2:

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.cpp. (WKContextGetProcessSuppressionEnabled): (WKContextSetProcessSuppressionEnabled): (WKContextIsPlugInUpdateAvailable):
  • WebKit2.xcodeproj/project.pbxproj:

WebKitLibraries:

Roll WebKitSystemInterface DEPS.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMountainLion.a:
10:55 PM Changeset in webkit [144557] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Another try at fixing the build.

10:33 PM Changeset in webkit [144556] by beidson@apple.com
  • 9 edits in branches/safari-534.59-branch/Source/WebKit2

Merge r142017

2013-02-06 Anders Carlsson <andersca@apple.com>

Pass the document source URL to the pluginLoadPolicy callback
https://bugs.webkit.org/show_bug.cgi?id=109084
<rdar://problem/13154516>

Reviewed by Andreas Kling.

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath):
  • UIProcess/WebPageProxy.h: (WebPageProxy):
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::pluginLoadPolicy):
  • UIProcess/WebUIClient.h: (WebUIClient):
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): (WebKit::WebPage::canPluginHandleResponse):
10:31 PM Changeset in webkit [144555] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Try to fix build.

10:24 PM Changeset in webkit [144554] by beidson@apple.com
  • 5 edits in branches/safari-534.59-branch/Source/WebKit2

Merge r141923

2013-02-05 Anders Carlsson <andersca@apple.com>

WebKit clients should be able to override loading of blocked plug-ins
https://bugs.webkit.org/show_bug.cgi?id=108968
<rdar://problem/13154516>

Reviewed by Sam Weinig.

Replace the shouldInstantiatePlugin callback with a new pluginLoadPolicy which is called regardless
of whether the plug-in is blocked or not. This lets clients override the plug-in load policy and
force loading of blacklisted plug-ins (and vice versa).

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath):
  • UIProcess/WebUIClient.cpp: (WebKit::toWKPluginLoadPolicy): (WebKit): (WebKit::toPluginModuleLoadPolicy): (WebKit::WebUIClient::pluginLoadPolicy):
  • UIProcess/WebUIClient.h: (WebUIClient):
9:55 PM Changeset in webkit [144553] by Darin Adler
  • 16 edits in trunk/Source

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.

9:47 PM Changeset in webkit [144552] by Darin Adler
  • 13 edits
    1 add in trunk

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.

8:05 PM Changeset in webkit [144551] by beidson@apple.com
  • 19 edits
    1 add in branches/safari-534.59-branch

Merge r141486

2013-01-31 Brian Weinstein <bweinstein@apple.com>

Add a call to the page UI client to determine if a plug-in should load
https://bugs.webkit.org/show_bug.cgi?id=108407
<rdar://problem/13066332>

Source/WebKit2:

Reviewed by Anders Carlsson.

This patch adds a client call to the WKPageUIClient to be called to determine
whether or not a plug-in should load.

  • UIProcess/API/C/WKPage.h: Add shouldLoadPlugin.
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath): Moved from WebProcessProxy, and added a call to

m_uiClient.shouldInstantiatePlugin.

  • UIProcess/WebPageProxy.h:
  • UIProcss/WebPageProxy.messages.in: Moved GetPluginPath from WebProcessProxy to WebPageProxy.
  • UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::getPluginPath): Moved to WebPageProxy.
  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::shouldInstantiatePlugin): Return that we should load the plug-in if

the client function isn't defined, and call the function if it is.

  • UIProcess/WebUIClient.h:
  • UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateInspectorPage): Add an entry for the new

client function.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Send the message to the WebPageProxy, not the WebProcessProxy. (WebKit::WebPage::canPluginHandleResponse): Made a member function, so it can call sendSync, and

send the message to the WebPageProxy, not the WebProcessProxy.

  • WebProcess/WebPage/WebPage.h:

Tools:

Add entries for the new function in the necessary structs.

Reviewed by Anders Carlsson.

  • MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController awakeFromNib]):
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::createWebViewWithOptions):
6:53 PM Changeset in webkit [144550] by weinig@apple.com
  • 5 edits in trunk/Source/WebKit2

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.

5:45 PM Changeset in webkit [144549] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

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):

4:57 PM Changeset in webkit [144548] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit/win

Export a missing symbol after r144547.

Unreviewed.

  • WebKit.vcproj/WebKitExports.def.in:
4:08 PM Changeset in webkit [144547] by benjamin@webkit.org
  • 47 edits in trunk

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:
3:42 PM Changeset in webkit [144546] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

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.

3:36 PM Changeset in webkit [144545] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit/mac

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.

1:06 PM Changeset in webkit [144544] by eric@webkit.org
  • 4 edits in trunk/Source/WebCore

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):

10:09 AM Changeset in webkit [144543] by eric@webkit.org
  • 2 edits in trunk/Source/WebCore

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):

7:02 AM Changeset in webkit [144542] by rwlbuis@webkit.org
  • 3 edits
    2 adds in trunk

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.
6:39 AM Changeset in webkit [144541] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Unskip some passing tests.

  • platform/efl/TestExpectations: Remove tests that pass after

r140006 and r139217.

4:36 AM Changeset in webkit [144540] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebKit/win

Redo r144538 (after r144530).

  • WebCoreSupport/WebFrameNetworkingContext.cpp:
  • WebCoreSupport/WebFrameNetworkingContext.h:
  • WebCoreSupport/WebPlatformStrategies.cpp:
3:59 AM Changeset in webkit [144539] by tkent@chromium.org
  • 10 edits in branches/chromium/1410

Merge 144352

REGRESSION: INPUT_MULTIPLE_FIELDS_UI: Changing CSS display property on input[type=date] unexpectedly makes another line for ::-webkit-calendar-picker-indicator
https://bugs.webkit.org/show_bug.cgi?id=110974

Reviewed by Kentaro Hara.

Source/WebCore:

Input elements with the multiple fields UI require flexible box
layout.

  • If display:inline or display:inline-block is specified, we replace it with display:inline-flex.
  • If display:block is specified, we replace it with display:flex.
  • If other display value is specified, we use it as is, but it won't wrap inside an input element because we have display:inline-block for ::-webkit-calendar-pixker-indicaotor.

r144184 was incomplete. It avoided the wrapping issue, but it
didn't make spin buttons and calendar arrows right-aligned.

Tests: Update fast/forms/date/date-apparance-basic.html

  • css/html.css:

(input::-webkit-calendar-picker-indicator):
Add display:inline-block in orde to avoid line-wrapping.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::customStyleForRenderer):
Move the code to BaseMultipleFieldsDateAndTimeInputType::customStyleForRenderer.

  • html/InputType.cpp:

(WebCore::InputType::customStyleForRenderer): Added.

  • html/InputType.h:

(InputType): Add customStyleForRenderer, and remove
shouldApplyLocaleDirection.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::customStyleForRenderer):
Moved the code from HTMLInputElement::customStyleForRenderer, and
add display property updatting code.

  • html/BaseMultipleFieldsDateAndTimeInputType.h:

(BaseMultipleFieldsDateAndTimeInputType):
Add customStyleForRenderer, and remove shouldApplyLocaleDirection.

LayoutTests:

  • fast/forms/date/date-appearance-basic-expected.txt:
  • fast/forms/date/date-appearance-basic.html:
  • platform/chromium-mac/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium/TestExpectations:

TBR=tkent@chromium.org
BUG=crbug.com/178175

2:14 AM Changeset in webkit [144538] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebKit/win

Yet another build fix attempt after r144530.

  • WebCoreSupport/WebFrameNetworkingContext.cpp:
  • WebCoreSupport/WebPlatformStrategies.cpp:
1:54 AM Changeset in webkit [144537] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit/win

Another build fix attempt after r144530.

  • WebCoreSupport/WebFrameNetworkingContext.cpp:
1:07 AM Changeset in webkit [144536] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix a typo in my previous commit (r144534).

  • platform/win/PasteboardWin.cpp:
1:02 AM Changeset in webkit [144535] by nayankk@motorola.com
  • 22 edits
    2 copies
    5 adds in trunk

[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.
12:57 AM Changeset in webkit [144534] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Windows build fix attempt after r144530.

  • platform/win/PasteboardWin.cpp:

Mar 1, 2013:

11:52 PM WebKitGTK/WebKit2Roadmap edited by Carlos Garcia Campos
(diff)
11:51 PM WebKitGTK/WebKit2Roadmap edited by Carlos Garcia Campos
Update roadmap (diff)
11:46 PM Changeset in webkit [144533] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Tried to fix the build after r144530.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Include the header for the

base class.

11:00 PM Changeset in webkit [144532] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adding failure expectations for IndexedDB tests

that regressed on platforms using JavaScriptCore with r144517.

10:41 PM Changeset in webkit [144531] by tdanderson@chromium.org
  • 2 edits in trunk/Source/WebCore

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):

10:36 PM Changeset in webkit [144530] by ap@apple.com
  • 208 edits
    7 adds in trunk/Source

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.
10:14 PM Changeset in webkit [144529] by hyatt@apple.com
  • 4 edits
    6 adds in trunk

[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.
9:53 PM Changeset in webkit [144528] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

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().

9:23 PM Changeset in webkit [144527] by loislo@chromium.org
  • 11 edits in trunk

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):

9:18 PM Changeset in webkit [144526] by haraken@chromium.org
  • 9 edits
    2 adds in trunk

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(N2) case in Node::attach().
(See FIXME in Node::attach().)

This patch adds a logic to bail out the loop to avoid the O(N2) 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.
9:17 PM Changeset in webkit [144525] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit/win

Add a missing symbol after r144524.

Unreviewed.

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

  • WebKit.vcproj/WebKitExports.def.in:
9:06 PM Changeset in webkit [144524] by commit-queue@webkit.org
  • 40 edits in trunk

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:
7:44 PM Changeset in webkit [144523] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

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:
6:35 PM Changeset in webkit [144522] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk

Don't leak Documents when using MutationObserver from extensions
https://bugs.webkit.org/show_bug.cgi?id=111234

Patch by Elliott Sprehn <Elliott Sprehn> 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):

5:31 PM Changeset in webkit [144521] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

BUILD FIX: testapi should link to Foundation, not CoreFoundation

link to Foundation.framework instead of CoreFoundation.framework
since it uses NS types.

5:16 PM Changeset in webkit [144520] by betravis@adobe.com
  • 6 edits in trunk/Source/WebCore

[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.

5:08 PM Changeset in webkit [144519] by tdanderson@chromium.org
  • 15 edits
    4 copies
    8 adds in trunk

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.

5:05 PM Changeset in webkit [144518] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[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):

5:04 PM Changeset in webkit [144517] by alecflett@chromium.org
  • 4 edits in trunk/Source/WebCore

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):

5:01 PM Changeset in webkit [144516] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening of AppleWin port.

  • platform/win/TestExpectations:
5:00 PM Changeset in webkit [144515] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit/blackberry

[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.

  1. 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):

4:55 PM Changeset in webkit [144514] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening of AppleWin port.

  • platform/win/TestExpectations:
3:46 PM Changeset in webkit [144513] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening of AppleWin port.

  • platform/win/TestExpectations:
3:22 PM Changeset in webkit [144512] by jamesr@google.com
  • 2 edits in trunk/LayoutTests

[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:
3:05 PM Changeset in webkit [144511] by beidson@apple.com
  • 14 edits in branches/safari-536.29-branch

Merge 143988

2013-02-25 Anders Carlsson <andersca@apple.com>

Source/WebKit2:

Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
https://bugs.webkit.org/show_bug.cgi?id=110821

Reviewed by Beth Dakin.

  • UIProcess/API/C/WKPage.cpp: (WKPageGetPluginInformationPluginspageAttributeURLKey): (WKPageGetPluginInformationPluginURLKey): Add two new API key getters.


  • UIProcess/API/C/WKPage.h: Add a new callback and deprecate the old callback.


  • UIProcess/WebLoaderClient.cpp: (WebKit::WebLoaderClient::didFailToInitializePlugin): (WebKit::WebLoaderClient::didBlockInsecurePluginVersion): (WebKit::WebLoaderClient::pluginLoadPolicy): Make the pluginInformationDictionary a static member function of WebPageProxy so it can be called from WebUIClient as well.


  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath): Pass the bundle version as well.

(WebKit::WebPageProxy::pluginInformationPluginspageAttributeURLKey):
(WebKit::WebPageProxy::pluginInformationPluginURLKey):
Add two new keys.

(WebKit::WebPageProxy::pluginInformationDictionary):
Handle more keys.

(WebKit::WebPageProxy::unavailablePluginButtonClicked):
Get the plug-in bundle identifier and version.

  • UIProcess/WebPageProxy.messages.in: Pass along more information; the frame and page URLs.
  • UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::unavailablePluginButtonClicked): Call the new callback if it's supported.
  • UIProcess/WebUIClient.h: (WebUIClient):
  • UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateInspectorPage): Update for API changes.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::unavailablePluginButtonClicked): Ensure that the pluginspage attribute is a valid URL.

Tools:

Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
https://bugs.webkit.org/show_bug.cgi?id=110821
<rdar://problem/13265303>

Reviewed by Beth Dakin.

Update for WebKit2 changes.

  • MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController awakeFromNib]):
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::unavailablePluginButtonClicked):
  • WebKitTestRunner/TestController.h: (TestController):
2:55 PM Changeset in webkit [144510] by rniwa@webkit.org
  • 4 edits in trunk/Tools

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):

2:53 PM Changeset in webkit [144509] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark more flaky tests related to scrollbar ordering
https://bugs.webkit.org/show_bug.cgi?id=111199

Unreviewed gardening.

  • platform/chromium/TestExpectations:
2:42 PM Changeset in webkit [144508] by vcarbune@chromium.org
  • 4 edits
    2 adds in trunk

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.
2:39 PM Changeset in webkit [144507] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

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.

2:38 PM Changeset in webkit [144506] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/gtk

[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.
2:26 PM Changeset in webkit [144505] by beidson@apple.com
  • 13 edits in branches/safari-536.29-branch

Merge 143976

2013-02-25 Anders Carlsson <andersca@apple.com>

Add a new pluginDidFail callback that takes a WKDictionary of plug-in information
https://bugs.webkit.org/show_bug.cgi?id=110793
<rdar://problem/13265303>

Reviewed by Sam Weinig.

Source/WebKit2:

Add a new pluginDidFail callback that takes a WKDictionaryRef and also pass in the
frame and page URLs.

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebLoaderClient.cpp: (WebKit::pluginInformationDictionary): (WebKit::WebLoaderClient::didFailToInitializePlugin): (WebKit::WebLoaderClient::didBlockInsecurePluginVersion): (WebKit::WebLoaderClient::pluginLoadPolicy):
  • UIProcess/WebLoaderClient.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didFailToInitializePlugin): (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::didFailToInitializePlugin):
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin):

Tools:

Update for WebKit2 API changes.

  • MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController awakeFromNib]):
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::createWebViewWithOptions):
2:22 PM Changeset in webkit [144504] by Chris Fleizach
  • 1 edit
    68 adds in trunk/LayoutTests

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.
2:14 PM Changeset in webkit [144503] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed AppleWin build fix.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):

2:03 PM Changeset in webkit [144502] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/Source/WebCore

[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.
2:02 PM Changeset in webkit [144501] by beidson@apple.com
  • 11 edits in branches/safari-536.29-branch/Source

Merge 143815

2013-02-22 Anders Carlsson <andersca@apple.com>

pluginLoadStrategy should take a WKDictionaryRef for extensibility
https://bugs.webkit.org/show_bug.cgi?id=110656
<rdar://problem/13265303>

Reviewed by Jessie Berlin.

Source/WebCore:

Export a symbol needed by WebKit2.

  • WebCore.exp.in:

Source/WebKit2:

Change pluginLoadStrategy to take a WKDictionaryRef instead of a number of parameters;
this lets us add more plug-in information if needed. Also add the page URL and rename documentURL to frameURL.

  • UIProcess/API/C/WKPage.cpp: (WKPageGetPluginInformationBundleIdentifierKey): (WKPageGetPluginInformationBundleVersionKey): (WKPageGetPluginInformationDisplayNameKey): (WKPageGetPluginInformationFrameURLKey): (WKPageGetPluginInformationMIMETypeKey): (WKPageGetPluginInformationPageURLKey):
  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebLoaderClient.cpp: (WebKit): (WebKit::WebLoaderClient::pluginLoadPolicy):
  • UIProcess/WebLoaderClient.h: (WebLoaderClient):
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath): (WebKit::WebPageProxy::pluginInformationBundleIdentifierKey): (WebKit): (WebKit::WebPageProxy::pluginInformationBundleVersionKey): (WebKit::WebPageProxy::pluginInformationDisplayNameKey): (WebKit::WebPageProxy::pluginInformationFrameURLKey): (WebKit::WebPageProxy::pluginInformationMIMETypeKey): (WebKit::WebPageProxy::pluginInformationPageURLKey):
  • UIProcess/WebPageProxy.h: (WebPageProxy):
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): (WebKit::WebPage::canPluginHandleResponse):
2:02 PM Changeset in webkit [144500] by roger_fong@apple.com
  • 1 edit
    5 adds in trunk/Tools

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.
2:00 PM Changeset in webkit [144499] by ap@apple.com
  • 11 edits
    8 adds in trunk/Source

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.
1:53 PM Changeset in webkit [144498] by eric@webkit.org
  • 19 edits in trunk/Source

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):

1:44 PM Changeset in webkit [144497] by hyatt@apple.com
  • 21 edits
    2 adds in trunk

[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.
1:36 PM Changeset in webkit [144496] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Uncomment ENABLE_SVG guards to avoid having WebKitPluginProcess link
against libWebCoreSVG.la when SVG is disabled.

Rubber-stamped by Gustavo Noronha.

  • GNUmakefile.am:
1:32 PM Changeset in webkit [144495] by weinig@apple.com
  • 15 edits in trunk/Source

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.

1:31 PM Changeset in webkit [144494] by zhajiang@rim.com
  • 4 edits in trunk/Source/WebKit/blackberry

[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):

1:26 PM Changeset in webkit [144493] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Increase number of patches processed before clean building on WinEWS bots.

  • EWSTools/start-queue-win.sh:
1:25 PM Changeset in webkit [144492] by beidson@apple.com
  • 10 edits in branches/safari-536.29-branch

Merge r143790

2013-02-22 Anders Carlsson <andersca@apple.com>

Source/WebKit2:

Move pluginLoadPolicy to the page loader client
https://bugs.webkit.org/show_bug.cgi?id=110635
<rdar://problem/13265303>


Reviewed by Sam Weinig.

Move the pluginLoadPolicy callback to the page loader client where it belongs.

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebLoaderClient.cpp: (WebKit::toWKPluginLoadPolicy): (WebKit): (WebKit::toPluginModuleLoadPolicy): (WebKit::WebLoaderClient::pluginLoadPolicy):
  • UIProcess/WebLoaderClient.h: (WebLoaderClient):
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath):
  • UIProcess/WebUIClient.cpp: (WebKit):
  • UIProcess/WebUIClient.h: (WebUIClient):
  • UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateInspectorPage):

Tools:

Move pluginLoadPolicy to the page loader client
https://bugs.webkit.org/show_bug.cgi?id=110635

Reviewed by Sam Weinig.

  • MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController awakeFromNib]):
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::createWebViewWithOptions):
1:18 PM Changeset in webkit [144491] by bfulgham@webkit.org
  • 3 edits in trunk/Source/WebCore

[Windows] Unreviewed VS2010 build fix.

  • WebCore.vcxproj/WebCore.vcxproj: Add missing TimelineTraceEventProcessor files to the project.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1:18 PM Changeset in webkit [144490] by commit-queue@webkit.org
  • 1 edit
    3 adds in trunk/Source/ThirdParty/ANGLE

[GTK] Add ANGLE to the GTK+ gyp build
https://bugs.webkit.org/show_bug.cgi?id=111128

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

Add files that build an ANGLE static library for GTK+ using gyp.

  • ANGLE.gyp/ANGLE.gyp: Added.
  • ANGLE.gypi: Added.
1:14 PM Changeset in webkit [144489] by mhahnenberg@apple.com
  • 5 edits
    2 deletes in trunk/Source/JavaScriptCore

Objective-C API: Passing JS functions to Objective-C callbacks causes JSValue to leak
https://bugs.webkit.org/show_bug.cgi?id=107836

Reviewed by Oliver Hunt.

We've decided to remove support for this feature from the API because there's no way to automatically manage
the memory for clients in a satisfactory manner. Clients can still pass JS functions to Objective-C methods,
but the methods must accept plain JSValues instead of Objective-C blocks.

We now ignore functions that are part of a protocol that inherits from JSExport that accept blocks as arguments.

  • API/JSBlockAdaptor.h: Removed.
  • API/JSBlockAdaptor.mm: Removed.
  • API/ObjCCallbackFunction.mm:

(ArgumentTypeDelegate::typeBlock): Return nil to signal that we want to ignore this function when copying it
to the object from the protocol.

  • API/tests/testapi.mm: Added a test to make sure that we ignore methods declared as part of a JSExport-ed protocol

that have block arguments.
(-[TestObject bogusCallback:]):

1:07 PM Changeset in webkit [144488] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Improve input bounds clipping for search fields.
https://bugs.webkit.org/show_bug.cgi?id=111204

Reviewed by Rob Buis.

PR 292673.

Use the standardized InputHandler function to get the
bounds of an input field so that search fields are
truncated smaller to account for the X.

Reviewed Internally by Gen Mak.

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::setCaretPosition):

1:02 PM Changeset in webkit [144487] by betravis@adobe.com
  • 7 edits
    2 adds in trunk

[css exclusions] setting shape-inside on a parent does not relayout child blocks' inline content
https://bugs.webkit.org/show_bug.cgi?id=108128

Reviewed by David Hyatt.

Source/WebCore:

Ensure that blocks lay out when their parent's shape-inside changes.
ExclusionShapeInsideInfo now stores an additional flag indicating whether
the shape has changed and its block's children require layout. Each block
can look up the flag via LayoutState to determine whether it needs to lay
out its children.

Test: fast/exclusions/shape-inside/shape-inside-dynamic-nested.html

  • rendering/ExclusionShapeInfo.h:

(WebCore::ExclusionShapeInfo::shapeSizeDirty): Add a method to determine
if the shape has changed.
(ExclusionShapeInfo):

  • rendering/ExclusionShapeInsideInfo.h:

(WebCore::ExclusionShapeInsideInfo::setNeedsLayout): Set the flag indicating
layout is necessary.
(WebCore::ExclusionShapeInsideInfo::needsLayout): Retrieve the layout flag.
(ExclusionShapeInsideInfo):
(WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Initialize
the layout flag.

  • rendering/RenderBlock.cpp:

(WebCore::exclusionInfoRequiresRelayout): Return true if the shape info should
cause a relayout. Also update the needsLayout flag on the ExclusionShapeInsideInfo.
(WebCore):
(WebCore::RenderBlock::updateRegionsAndExclusionsLogicalSize): Return a boolean
indicating whether regions or exclusions updates should cause a relayout.
(WebCore::RenderBlock::layoutBlock): Relayout children if the shape inside has
changed.

  • rendering/RenderBlock.h:

(RenderBlock):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Changing to be a
class method.
(WebCore::LineWidth::LineWidth): Changing to use class method.
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
(WebCore::constructBidiRunsForLine): Ditto.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Ditto.
(WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.

LayoutTests:

Test that setting and resetting shape-inside and shape-outside correctly lay out
content inside of child blocks.

  • fast/exclusions/shape-inside/shape-inside-dynamic-nested-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-dynamic-nested.html: Added.
12:57 PM Changeset in webkit [144486] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG Branch(LogicalNot) peephole should not try to optimize and work-around the case where LogicalNot may be otherwise live
https://bugs.webkit.org/show_bug.cgi?id=111209

Reviewed by Oliver Hunt.

Even if it is then everything will work just fine. It's not necessary to check the ref count here.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

12:49 PM Changeset in webkit [144485] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

getComputedStyle not implemented for -webkit-column-rule shorthand
https://bugs.webkit.org/show_bug.cgi?id=111203

Patch by Uday Kiran <udaykiran@motorola.com> on 2013-03-01
Reviewed by Alexis Menard.

Source/WebCore:

Implement getComputedStyle for -webkit-column-rule property.

Test: fast/css/getComputedStyle/getComputedStyle-column-rule.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

LayoutTests:

Add test to check getComputedStyle for -webkit-column-rule.

  • fast/css/getComputedStyle/getComputedStyle-column-rule-expected.txt: Added.
  • fast/css/getComputedStyle/getComputedStyle-column-rule.html: Added.
12:46 PM Changeset in webkit [144484] by hyatt@apple.com
  • 6 edits in trunk/Source/WebCore

REGRESSION(r144318) 1-7% perf. regression on SVG/SvgHitTesting
https://bugs.webkit.org/show_bug.cgi?id=111117

Make sure the allocated vector has a capacity of 1, since that is
far and away the most common case.

Reviewed by Andreas Kling.

  • rendering/RenderFlowThread.h:

(WebCore):

  • rendering/RenderLayer.h:

(WebCore):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::collectLayerFragments):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderRegion.h:

(WebCore):
(WebCore::RenderRegion::collectLayerFragments):

12:43 PM Changeset in webkit [144483] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Crash at WebCore::SharedBuffer::hasPlatformData writing an image to the pasteboard.
https://bugs.webkit.org/show_bug.cgi?id=111211.
<rdar://problem/8772758>

Reviewed by Ryosuke Niwa.

This is a speculative fix since we don't have a solid repro case.
Adding null check every time we build a SharedBuffer from an NSData
we have obtained manipulating data from the pasteboard.

  • platform/mac/PasteboardMac.mm:

(WebCore::writeFileWrapperAsRTFDAttachment):
(WebCore::Pasteboard::writeImage):

12:42 PM Changeset in webkit [144482] by beidson@apple.com
  • 4 edits
    2 adds in branches/safari-536.29-branch

Merge r142919

2013-02-14 Anders Carlsson <andersca@apple.com>

Add WKContextIsPlugInUpdateAvailable
https://bugs.webkit.org/show_bug.cgi?id=109862
<rdar://problem/13173140>

Reviewed by Sam Weinig.

Source/WebKit2:

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.cpp. (WKContextGetProcessSuppressionEnabled): (WKContextSetProcessSuppressionEnabled): (WKContextIsPlugInUpdateAvailable):
  • WebKit2.xcodeproj/project.pbxproj:

WebKitLibraries:

Roll WebKitSystemInterface DEPS.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMountainLion.a:
12:40 PM Changeset in webkit [144481] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG CSE phase shouldn't rely on ref count of nodes, since it doesn't have to
https://bugs.webkit.org/show_bug.cgi?id=111205

Reviewed by Oliver Hunt.

I don't understand the intuition behind setLocalStoreElimination() validating that the SetLocal's ref count
is 1. I believe this is a hold-over from when setLocalStoreElimination() would match one SetLocal to another,
and then try to eliminate the first SetLocal. But that's not how it works now. Now, setLocalStoreElimination()
is actually Flush elimination: it eliminates any Flush that anchors a SetLocal if it proves that every path
from the SetLocal to the Flush is devoid of operations that may observe the local. It doesn't actually kill
the SetLocal itself: if the SetLocal is live because of other things (other Flushes or GetLocals in other
basic blocks), then the SetLocal will naturally still be alive because th Flush was only keeping the SetLocal
alive by one count rather than being solely responsible for its liveness.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::eliminate):
(JSC::DFG::CSEPhase::performNodeCSE):

12:32 PM Changeset in webkit [144480] by Lucas Forschler
  • 18 edits in tags/Safari-537.31.12/Source

Merged r144397. <rdar://problem/13291412>

12:26 PM Changeset in webkit [144479] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Crash at WebCore::SharedBuffer::hasPlatformData during paste.
https://bugs.webkit.org/show_bug.cgi?id=111207.
<rdar://problem/13024528>

Reviewed by Ryosuke Niwa.

This is a speculative fix since we don't have a solid repro case.
Adding null check every time we get a SharedBuffer from the pasteboard.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::plainText):
(WebCore::documentFragmentWithRTF):

12:04 PM Changeset in webkit [144478] by rniwa@webkit.org
  • 5 edits in trunk/Tools

Don't return statistics in PerfTest.run
https://bugs.webkit.org/show_bug.cgi?id=111145

Reviewed by Dirk Pranke.

Simply return a list of values obtained in each iteration from PerfTest.run.
Also simplify various methods as needed.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTestMetric.init): Moved the code to convert 'Time' metric to 'FrameRate' and 'Runs'
as needed from PerfTestsRunner._generate_results_dict.

(PerfTestMetric.legacy_chromium_bot_compatible_test_name): Always append the metric name now
that we don't have to worry about the backward compatibility here.

(PerfTestMetric.iteration_values): Added.
(PerfTestMetric.unit): Added.
(PerfTestMetric.metric_to_unit):
(PerfTestMetric.time_unit_to_metric): Extracted from PerfTestsRunner._generate_results_dict.

(PerfTest.run):
(PerfTest.log_statistics): Merged compute_statistics and self.output_statistics.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTestMetric.test_init_set_missing_unit):
(TestPerfTestMetric.test_init_set_time_metric): Added.
(TestPerfTestMetric.test_legacy_chromium_bot_compatible_test_name):
(TestPerfTestMetric.test_append):
(TestPerfTestMetric.test_compute_statistics): Removed. Integration tests check some of these
test cases and it's not critical to keep math right as they're not used in output JSON anymore.
(TestPerfTest._assert_results_are_correct):
(TestReplayPerfTest.test_run_with_driver_accumulates_results):
(TestReplayPerfTest.test_run_with_driver_accumulates_memory_results):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._generate_results_dict):

  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:

(EventTargetWrapperTestData): The metric name shows up at the end of the test name as expected.
(SomeParserTestData): Ditto.
(MemoryTestData): Ditto.

11:51 AM Changeset in webkit [144477] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Rename MovHint to MovHintEvent so I can create a NodeType called MovHint

Rubber stamped by Mark Hahnenberg.

This is similar to the SetLocal/SetLocalEvent naming scheme, where SetLocal is the
NodeType and SetLocalEvent is the VariableEventKind.

  • dfg/DFGVariableEvent.cpp:

(JSC::DFG::VariableEvent::dump):

  • dfg/DFGVariableEvent.h:

(JSC::DFG::VariableEvent::movHint):
(JSC::DFG::VariableEvent::id):
(JSC::DFG::VariableEvent::operand):
(VariableEvent):

  • dfg/DFGVariableEventStream.cpp:

(JSC::DFG::VariableEventStream::reconstruct):

11:23 AM Changeset in webkit [144476] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark rtl-iframe-absolute-overflow-scrolled as flaky.
https://bugs.webkit.org/show_bug.cgi?id=111199

Unreviewed gardening.

  • platform/chromium/TestExpectations:
11:17 AM Changeset in webkit [144475] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix for builds with BLOB disabled. This fixes it for me on Mac at least.

  • platform/network/BlobRegistryImpl.cpp:
11:13 AM Changeset in webkit [144474] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Session cookies should not be persistent.
https://bugs.webkit.org/show_bug.cgi?id=111060

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-03-01
Reviewed by Brent Fulgham.

Curl saves both persistent cookies, and session cookies to the cookie file.
The session cookies should be deleted before starting a new session.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::ResourceHandleManager): Call method to initialize cookie session.
(WebCore::ResourceHandleManager::initCookieSession): Added method to initialize cookie session.

  • platform/network/curl/ResourceHandleManager.h: Added method to initialize cookie session.
11:04 AM Changeset in webkit [144473] by beidson@apple.com
  • 8 edits in branches/safari-536.29-branch/Source/WebKit2

Merge r142017

2013-02-06 Anders Carlsson <andersca@apple.com>

Pass the document source URL to the pluginLoadPolicy callback
https://bugs.webkit.org/show_bug.cgi?id=109084
<rdar://problem/13154516>

Reviewed by Andreas Kling.

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath):
  • UIProcess/WebPageProxy.h: (WebPageProxy):
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::pluginLoadPolicy):
  • UIProcess/WebUIClient.h: (WebUIClient):
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): (WebKit::WebPage::canPluginHandleResponse):
10:53 AM Changeset in webkit [144472] by beidson@apple.com
  • 5 edits in branches/safari-536.29-branch/Source/WebKit2

Merge r141923

2013-02-05 Anders Carlsson <andersca@apple.com>

WebKit clients should be able to override loading of blocked plug-ins
https://bugs.webkit.org/show_bug.cgi?id=108968
<rdar://problem/13154516>

Reviewed by Sam Weinig.

Replace the shouldInstantiatePlugin callback with a new pluginLoadPolicy which is called regardless
of whether the plug-in is blocked or not. This lets clients override the plug-in load policy and
force loading of blacklisted plug-ins (and vice versa).

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath):
  • UIProcess/WebUIClient.cpp: (WebKit::toWKPluginLoadPolicy): (WebKit): (WebKit::toPluginModuleLoadPolicy): (WebKit::WebUIClient::pluginLoadPolicy):
  • UIProcess/WebUIClient.h: (WebUIClient):
10:32 AM Changeset in webkit [144471] by Lucas Forschler
  • 4 edits in tags/Safari-537.31.12/Source

Versioning.

10:28 AM Changeset in webkit [144470] by Lucas Forschler
  • 1 copy in tags/Safari-537.31.12

New Tag.

10:11 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
10:10 AM Changeset in webkit [144469] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore

Merge r143973 - Build fix for gtk2-based library.

Reviewed by Martin Robinson.

  • platform/gtk/WidgetRenderingContext.cpp: move gtk2 check to after the config.h

include, which is the one that includes autotoolsconfig.h, where the gtk2 define
lives.

10:07 AM Changeset in webkit [144468] by Carlos Garcia Campos
  • 34 edits in releases/WebKitGTK/webkit-2.0

Merge r143869 - [GTK] GTK+ 2 build broken since GTK_API_VERSION_2 moved to autoconfig.h
https://bugs.webkit.org/show_bug.cgi?id=110702

Reviewed by Martin Robinson.

Source/WebCore:

No tests. Build fix, no behaviour change.

  • platform/gtk/GtkVersioning.h: include the autotoolsconfig.h header,

which contains the GTK_API_VERSION_2 define now.

Source/WebKit/gtk:

  • tests/testapplicationcache.c: include autotoolsconfig.h.
  • tests/testatk.c: ditto.
  • tests/testatkroles.c: ditto.
  • tests/testcontextmenu.c: ditto.
  • tests/testcopyandpaste.c: ditto.
  • tests/testdomdocument.c: ditto.
  • tests/testdomdomwindow.c: ditto.
  • tests/testdomnode.c: ditto.
  • tests/testdownload.c: ditto.
  • tests/testfavicondatabase.c: ditto.
  • tests/testglobals.c: ditto.
  • tests/testhittestresult.c: ditto.
  • tests/testhttpbackend.c: ditto.
  • tests/testkeyevents.c: ditto.
  • tests/testloading.c: ditto.
  • tests/testmimehandling.c: ditto.
  • tests/testnetworkrequest.c: ditto.
  • tests/testnetworkresponse.c: ditto.
  • tests/testwebbackforwardlist.c: ditto.
  • tests/testwebdatasource.c: ditto.
  • tests/testwebframe.c: ditto.
  • tests/testwebhistoryitem.c: ditto.
  • tests/testwebinspector.c: ditto.
  • tests/testwebplugindatabase.c: ditto.
  • tests/testwebresource.c: ditto.
  • tests/testwebsettings.c: ditto.
  • tests/testwebview.c: ditto.
  • tests/testwindow.c: ditto.

Tools:

  • GtkLauncher/main.c: include autotoolsconfig.h.
  • Scripts/webkitpy/style/checker.py: make GtkLauncher/main.c exempt of

the include ordering check, since it uses autotoolsconfig.h which needs to
come first.

9:57 AM Changeset in webkit [144467] by vsevik@chromium.org
  • 13 edits
    2 adds
    2 deletes in trunk

Web Inspector: Navigator should show tree element for each folder in the source path.
https://bugs.webkit.org/show_bug.cgi?id=108943

Reviewed by Pavel Feldman.

Source/WebCore:

NavigatorView now renders tree element for each folder in uiSourceCode uri.
Merging several folders into one tree elememnt when folder has only one folder as a child is supported.
ScriptsNavigator has horizontal scroll now.
Projects are shown in ScriptsNavigator by their displayName. This allows us to show several root file system folders
with the same name in the navigator (e.g. 'Source/WebCore/inspector' and 'LayoutTests/inspector').

Test: inspector/debugger/navigator-view.html: Renamed from scripts-file-selector.html

  • English.lproj/localizedStrings.js:
  • inspector/front-end/NavigatorView.js:

(WebInspector.NavigatorView):
(WebInspector.NavigatorView.iconClassForType):
(WebInspector.NavigatorView.prototype.addUISourceCode):
(WebInspector.NavigatorView.prototype._getProjectNode):
(WebInspector.NavigatorView.prototype._createProjectNode):
(WebInspector.NavigatorView.prototype._getOrCreateProjectNode):
(WebInspector.NavigatorView.prototype._getFolderNode):
(WebInspector.NavigatorView.prototype._createFolderNode):
(WebInspector.NavigatorView.prototype._getOrCreateFolderNode):
(WebInspector.NavigatorView.prototype._getUISourceCodeParentNode):
(WebInspector.NavigatorView.prototype._getOrCreateUISourceCodeParentNode):
(WebInspector.NavigatorView.prototype.revealUISourceCode):
(WebInspector.NavigatorView.prototype.removeUISourceCode):
(WebInspector.NavigatorView.prototype.rename):
(WebInspector.NavigatorView.prototype.reset):
(.typeWeight):
(WebInspector.NavigatorTreeOutline._treeElementsCompare):
(WebInspector.BaseNavigatorTreeElement):
(WebInspector.BaseNavigatorTreeElement.prototype.type):
(WebInspector.NavigatorFolderTreeElement):
(WebInspector.NavigatorFolderTreeElement.prototype.onpopulate):
(WebInspector.NavigatorFolderTreeElement.prototype.onattach):
(WebInspector.NavigatorSourceTreeElement):
(WebInspector.NavigatorTreeNode):
(WebInspector.NavigatorTreeNode.prototype.treeElement):
(WebInspector.NavigatorTreeNode.prototype.dispose):
(WebInspector.NavigatorTreeNode.prototype.isRoot):
(WebInspector.NavigatorTreeNode.prototype.hasChildren):
(WebInspector.NavigatorTreeNode.prototype.populate):
(WebInspector.NavigatorTreeNode.prototype.wasPopulated):
(WebInspector.NavigatorTreeNode.prototype.didAddChild):
(WebInspector.NavigatorTreeNode.prototype.willRemoveChild):
(WebInspector.NavigatorTreeNode.prototype.isPopulated):
(WebInspector.NavigatorTreeNode.prototype.isEmpty):
(WebInspector.NavigatorTreeNode.prototype.child):
(WebInspector.NavigatorTreeNode.prototype.children):
(WebInspector.NavigatorTreeNode.prototype.appendChild):
(WebInspector.NavigatorTreeNode.prototype.removeChild):
(WebInspector.NavigatorTreeNode.prototype.reset):
(WebInspector.NavigatorRootTreeNode):
(WebInspector.NavigatorRootTreeNode.prototype.isRoot):
(WebInspector.NavigatorRootTreeNode.prototype.treeElement):
(WebInspector.NavigatorRootTreeNode.prototype.wasPopulated):
(WebInspector.NavigatorRootTreeNode.prototype.didAddChild):
(WebInspector.NavigatorRootTreeNode.prototype.willRemoveChild):
(WebInspector.NavigatorUISourceCodeTreeNode):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.treeElement):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.updateTitle):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.hasChildren):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.dispose):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype._titleChanged):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyChanged):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype._workingCopyCommitted):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype._formattedChanged):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.reveal):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.commitHandler):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.cancelHandler):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename.afterEditing):
(WebInspector.NavigatorUISourceCodeTreeNode.prototype.rename):
(WebInspector.NavigatorFolderTreeNode):
(WebInspector.NavigatorFolderTreeNode.prototype.treeElement):
(WebInspector.NavigatorFolderTreeNode.prototype._createTreeElement):
(WebInspector.NavigatorFolderTreeNode.prototype.wasPopulated):
(WebInspector.NavigatorFolderTreeNode.prototype._addChildrenRecursive):
(WebInspector.NavigatorFolderTreeNode.prototype._shouldMerge):
(WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):
(WebInspector.NavigatorFolderTreeNode.prototype.willRemoveChild):

  • inspector/front-end/ScriptsNavigator.js:
  • inspector/front-end/SimpleWorkspaceProvider.js:

(WebInspector.SimpleProjectDelegate.prototype.displayName):

  • inspector/front-end/navigatorView.css:

(.navigator > ol):
(.navigator .base-navigator-tree-element-title):
(.navigator-tabbed-pane .navigator-container):

LayoutTests:

  • http/tests/inspector/debugger-test.js:

(initialize_DebuggerTest.):
(initialize_DebuggerTest):

  • http/tests/inspector/workspace-test.js:

(initialize_WorkspaceTest.InspectorTest.createWorkspace):

  • inspector/debugger/navigator-view-expected.txt: Added.
  • inspector/debugger/navigator-view.html: Added.
  • inspector/debugger/scripts-file-selector-expected.txt: Removed.
  • inspector/debugger/scripts-file-selector.html: Removed.
  • inspector/debugger/scripts-panel-expected.txt:
  • inspector/debugger/scripts-panel.html:
  • inspector/debugger/scripts-sorting-expected.txt:
  • inspector/debugger/scripts-sorting.html:
9:49 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
9:48 AM Changeset in webkit [144466] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.0/LayoutTests

Merge r144045 - REGRESSION (r143931): set-cookie-on-redirect.html breaks subsequent tests
https://bugs.webkit.org/show_bug.cgi?id=110844

Patch by Sergio Villar Senin <svillar@igalia.com> on 2013-02-26
Reviewed by Alexey Proskuryakov.

Clean up cookies at the beginning and after finishing the test in
order not to break other tests behavior.

  • http/tests/cookies/resources/set-cookie-on-redirect.php: clear cookie before returning.
  • http/tests/cookies/set-cookie-on-redirect.html: clear all cookies before starting the test.
9:43 AM Changeset in webkit [144465] by anilsson@rim.com
  • 36 edits
    5 deletes in trunk/Source/WebCore

[BlackBerry] Upstream BlackBerry::Platform::Graphics::GraphicsContext integration related changes in platform/graphics/blackberry
https://bugs.webkit.org/show_bug.cgi?id=111072

Reviewed by Rob Buis.

BlackBerry PR 293208

This patch contains contributions from many members of the BlackBerry
WebKit team:

Rob Buis
Robin Cao
Michael Carmody
Max Feil
Eli Fidler
Antonio Gomes
Jacky Jiang
Mike Lattanzio
Yong Li
Andrew Lo
Maxim Mogilnitsky
Joshua Netterfield
Arvid Nilsson
Jakob Petsovits
Konrad Piascik
Jeff Rogers
Artem Simonov
Filip Spacek
George Staikos
Cosmin Truta

Covered by existing tests.

  • platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:

(WebCore::CanvasLayerWebKitThread::deleteTextures):
(CanvasLayerCompositingThreadClient):
(WebCore::CanvasLayerCompositingThreadClient::layerCompositingThreadDestroyed):
(WebCore::CanvasLayerCompositingThreadClient::layerVisibilityChanged):
(WebCore::CanvasLayerCompositingThreadClient::uploadTexturesIfNeeded):
(WebCore::CanvasLayerCompositingThreadClient::clearBuffer):
(WebCore):
(WebCore::CanvasLayerCompositingThreadClient::CanvasLayerCompositingThreadClient):
(WebCore::CanvasLayerCompositingThreadClient::drawTextures):
(WebCore::CanvasLayerCompositingThreadClient::deleteTextures):
(WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):
(WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
(WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
(WebCore::CanvasLayerWebKitThread::clearBuffer):

  • platform/graphics/blackberry/CanvasLayerWebKitThread.h:

(WebCore):
(WebCore::CanvasLayerWebKitThread::create):
(CanvasLayerWebKitThread):

  • platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:

(WebCore::DisplayRefreshMonitor::displayLinkFired):

  • platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:

(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore):
(WebCore::DrawingBuffer::publishToPlatformLayer):
(WebCore::DrawingBuffer::platformLayer):

  • platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:

(WebCore::EGLImageLayerCompositingThreadClient::~EGLImageLayerCompositingThreadClient):
(WebCore::EGLImageLayerCompositingThreadClient::uploadTexturesIfNeeded):
(WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
(WebCore::EGLImageLayerCompositingThreadClient::deleteTextures):
(WebCore::EGLImageLayerCompositingThreadClient::bindContentsTexture):
(WebCore::EGLImageLayerCompositingThreadClient::setTextureAccessor):

  • platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.h:

(Graphics):
(EGLImageLayerCompositingThreadClient):
(WebCore::EGLImageLayerCompositingThreadClient::EGLImageLayerCompositingThreadClient):

  • platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:

(WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
(WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
(WebCore::EGLImageLayerWebKitThread::updateFrontBuffer):
(WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
(WebCore::EGLImageLayerWebKitThread::commitPendingTextureUploads):
(WebCore::EGLImageLayerWebKitThread::createTextureIfNeeded):
(WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):

  • platform/graphics/blackberry/EGLImageLayerWebKitThread.h:

(Graphics):
(EGLImageLayerWebKitThread):

  • platform/graphics/blackberry/FloatRectBlackBerry.cpp:

(WebCore::FloatRect::normalized):
(WebCore):

  • platform/graphics/blackberry/FontCacheBlackberry.cpp: Removed.
  • platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::paintToCanvas):
(WebCore::GraphicsContext3D::getImageData):
(WebCore):

  • platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:

(WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
(WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
(WebCore::GraphicsLayerBlackBerry::clearBackgroundColor):
(WebCore):
(WebCore::GraphicsLayerBlackBerry::setContentsNeedsDisplay):
(WebCore::GraphicsLayerBlackBerry::setNeedsDisplay):
(WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
(WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
(WebCore::GraphicsLayerBlackBerry::setupContentsLayer):

  • platform/graphics/blackberry/GraphicsLayerBlackBerry.h:

(GraphicsLayerBlackBerry):
(WebCore::GraphicsLayerBlackBerry::notifySyncRequired):

  • platform/graphics/blackberry/ImageBlackBerry.cpp:

(WebCore::ImageFrame::asNewNativeImage):
(WebCore):
(WebCore::FrameData::clear):
(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::checkForSolidColor):
(WebCore::BitmapImage::invalidatePlatformData):
(WebCore::BitmapImage::draw):
(WebCore::Image::drawPattern):

  • platform/graphics/blackberry/InstrumentedPlatformCanvas.h: Removed.
  • platform/graphics/blackberry/LayerCompositingThread.cpp:

(WebCore::LayerCompositingThread::drawTextures):
(WebCore::LayerCompositingThread::drawSurface):
(WebCore::LayerCompositingThread::contentsTexture):
(WebCore::LayerCompositingThread::commitPendingTextureUploads):
(WebCore):

  • platform/graphics/blackberry/LayerCompositingThread.h:

(Graphics):
(LayerCompositingThread):

  • platform/graphics/blackberry/LayerCompositingThreadClient.h:

(Graphics):
(WebCore):
(LayerCompositingThreadClient):
(WebCore::LayerCompositingThreadClient::contentsTexture):
(WebCore::LayerCompositingThreadClient::commitPendingTextureUploads):

  • platform/graphics/blackberry/LayerData.h:

(WebCore::LayerData::LayerData):
(WebCore::LayerData::contentsResolutionIndependent):
(LayerData):
(WebCore::LayerData::layerProgram):
(WebCore::LayerData::isContainerForFixedPositionLayers):
(WebCore::LayerData::isFixedToTop):
(WebCore::LayerData::isFixedToLeft):
(WebCore::LayerData::frameVisibleRect):
(WebCore::LayerData::frameContentsSize):
(WebCore::LayerData::contentsScale):

  • platform/graphics/blackberry/LayerFilterRenderer.cpp:

(WebCore::LayerFilterRendererAction::LayerFilterRendererAction):
(WebCore::LayerFilterRenderer::initializeSharedGLObjects):
(WebCore::LayerFilterRenderer::ping):
(WebCore::LayerFilterRenderer::pong):
(WebCore::LayerFilterRenderer::pushSnapshot):
(WebCore::LayerFilterRenderer::popSnapshot):
(WebCore::LayerFilterRenderer::applyActions):

  • platform/graphics/blackberry/LayerRenderer.cpp:

(WebCore):
(WebCore::LayerRenderer::LayerRenderer):
(WebCore::LayerRenderer::~LayerRenderer):
(WebCore::LayerRenderer::setViewport):
(WebCore::LayerRenderer::compositeLayers):
(WebCore::LayerRenderer::compositeBuffer):
(WebCore::LayerRenderer::drawColor):
(WebCore::LayerRenderer::useSurface):
(WebCore::LayerRenderer::drawLayersOnSurfaces):
(WebCore::glRound):
(WebCore::LayerRenderer::toOpenGLWindowCoordinates):
(WebCore::LayerRenderer::drawDebugBorder):
(WebCore::LayerRenderer::drawHolePunchRect):
(WebCore::LayerRenderer::updateLayersRecursive):
(WebCore::LayerRenderer::compositeLayersRecursive):
(WebCore::LayerRenderer::createProgram):
(WebCore::LayerRenderer::useProgram):
(WebCore::LayerRenderer::useLayerProgram):

  • platform/graphics/blackberry/LayerRenderer.h:

(LayerRenderer):

  • platform/graphics/blackberry/LayerRendererSurface.cpp:

(WebCore::LayerRendererSurface::ensureTexture):

  • platform/graphics/blackberry/LayerTile.cpp:

(WebCore::LayerTile::LayerTile):
(WebCore::LayerTile::setContents):
(WebCore::LayerTile::updateContents):

  • platform/graphics/blackberry/LayerTile.h:

(LayerTile):
(WebCore::LayerTile::renderState):
(WebCore::LayerTile::needsRender):
(WebCore::LayerTile::setNeedsRender):
(WebCore::LayerTile::setRenderPending):
(WebCore::LayerTile::setRenderDone):

  • platform/graphics/blackberry/LayerTileIndex.h:
  • platform/graphics/blackberry/LayerTiler.cpp:

(WebCore):
(WebCore::defaultTileSize):
(WebCore::LayerTiler::LayerTiler):
(WebCore::LayerTiler::updateTextureContentsIfNeeded):
(WebCore::LayerTiler::createBuffer):
(WebCore::LayerTiler::willCommit):
(WebCore::LayerTiler::commitPendingTextureUploads):
(WebCore::LayerTiler::layerVisibilityChanged):
(WebCore::LayerTiler::uploadTexturesIfNeeded):
(WebCore::LayerTiler::processTextureJob):
(WebCore::LayerTiler::addTileJob):
(WebCore::LayerTiler::performTileJob):
(WebCore::LayerTiler::drawTile):
(WebCore::LayerTiler::drawTextures):
(WebCore::LayerTiler::pruneTextures):
(WebCore::LayerTiler::updateTileSize):
(WebCore::LayerTiler::setNeedsBacking):
(WebCore::LayerTiler::contentsTexture):

  • platform/graphics/blackberry/LayerTiler.h:

(WebCore::LayerTiler::tileSize):
(LayerTiler):
(WebCore::LayerTiler::TextureJob::TextureJob):
(WebCore::LayerTiler::TextureJob::setContents):
(WebCore::LayerTiler::TextureJob::updateContents):
(TextureJob):
(WebCore::LayerTiler::needsRender):
(WebCore::LayerTiler::removeUpdateContentsJobs):

  • platform/graphics/blackberry/LayerWebKitThread.cpp:

(WebCore::LayerWebKitThread::LayerWebKitThread):
(WebCore::LayerWebKitThread::~LayerWebKitThread):
(WebCore::LayerWebKitThread::paintContents):
(WebCore::LayerWebKitThread::commitPendingTextureUploads):
(WebCore::LayerWebKitThread::setContents):
(WebCore::LayerWebKitThread::setNeedsCommit):
(WebCore::LayerWebKitThread::notifyAnimationsStarted):
(WebCore::LayerWebKitThread::commitOnWebKitThread):
(WebCore::LayerWebKitThread::startAnimations):
(WebCore::LayerWebKitThread::updateTextureContents):
(WebCore::LayerWebKitThread::commitOnCompositingThread):
(WebCore::LayerWebKitThread::addSublayer):
(WebCore):
(WebCore::LayerWebKitThread::addOverlay):
(WebCore::LayerWebKitThread::insert):
(WebCore::LayerWebKitThread::removeFromSuperlayer):
(WebCore::LayerWebKitThread::removeSublayerOrOverlay):
(WebCore::LayerWebKitThread::remove):
(WebCore::LayerWebKitThread::replaceSublayer):
(WebCore::LayerWebKitThread::filtersCanBeComposited):
(WebCore::LayerWebKitThread::removeAll):
(WebCore::LayerWebKitThread::setSublayers):
(WebCore::LayerWebKitThread::updateLayerHierarchy):
(WebCore::LayerWebKitThread::setIsMask):
(WebCore::LayerWebKitThread::releaseLayerResources):

  • platform/graphics/blackberry/LayerWebKitThread.h:

(WebCore::LayerWebKitThread::insertSublayer):
(LayerWebKitThread):
(WebCore::LayerWebKitThread::isMask):
(WebCore::LayerWebKitThread::removeAllSublayers):
(WebCore::LayerWebKitThread::setFixedPosition):
(WebCore::LayerWebKitThread::setIsContainerForFixedPositionLayers):
(WebCore::LayerWebKitThread::setFixedToTop):
(WebCore::LayerWebKitThread::setFixedToLeft):
(WebCore::LayerWebKitThread::setFrameVisibleRect):
(WebCore::LayerWebKitThread::setFrameContentsSize):
(WebCore::LayerWebKitThread::setLayerProgram):

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::play):
(WebCore::MediaPlayerPrivate::supportsFullscreen):
(WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivate::prepareForRendering):
(WebCore):
(WebCore::MediaPlayerPrivate::resizeSourceDimensions):
(WebCore::MediaPlayerPrivate::percentLoaded):
(WebCore::MediaPlayerPrivate::updateStates):
(WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
(WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
(WebCore::MediaPlayerPrivate::notifyChallengeResult):
(WebCore::MediaPlayerPrivate::isProcessingUserGesture):
(WebCore::loadBufferingImageData):
(WebCore::MediaPlayerPrivate::setBuffering):
(WebCore::MediaPlayerPrivate::drawBufferingAnimation):
(WebCore::MediaPlayerPrivate::onConditionallyEnterFullscreen):
(WebCore::MediaPlayerPrivate::onExitFullscreen):
(WebCore::MediaPlayerPrivate::onCreateHolePunchRect):
(WebCore::MediaPlayerPrivate::onDestroyHolePunchRect):

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:

(BlackBerry):
(Platform):
(Graphics):
(MediaPlayerPrivate):

  • platform/graphics/blackberry/PluginLayerWebKitThread.cpp:

(WebCore::PluginLayerWebKitThread::setPluginView):

  • platform/graphics/blackberry/Texture.cpp:

(WebCore::Texture::Texture):
(WebCore::Texture::updateContents):
(WebCore::Texture::setContentsToColor):
(WebCore::Texture::protect):

  • platform/graphics/blackberry/Texture.h:

(Texture):
(WebCore::Texture::textureId):
(WebCore::Texture::isDirty):
(WebCore::Texture::hasTexture):
(WebCore::Texture::sizeInBytes):
(WebCore::Texture::setTextureId):
(WebCore::Texture::setSize):

  • platform/graphics/blackberry/TextureCacheCompositingThread.cpp:

(WebCore::TextureCacheCompositingThread::allocateTextureId):
(WebCore::freeTextureId):
(WebCore::TextureCacheCompositingThread::collectGarbage):
(WebCore::TextureCacheCompositingThread::textureSizeInBytesChanged):
(WebCore):
(WebCore::TextureCacheCompositingThread::textureDestroyed):
(WebCore::TextureCacheCompositingThread::install):
(WebCore::TextureCacheCompositingThread::resizeTexture):
(WebCore::TextureCacheCompositingThread::evict):
(WebCore::TextureCacheCompositingThread::prune):
(WebCore::TextureCacheCompositingThread::clear):
(WebCore::TextureCacheCompositingThread::textureForTiledContents):
(WebCore::TextureCacheCompositingThread::updateContents):

  • platform/graphics/blackberry/TextureCacheCompositingThread.h:

(TextureCacheCompositingThread):
(WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
(ZombieTexture):

  • platform/graphics/blackberry/skia/ImageBufferDataSkia.h: Removed.
  • platform/graphics/blackberry/skia/PlatformSupport.cpp: Removed.
  • platform/graphics/blackberry/skia/PlatformSupport.h: Removed.
9:30 AM Changeset in webkit [144464] by jocelyn.turcotte@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt] Fix the Mac build with the current qtbase/dev branch
https://bugs.webkit.org/show_bug.cgi?id=111190

Reviewed by Allan Sandfeld Jensen.

QMAKE_MACOSX_DEPLOYMENT_TARGET now influences
MAC_OS_X_VERSION_MIN_REQUIRED through -mmacosx-version-min after
changes in qtbase to support iOS.

Having only WebCore defining it to 10.5 would create a mismatch of
ENABLE_THREADING_LIBDISPATCH with WTF to cause undefined symbols
while linking both together at the end.

Fix it by removing the statement which isn't needed anymore.
qtbase/mkspecs/common/mac-minimum-version.conf already defines
10.6 as the minimum Mac version.

  • Target.pri:
9:06 AM Changeset in webkit [144463] by vsevik@chromium.org
  • 7 edits in trunk

Web Inspector: [Regression] Snippets renaming is broken.
https://bugs.webkit.org/show_bug.cgi?id=111181

Reviewed by Alexander Pavlov.

Source/WebCore:

  • inspector/front-end/NavigatorView.js:
  • inspector/front-end/ScriptSnippetModel.js:
  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.set _fileRenamed):

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype.rename):

LayoutTests:

  • inspector/debugger/script-snippet-model.html:
9:04 AM Changeset in webkit [144462] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Fix a misspelled word in RenderObject.h. staticly -> statically.

Reviewed by Dean Jackson.

  • rendering/RenderObject.h:

(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(WebCore::RenderObject::RenderObjectBitfields::isPositioned):

8:58 AM Changeset in webkit [144461] by hyatt@apple.com
  • 9 edits in trunk/Source/WebCore

[New Multicolumn] Change flow thread containment to be a state.
https://bugs.webkit.org/show_bug.cgi?id=111110

Change m_inRenderFlowThread from a single bit to an actual state. This
will let us track whether we're inside a multicolumn (in-flow) flow thread
or a named (out-of-flow) flow thread. In the former case, we're going to have
to do more work to maintain this state, but for now I've kept all the logic
the same just for the initial landing.

Reviewed by Andreas Kling.

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
(WebCore::NodeRenderingContext::createRendererForTextIfNeeded):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::clone):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::RenderFlowThread):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::clone):

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::setFlowThreadStateIncludingDescendants):
(WebCore::RenderObject::removeFromRenderFlowThreadRecursive):

  • rendering/RenderObject.h:

(WebCore::RenderObject::setParent):
(RenderObject):
(WebCore::RenderObject::inRenderFlowThread):
(WebCore::RenderObject::flowThreadState):
(WebCore::RenderObject::setFlowThreadState):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(RenderObjectBitfields):
(WebCore::RenderObject::RenderObjectBitfields::flowThreadState):
(WebCore::RenderObject::RenderObjectBitfields::setFlowThreadState):

  • rendering/RenderView.cpp:

(WebCore::RenderView::addChild):

8:46 AM Changeset in webkit [144460] by jberlin@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix.

Roll out r144431 because it was a build fix for r144422, which was rolled out in r144446.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
8:28 AM Changeset in webkit [144459] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

BUILD FIX (r144358): Add UNUSED_PARAM() macros to WebCore::Extensions3DOpenGL::drawBuffersEXT()
<http://webkit.org/b/109331>

Fixes the following build failures:

Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:218:51: error: unused parameter 'n' [-Werror,-Wunused-parameter]
void Extensions3DOpenGL::drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs)


Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:218:70: error: unused parameter 'bufs' [-Werror,-Wunused-parameter]
void Extensions3DOpenGL::drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs)


2 errors generated.

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::drawBuffersEXT): Add UNUSED_PARAM()
macros.

8:24 AM Changeset in webkit [144458] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[v8] ScriptValue has dangerous copy semantics
https://bugs.webkit.org/show_bug.cgi?id=110206

Patch by Dan Carney <dcarney@google.com> on 2013-03-01
Reviewed by Kentaro Hara.

Update ScriptValue to used a SharedPersistent,
making it impossible to return dead references.

No new tests. No change in functionality.

  • bindings/v8/ScriptValue.cpp:

(WebCore::ScriptValue::serialize):
(WebCore::ScriptValue::getString):
(WebCore::ScriptValue::toString):
(WebCore::ScriptValue::toInspectorValue):

  • bindings/v8/ScriptValue.h:

(WebCore::ScriptValue::ScriptValue):
(WebCore::ScriptValue::operator=):
(WebCore::ScriptValue::operator==):
(WebCore::ScriptValue::isEqual):
(WebCore::ScriptValue::isFunction):
(WebCore::ScriptValue::isNull):
(WebCore::ScriptValue::isUndefined):
(WebCore::ScriptValue::isObject):
(WebCore::ScriptValue::hasNoValue):
(WebCore::ScriptValue::clear):
(ScriptValue):
(WebCore::ScriptValue::v8Value):
(WebCore::ScriptValue::v8ValueRaw):

  • bindings/v8/SharedPersistent.h:
  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:

(WebCore::InjectedScriptHost::scriptValueAsNode):

  • bindings/v8/custom/V8MessageEventCustom.cpp:

(WebCore::V8MessageEvent::dataAttrGetterCustom):

7:49 AM Changeset in webkit [144457] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/TestExpectations: Skipped failing test.
7:47 AM Changeset in webkit [144456] by jchaffraix@webkit.org
  • 3 edits in trunk/Source/WebCore

Add FeatureObserver for marquee and reflection
https://bugs.webkit.org/show_bug.cgi?id=111118

Reviewed by Simon Fraser.

Refactoring covered by existing tests.

  • page/FeatureObserver.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::styleChanged):
Added some instrumentation for reflection and marquee as they are both prefixed and this would help
to know their popularity on the web. Marquee was split between <marquee> (HTMLMarqueeElement) and
overflow: -webkit-marquee (CSSOverflowMarquee).

7:37 AM Changeset in webkit [144455] by apavlov@chromium.org
  • 16 edits in trunk

Web Inspector: Introduce opaque SecurityOrigin string identifiers in the frontend
https://bugs.webkit.org/show_bug.cgi?id=111165

Reviewed by Vsevolod Vlasov.

Source/WebCore:

A plain string security origin value has been replaced by WebInspector.SecurityOrigin all over the code,
containing a URL (which holds a stringified security origin) and an identifier (which is now used
as a key in place of the stringified security origin in various maps). To avoid the ResourceTreeModel
code clutter, the security origin tracking code has been extracted into a separate type,
WebInspector.SecurityOriginTracker, which works as a helper on the ResourceTreeModel.

No new tests, as it is a refactoring.

  • inspector/front-end/DOMStorage.js:

(WebInspector.DOMStorage.storageId):
(WebInspector.DOMStorage.prototype.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.prototype._addFrame):
(WebInspector.ResourceTreeModel.prototype.securityOriginForId):
(WebInspector.ResourceTreeModel.prototype.securityOrigins):
(WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
(WebInspector.ResourceTreeModel.prototype._frameNavigated):
(WebInspector.ResourceTreeModel.prototype._frameDetached):
(WebInspector.ResourceTreeModel.SecurityOriginTracker):
(WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._addSecurityOrigin):
(WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._removeSecurityOrigin):
(WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._bindSecurityOrigin):
(WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._unbindSecurityOrigin):
(WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._detachMainFrame):
(WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._securityOriginForId):
(WebInspector.ResourceTreeModel.SecurityOriginTracker.prototype._securityOrigins):
(WebInspector.ResourceTreeFrame.prototype._navigate):
(WebInspector.SecurityOrigin.prototype.id):
(WebInspector.SecurityOrigin.prototype.url):
(WebInspector.SecurityOrigin.prototype.uiTitle):
(WebInspector.SecurityOrigin.prototype.toProtocol):

  • 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:

Follow the string -> object conversion of the security origin.

  • 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:
7:25 AM Changeset in webkit [144454] by nghanavatian@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Reverse the base and extent of a selection when reversing its handles
https://bugs.webkit.org/show_bug.cgi?id=111098

Reviewed by Yong Li.

PR283969
Swap the base and extent if base does not come first, and set the new selection.

Internally reviewed by Mike Fenton

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::setSelection):

7:15 AM Changeset in webkit [144453] by eustas@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: [Timeline] Show "curtains" when mouse is over CPU bar.
https://bugs.webkit.org/show_bug.cgi?id=108930

Reviewed by Pavel Feldman.

This feature will help developers to focus on events
that caused CPU bar.

  • inspector/front-end/Popover.js: Added "arrowDirection" parameter.
  • inspector/front-end/TimelineGrid.js:

(WebInspector.TimelineGrid): Added "curtains".

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._mouseMove): Show/hide "curtains"
when mouse is over CPU bar.

  • inspector/front-end/timelinePanel.css: Added "curtains" style rules.
7:10 AM Changeset in webkit [144452] by rakuco@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Fix sign comparison warning/error after r144340.
https://bugs.webkit.org/show_bug.cgi?id=111164

Reviewed by Mark Hahnenberg.

gcc (both 4.2.1 and 4.7.2) complain about comparing signed and
unsigned terms (clang accepts it just fine).

Work around that by casting the 1 to an uintptr_t as well.

  • dfg/DFGEdge.h:

(JSC::DFG::Edge::makeWord):

6:47 AM Changeset in webkit [144451] by apavlov@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [Styles] Implement navigation to UI locations of property names/values in the source code
Relanding fixed r144449.
https://bugs.webkit.org/show_bug.cgi?id=105285

Reviewed by Vsevolod Vlasov.

Users can now Ctrl/Cmd-click CSS property names/values whose UI locations are found in
an external stylesheet/sass/other file. Inline stylesheets are not navigable,
since their start position is not detectable inside the surrounding HTML as of yet.

No new tests, a UI change.

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSRule.prototype.isSourceNavigable): Whether the rule contains reliable source code information.
(WebInspector.CSSProperty.prototype.uiLocation): Returns a UILocation for the property name of value.

  • inspector/front-end/StylesSidebarPane.js: Add navigation code.

(WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
(WebInspector.StylePropertiesSection):

6:34 AM Changeset in webkit [144450] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r144449.
http://trac.webkit.org/changeset/144449
https://bugs.webkit.org/show_bug.cgi?id=111175

Breaks style-related inspector tests (Requested by apavlov on
#webkit).

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

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSRule.prototype.get isRegular):
(WebInspector.CSSProperty.prototype.setDisabled):

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
(WebInspector.StylePropertiesSection):
(.event):
(.isRevert):

6:12 AM Changeset in webkit [144449] by apavlov@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [Styles] Implement navigation to UI locations of property names/values in the source code
https://bugs.webkit.org/show_bug.cgi?id=105285

Reviewed by Vsevolod Vlasov.

Users can now Ctrl/Cmd-click CSS property names/values whose UI locations are found in
an external stylesheet/sass/other file. Inline stylesheets are not navigable,
since their start position is not detectable inside the surrounding HTML as of yet.

No new tests, a UI change.

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSRule.prototype.isSourceNavigable): Whether the rule contains reliable source code information.
(WebInspector.CSSProperty.prototype.uiLocation): Returns a UILocation for the property name of value.

  • inspector/front-end/StylesSidebarPane.js: Add navigation code.

(WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
(WebInspector.StylePropertiesSection):

6:02 AM Changeset in webkit [144448] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium gardening, update image expectation again

  • platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:
5:38 AM Changeset in webkit [144447] by commit-queue@webkit.org
  • 4 edits
    2 deletes in trunk

Unreviewed, rolling out r144443.
http://trac.webkit.org/changeset/144443
https://bugs.webkit.org/show_bug.cgi?id=111169

Caused 2 tests to crash by segv on Chromium Mac10.6 (Requested
by toyoshim on #webkit).

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

Source/WebCore:

  • css/mediaControls.css:

(video::-webkit-media-text-track-display):

  • rendering/RenderTextTrackCue.cpp:

(WebCore::RenderTextTrackCue::isOutside):
(WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet):

LayoutTests:

  • media/track/track-cue-rendering-with-padding-expected.txt: Removed.
  • media/track/track-cue-rendering-with-padding.html: Removed.
5:30 AM Changeset in webkit [144446] by commit-queue@webkit.org
  • 208 edits
    7 deletes in trunk/Source

Unreviewed, rolling out r144422 and r144424.
http://trac.webkit.org/changeset/144422
http://trac.webkit.org/changeset/144424
https://bugs.webkit.org/show_bug.cgi?id=111167

Caused over 20 tests to fail assertion on Chromium Win port as
ASSERTION FAILED: m_platformRequestUpdated (Requested by
toyoshim on #webkit).

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

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:
  • 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:
  • loader/MainResourceLoader.cpp:
  • loader/MainResourceLoader.h:
  • 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:
  • 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:
  • loader/cache/CachedResourceHandle.h:

(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::CachedSVGDocumentReference::CachedSVGDocumentReference):
(WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):

  • loader/cache/CachedStyleSheetClient.h:
  • loader/cache/MemoryCache.cpp:
  • 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/DragController.cpp:
  • page/Frame.cpp:

(WebCore::Frame::Frame):
(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:
  • platform/graphics/filters/FilterOperation.h:

(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):

  • 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:
  • 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:
  • 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:
4:59 AM Changeset in webkit [144445] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium gardening, cleanup lint errors #2
Remove duplicated entries.

  • platform/chromium/TestExpectations:
4:57 AM Changeset in webkit [144444] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: fix closure compiler warnings in ProfilesPanel
https://bugs.webkit.org/show_bug.cgi?id=111163

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-01
Reviewed by Vsevolod Vlasov.

  • inspector/front-end/ProfileLauncherView.js:

(WebInspector.ProfileLauncherView.prototype.addProfileType):

  • inspector/front-end/ProfilesPanel.js:
4:32 AM Changeset in webkit [144443] by vcarbune@chromium.org
  • 4 edits
    2 adds in trunk

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.

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.
4:26 AM Changeset in webkit [144442] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium gardening

  • platform/chromium/TestExpectations:
4:17 AM Changeset in webkit [144441] by allan.jensen@digia.com
  • 4 edits in trunk

[Qt] Enable LINK_PREFETCH
https://bugs.webkit.org/show_bug.cgi?id=111158

Reviewed by Simon Hausmann.

Tools:

  • qmake/mkspecs/features/features.pri:

LayoutTests:

Unskip tests depending on LINK_PREFETCH.

  • platform/qt/TestExpectations:
4:13 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
4:05 AM Changeset in webkit [144440] by abecsi@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] Fix failing API tests after r143935
https://bugs.webkit.org/show_bug.cgi?id=111086

Reviewed by Jocelyn Turcotte.

Convert a leftorver resume call to the new resumeAndUpdateContent() call
in PageViewportControllerClientQt so that the notifications about zoom
animation state changes reach the API tests.

  • UIProcess/qt/PageViewportControllerClientQt.cpp:

(WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):

4:04 AM Changeset in webkit [144439] by eustas@chromium.org
  • 7 edits in trunk

Web Inspector: Save/load timeline should preserve DOMContentLoaded and Load event markers
https://bugs.webkit.org/show_bug.cgi?id=110819

Reviewed by Pavel Feldman.

To create event divider TimelinePresentation model checks if record
frame is main frame. With this patch check is moved to backend and
result is saved in record to avoid incoherence.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
Record "isMainFrame" flag.
(WebCore::InspectorTimelineAgent::didMarkLoadEvent): Ditto.

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createMarkData):
Added data object constructor.

  • inspector/TimelineRecordFactory.h: Ditto.
  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.isEventDivider):
Use saved flag value instead of comparing with "current" main frame.

4:01 AM Changeset in webkit [144438] by allan.jensen@digia.com
  • 2 edits in trunk/Tools

[Qt] Update features.pri with new features
https://bugs.webkit.org/show_bug.cgi?id=111157

Reviewed by Jocelyn Turcotte.

  • qmake/mkspecs/features/features.pri:
3:46 AM Changeset in webkit [144437] by eustas@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [DataGrid] Columns are misaligned after rows being refreshed.
https://bugs.webkit.org/show_bug.cgi?id=111077

Reviewed by Pavel Feldman.

Analysis: DataGridNode.refresh removes all cells and then recreates them.
The issue is that mandatory "corner" cell is not recreated.

  • inspector/front-end/DataGrid.js:

(WebInspector.DataGridNode.prototype.refresh):
Added "corner" cell restoration code.

3:39 AM Changeset in webkit [144436] by g.czajkowski@samsung.com
  • 20 edits
    2 adds in trunk/Source/WebKit2

[WK2] Asynchronous spell checking implementation
https://bugs.webkit.org/show_bug.cgi?id=109577

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com>, Mariusz Grzegorczyk <mariusz.g@samsung.com> on 2013-03-01
Reviewed by Enrica Casucci.

Associate the abstract 'WebCore::TextCheckingRequest' object with the unique identifier
on WebProcess side. The request data from the 'TextCheckingRequest' are retrieved and
passed to the UIProcess. The WK2 client (TextChecker{Gtk/Mac/Efl/Qt}.cpp) gets
the 'TextCheckerCompletion' object with the request data and possibility to notify
the WebProcess about the spelling results.
Finally, the WebPage object calls on the proper 'TextCheckingRequest' object
didSuccess/didCancel method to notify the WebCore about the spelling result.

  • CMakeLists.txt:
  • GNUmakefile.list.am:

Add 'TextCheckerCompletion.{h/cpp}' to the WebKit2 cmake based and
WK2-Gtk+ builds.

  • Scripts/webkit2/messages.py:

(headers_for_type):
Add exception for 'TextCheckingRequestData' class to properly find header
file for it.

  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:

Teach 'ArgumentCoder' how to encode/decode 'TextCheckingRequestData' class.

  • Target.pri:

Add 'TextCheckerCompletion.{h/cpp}' to the WK2-Qt build.

  • UIProcess/TextChecker.h:

Add 'requestCheckingOfString' method to the TextChecker's interface.

  • UIProcess/TextCheckerCompletion.cpp: Added.

(WebKit::TextCheckerCompletion::create):
(WebKit::TextCheckerCompletion::TextCheckerCompletion):

(WebKit::TextCheckerCompletion::spellDocumentTag):
Return the WebPageProxy's spellDocumentTag as the client might be
interested in from which page the request came.

(WebKit::TextCheckerCompletion::textCheckingRequestData):
Allow to retrieve 'TextCheckingRequestData' object.

(WebKit::TextCheckerCompletion::didFinishCheckingText):
(WebKit::TextCheckerCompletion::didCancelCheckingText):
Notify the 'WebPageProxy' object that the given request has been
handled or canceled.

  • UIProcess/TextCheckerCompletion.h: Added.

Introduce a new class for WK2 to retrieve the request data and
call didFinishCheckingText/didCancelCheckingText.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestCheckingOfString):
Create 'TextCheckerCompletion' object and pass it
to the 'TextChecker::requestCheckingOfString' method.

(WebKit::WebPageProxy::didFinishCheckingText):
(WebKit::WebPageProxy::didCancelCheckingText):
Send the messages to WebProcess that the given request has been
handled or canceled.

  • UIProcess/WebPageProxy.h:

(WebPageProxy):
Add public declarations for 'didFinishCheckingText', 'didCancelCheckingText'.
Add private declarations for 'requestCheckingOfString'.
Move the 'spellDocumentTag()' method to to the public section to be
accessible from 'TextCheckerCompletion' class.

  • UIProcess/WebPageProxy.messages.in:

A new entry for 'RequestCheckingOfString'.

  • UIProcess/efl/TextCheckerEfl.cpp:

(WebKit::TextChecker::requestCheckingOfString):
(WebKit):

  • UIProcess/gtk/TextCheckerGtk.cpp:

(WebKit::TextChecker::requestCheckingOfString):
(WebKit):

  • UIProcess/mac/TextCheckerMac.mm:

(WebKit::TextChecker::requestCheckingOfString):
(WebKit):

  • UIProcess/qt/TextCheckerQt.cpp:

(WebKit::TextChecker::requestCheckingOfString):
(WebKit):
Add dummy implementations for 'requestCheckingOfString'.

  • WebKit2.xcodeproj/project.pbxproj:

Add 'TextCheckerCompletion.{h/cpp} to Mac build.

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::generateTextCheckingRequestID):
Helper function to generate the unique identifier for the abstract
'TextCheckingRequest' object.

(WebKit::WebEditorClient::requestCheckingOfString):
Associate 'TextCheckingRequest' with the unique identifier and add them
to the map object.
Get the request data and send it to the UIProcess.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::addTextCheckingRequest):
Add the identifier and the request to the map object.

(WebKit::WebPage::didFinishCheckingText):
(WebKit::WebPage::didCancelCheckingText):
Call didSucceed/didCancel on the 'TextCheckingRequest' to notify the WebCore
about spellcheking results.
Remove the request from the map object.

  • WebProcess/WebPage/WebPage.h:

Add declarations for 'addTextCheckingRequest', 'didFinishCheckingText' and
'didCancelCheckingText.'

  • WebProcess/WebPage/WebPage.messages.in:

Add a new entry for DidFinishCheckingText, DidCancelCheckingText.

3:36 AM Changeset in webkit [144435] by vsevik@chromium.org
  • 4 edits in trunk/LayoutTests

Flaky test: http/tests/inspector/resource-tree/resource-request-content-while-loading.html
https://bugs.webkit.org/show_bug.cgi?id=111123

Reviewed by Alexander Pavlov.

  • TestExpectations:
  • http/tests/inspector/resource-tree/resource-request-content-while-loading.html:
  • platform/chromium/TestExpectations:
2:33 AM Changeset in webkit [144434] by apavlov@chromium.org
  • 18 edits
    5 adds in trunk

Web Inspector: Selector's raw start position in its line is considered to be 0 when computing UILocation
https://bugs.webkit.org/show_bug.cgi?id=110732

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Test: inspector/styles/selector-line.html

  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::sizetExtractor): Utility for binary search.
(WebCore::ContentSearchUtils::textPositionFromOffset): Converts absolute raw text offset into line:column.
(WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines): Refactor.
(WebCore::ContentSearchUtils::lineEndings): Factored out of getRegularExpressionMatchesByLines.
(WebCore::ContentSearchUtils::buildObjectForSearchMatch): Drive-by: pass String by reference.

  • inspector/ContentSearchUtils.h:
  • inspector/Inspector.json: Use line:column for SourceRange boundaries rather than raw offsets.
  • inspector/InspectorStyleSheet.cpp:

(ParsedStyleSheet::text): ASSERT(m_hasText).
(WebCore::InspectorStyle::buildObjectForStyle): Supply the lineEndings argument.
(WebCore::buildSourceRangeObject): Follow the protocol change.
(WebCore::InspectorStyle::setPropertyText): Refactor.
(WebCore::InspectorStyle::toggleProperty): Ditto.
(WebCore::InspectorStyle::styleText): Ditto.
(WebCore::InspectorStyle::populateAllProperties): Ditto.
(WebCore::InspectorStyle::styleWithProperties): Convert relative property range offsets into absolute ones.
(WebCore::InspectorStyle::extractSourceData): Factored out.
(WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): Supply the lineEndings argument.
(WebCore::InspectorStyleSheet::buildObjectForSelectorList): Ditto.
(WebCore::InspectorStyleSheet::lineEndings): Compute line endings for ordinary stylesheets.
(WebCore::InspectorStyleSheetForInlineStyle::lineEndings): Ditto for bogus inline style stylesheets.

  • inspector/InspectorStyleSheet.h:
  • inspector/front-end/AuditRules.js: Removed the byte counting for unused CSS.
  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSRule): Set selector rawLocation based on the selectorList range or sourceLine.
(WebInspector.CSSRule.prototype._setRawLocation): Added.

  • inspector/front-end/SASSSourceMapping.js:

(WebInspector.SASSSourceMapping.prototype._bindUISourceCode): Fix call order when binding scss sourcecodes.

LayoutTests:

Changed tests have been rebaselined to follow the new source range structure.

  • http/tests/inspector/elements-test.js:

(initialize_ElementTest.InspectorTest.rangeText): Fix source range dumping format.

  • inspector/audits/audits-panel-functional-expected.txt:
  • inspector/audits/audits-panel-noimages-functional-expected.txt:
  • inspector/styles/get-set-stylesheet-text-expected.txt:
  • inspector/styles/parse-stylesheet-errors-expected.txt:
  • inspector/styles/resources/selector-line.css: Added.
  • inspector/styles/resources/selector-line.css.map: Added.
  • inspector/styles/resources/selector-line.scss: Added.
  • inspector/styles/selector-line-expected.txt: Added.
  • inspector/styles/selector-line.html: Added.
  • inspector/styles/styles-new-API-expected.txt:
  • inspector/styles/styles-source-offsets-expected.txt:
  • inspector/styles/styles-source-offsets.html:
2:19 AM Changeset in webkit [144433] by jochen@chromium.org
  • 2 edits in trunk/Tools

[chromium] put WebTestProxy::scheduleComposite back in place
https://bugs.webkit.org/show_bug.cgi?id=111146

Reviewed by Nico Weber.

The call was removed in http://trac.webkit.org/changeset/144398 because
DRT doesn't need it. However, content shell depends on this call.

  • DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:

(WebTestRunner::WebTestProxy::scheduleComposite):

2:13 AM Changeset in webkit [144432] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Get rid of two silly static null Strings
https://bugs.webkit.org/show_bug.cgi?id=111151

Reviewed by Eric Seidel.

We have a global null String through nullAtom, there is no need
for local static null strings.

  • page/Page.cpp:

(WebCore::Page::groupName):

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::markerText):

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

Build fix.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Add a missing #include.
1:45 AM Changeset in webkit [144430] by mkwst@chromium.org
  • 5 edits
    1 add in trunk/LayoutTests

[Mac] [WK1] http/tests/xmlhttprequest/navigation-should-abort.html fails
https://bugs.webkit.org/show_bug.cgi?id=111052

Reviewed by Alexey Proskuryakov.

Currently, this test is failing to output the textual content of the
'data:' URL to which the test navigates. Replacing this 'data:' URL
with a "real" HTML file ensures that Mac WK1 behaves the same way as
the other ports for this test.

This doesn't really address the issue raised: navigation to a 'data:'
URL should behave in the same way as a "real" URL; filed
http://wkbug.com/111152 to track that issue.

  • http/tests/xmlhttprequest/resources/navigation-target.html: Added.

Add an actual file to which we can navigate.

  • http/tests/xmlhttprequest/navigation-should-abort-expected.txt:
  • http/tests/xmlhttprequest/navigation-should-abort.html:

Navigate to the new HTML file during the test rather than an inlined
data: URL.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:

Remove the expectations set in r144277.

1:44 AM Changeset in webkit [144429] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk-wk1/TestExpectations: Removing expectation for the fast/canvas/canvas-currentPath-crash.html test.
  • platform/gtk/media/video-playing-and-pause-expected.txt: Rebaselining.
1:37 AM Changeset in webkit [144428] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: fix code-mirror experiment to work in debug mode
https://bugs.webkit.org/show_bug.cgi?id=111064

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

No new tests: no change in behaviour.

Improve importScript function to try load a script from the root
directory iff its loading from the given path failed.

  • inspector/front-end/utilities.js:
1:18 AM Changeset in webkit [144427] by aandrey@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Canvas] capture a WebGL extension by it's name in lower case
https://bugs.webkit.org/show_bug.cgi?id=110745

Reviewed by Pavel Feldman.

WebGL's getExtension accepts a name that is tested against an ASCII case-insensitive match.
Just force lower case for extension names.

  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

1:07 AM Changeset in webkit [144426] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

Fix definition of DatePickerClient::setValue()
https://bugs.webkit.org/show_bug.cgi?id=110336

Patch by Alberto Garcia <albgarcia@rim.com> on 2013-03-01
Reviewed by Carlos Garcia Campos.

The definition of DatePickerClient::setValue() introduced in
r142987 does not match the prototype.

  • WebCoreSupport/DatePickerClient.cpp:

(WebCore::DatePickerClient::setValue):

12:47 AM Changeset in webkit [144425] by mkwst@chromium.org
  • 2 edits in trunk/Source/WebCore

XSSAuditor should use threadSafeMatch when relevant.
https://bugs.webkit.org/show_bug.cgi?id=111099

Reviewed by Adam Barth.

Given the work on breaking parsing out into a background thread, we
should compare QualifiedNames in a thread-safe manner. Rather than
casting the result of QualifiedName::localName to a String, we can
call out to threadSafeMatch to do the comparison.

This patch leaves one use of equalIgnoringNullity in
XSSAuditor::findAttributeWithName. That usage seems safe, since we're
creating a new string against which to compare.

  • html/parser/XSSAuditor.cpp:

(WebCore::hasName):

Replace call to equalIgnoringNullity(Vector<UChar...>, String)
with threadSafeMatch(String, QualifiedName).

12:23 AM Changeset in webkit [144424] by jochen@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

REGRESSION(r144422): Broke compilation on chromium-mac
https://bugs.webkit.org/show_bug.cgi?id=111150

Unreviewed build fix.

  • src/WebFrameImpl.h:

(WebCore):

Feb 28, 2013:

11:48 PM Changeset in webkit [144423] by keishi@webkit.org
  • 2 edits in trunk/Source/WebCore

Add calendar table view for the new calendar picker
https://bugs.webkit.org/show_bug.cgi?id=110970

Reviewed by Kent Tamura.

The calendar table that will be used in the new calendar picker (Bug 109439).

No new tests. Code is not used yet.

  • Resources/pagepopups/calendarPicker.js:

(DayCell): Cell which represents one day in the calendar.
(DayCell.recycleOrCreate):
(DayCell.prototype._recycleBin):
(DayCell.prototype.throwAway):
(DayCell.prototype.setHighlighted): Sets the highlighted class on the element.
(DayCell.prototype.setDisabled): Sets the disabled class on the element.
(DayCell.prototype.setIsInCurrentMonth): Sets the current-month class on the element.
(DayCell.prototype.setIsToday): Sets the today class on the element.
(DayCell.prototype.reset): Resets the day cell to be reused.
(WeekNumberCell): Cell used for the week number column.
(WeekNumberCell.prototype._recycleBin):
(WeekNumberCell.recycleOrCreate):
(WeekNumberCell.prototype.reset):
(WeekNumberCell.prototype.throwAway):
(WeekNumberCell.prototype.setHighlighted): Sets the highlighted class on the element.
(WeekNumberCell.prototype.setDisabled): Sets the disabled class on the element.
(CalendarTableHeaderView): Header for the calendar table. Contains the column labels.
(CalendarRowCell): Row containing day cells and maybe a week number cell.
(CalendarRowCell.prototype._recycleBin):
(CalendarRowCell.prototype.reset):
(CalendarRowCell.prototype.throwAway):
(CalendarTableView): A list view showing a grid of days.
(CalendarTableView.prototype.rowAtScrollOffset): Returns the row number currently at the scroll offset.
(CalendarTableView.prototype.scrollOffsetForRow): Returns the current scroll offset for the given row.
(CalendarTableView.prototype.onClick): If the click is on a DayCell or WeekNumberCell, select the appropriate date range.
(CalendarTableView.prototype.onMouseOver): If the click is on a DayCell or WeekNumberCell, highlight the appropriate date range.
(CalendarTableView.prototype.onMouseOut):
(CalendarTableView.prototype.prepareNewCell): Prepares a new row cell by recycling or creating a new one.
(CalendarTableView.prototype.height): Returns the height of the view in pixels.
(CalendarTableView.prototype.setHeight): Sets the height of the view in pixels.
(CalendarTableView.prototype.scrollToMonth): Scrolls to reveal the given month.
(CalendarTableView.prototype.dayAtColumnAndRow): Day at a given column and row. Column number doesn't count week number column.
(CalendarTableView.prototype.columnAndRowForDay): Column and row for the given day.
(CalendarTableView.prototype.updateCells): Update the position and appearance of the cell.s
(CalendarTableView.prototype.prepareNewDayCell): Prepares a new day cell. The cell is registered to this._dayCells.
(CalendarTableView.prototype.prepareNewWeekNumberCell): Prepares a new week number cell. The cell is registered to this._weekNumberCells.
(CalendarTableView.prototype.throwAwayDayCell): The cell is unregistered from this._dayCells.
(CalendarTableView.prototype.throwAwayWeekNumberCell): The cell is unregistered from this._weekNumberCells.

11:26 PM Changeset in webkit [144422] by ap@apple.com
  • 208 edits
    5 copies
    2 adds in trunk/Source

Reduce amount of rebuilding when touching networking headers
https://bugs.webkit.org/show_bug.cgi?id=111035

Reviewed by Eric Seidel.

Source/WebCore:

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.

Source/WebKit/chromium:

Adding includes that are now necessary because WebCore headers don't have them
any more.

  • src/ApplicationCacheHost.cpp:
  • src/AssociatedURLLoader.cpp:
  • src/EditorClientImpl.cpp:
  • src/SharedWorkerRepository.cpp:
  • src/WebDataSourceImpl.cpp:
  • src/WebFrameImpl.h:
  • src/WebNode.cpp:
  • src/WebSharedWorkerImpl.cpp:
  • tests/FrameLoaderClientImplTest.cpp:

Source/WebKit/efl:

Adding includes that are now necessary because WebCore headers don't have them
any more.

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

Source/WebKit/gtk:

Adding includes that are now necessary because WebCore headers don't have them
any more.

  • webkit/webkitwebpolicydecision.cpp:

Source/WebKit/mac:

Adding includes that are now necessary because WebCore headers don't have them
any more.

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

Source/WebKit/qt:

Adding includes that are now necessary because WebCore headers don't have them
any more.

  • WebCoreSupport/NotificationPresenterClientQt.cpp:
  • WebCoreSupport/QWebPageAdapter.cpp:

Source/WebKit2:

Adding includes that are now necessary because WebCore headers don't have them
any more.

  • NetworkProcess/HostRecord.h:
  • NetworkProcess/NetworkResourceLoadScheduler.h:
  • NetworkProcess/NetworkResourceLoader.h:
  • 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:
10:34 PM Changeset in webkit [144421] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Merge PerfTestRunner._run_single_test into PerfTestRunner._run_tests_set
https://bugs.webkit.org/show_bug.cgi?id=111142

Reviewed by Adam Barth.

Merged _run_single_test into _run_tests_set. The code looks much cleaner now.

Also removed _print_status since it's never used anywhere.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner.run):
(PerfTestsRunner._run_tests_set):

  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:

(MainTest.run_test):
(MainTest.test_run_test_set):
(MainTest.test_run_test_set_kills_drt_per_run):
(MainTest.test_run_test_set_for_parser_tests):

10:28 PM Changeset in webkit [144420] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium gardening
https://bugs.webkit.org/show_bug.cgi?id=111141

  • platform/chromium/TestExpectations:
10:24 PM Changeset in webkit [144419] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

[V8] Added V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
https://bugs.webkit.org/show_bug.cgi?id=110852

Patch by Koji Hara <kojih@chromium.org> on 2013-02-28
Reviewed by Kentaro Hara.

Add V8CustomIndexedGetter attribute that indicates the interface have custom implementation of a getter of indexed properties.
(Also added to the wiki)
https://trac.webkit.org/wiki/WebKitIDL#V8CustomIndexedGetter
Add V8CustomIndexedGetter to IDLs that correspond to existing custom indexedPropertyGetter.
We want to clean up CodeGeneratorV8.pm.
The problem is that all implementations of indexed properties and named properties are currently delegated to custom bindings.
We want to auto-generate as much code as possible.
As a starting point, this commit assures a interface has [V8CustomIndexedGetter] ==> there's custom implementation of indexed getter.

No test. Simple refactoring.

  • bindings/scripts/IDLAttributes.txt: Add V8CustomIndexedGetter attribute.
  • dom/NamedNodeMap.idl: Add V8CustomIndexedGetter attribute.
  • html/HTMLAppletElement.idl: Add V8CustomIndexedGetter attribute.
  • html/HTMLEmbedElement.idl: Add V8CustomIndexedGetter attribute.
  • html/HTMLFormElement.idl: Add V8CustomIndexedGetter attribute.
  • html/HTMLObjectElement.idl: Add V8CustomIndexedGetter attribute.
  • html/HTMLOptionsCollection.idl: Add V8CustomIndexedGetter attribute.
  • html/HTMLSelectElement.idl: Add V8CustomIndexedGetter attribute.
  • page/DOMWindow.idl: Add V8CustomIndexedGetter attribute.
  • storage/Storage.idl: Add V8CustomIndexedGetter attribute.
10:23 PM Changeset in webkit [144418] by eustas@chromium.org
  • 2 edits in branches/chromium/1410/Source/WebCore

Merge 144161

Web Inspector: timeline stops working on certain sites
https://bugs.webkit.org/show_bug.cgi?id=110955

Reviewed by Alexander Pavlov.

Analysis: "timerId" value is number,
so it is not wrapped to node as expected.

Solution: wrap values of all types except Node.

  • inspector/front-end/TimelinePresentationModel.js:

Wrap nonstring values to text nodes.

TBR=eustas@chromium.org
Review URL: https://codereview.chromium.org/12389044

10:07 PM Changeset in webkit [144417] by xingnan.wang@intel.com
  • 3 edits in trunk/Source/WebCore

Heap-use-after-free in WebCore::AudioNodeInput::updateInternalBus
https://bugs.webkit.org/show_bug.cgi?id=108542

Replace the wrong AudioNodeOutput::bus() usage out of safe peroid,
which causes this issue.

Reviewed by Chris Rogers.

  • Modules/webaudio/AudioNodeInput.cpp:

(WebCore::AudioNodeInput::numberOfChannels):

  • Modules/webaudio/AudioNodeOutput.cpp:

(WebCore::AudioNodeOutput::bus):

9:59 PM Changeset in webkit [144416] by beidson@apple.com
  • 11 edits in branches/safari-536.29-branch

Merge r141486

2013-01-30 Brian Weinstein <bweinstein@apple.com>

Add a call to the page UI client to determine if a plug-in should load
https://bugs.webkit.org/show_bug.cgi?id=108407
<rdar://problem/13066332>

Source/WebKit2:

Reviewed by Anders Carlsson.

This patch adds a client call to the WKPageUIClient to be called to determine
whether or not a plug-in should load.

  • UIProcess/API/C/WKPage.h: Add shouldLoadPlugin.
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath): Moved from WebProcessProxy, and added a call to

m_uiClient.shouldInstantiatePlugin.

  • UIProcess/WebPageProxy.h:
  • UIProcss/WebPageProxy.messages.in: Moved GetPluginPath from WebProcessProxy to WebPageProxy.
  • UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::getPluginPath): Moved to WebPageProxy.
  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::shouldInstantiatePlugin): Return that we should load the plug-in if

the client function isn't defined, and call the function if it is.

  • UIProcess/WebUIClient.h:
  • UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateInspectorPage): Add an entry for the new

client function.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Send the message to the WebPageProxy, not the WebProcessProxy. (WebKit::WebPage::canPluginHandleResponse): Made a member function, so it can call sendSync, and

send the message to the WebPageProxy, not the WebProcessProxy.

  • WebProcess/WebPage/WebPage.h:

Tools:

Add entries for the new function in the necessary structs.

Reviewed by Anders Carlsson.

  • MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController awakeFromNib]):
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::createWebViewWithOptions):
9:46 PM Changeset in webkit [144415] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Disable window occlusion detection for WebKitTestRunner Web View on Mac
https://bugs.webkit.org/show_bug.cgi?id=111116

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-02-28
Reviewed by Simon Fraser.

Window occlusion notifications were causing WebKitTestRunner's Web View
to be detected as occluded and causing a few JavaScript timer layout
tests to fail. https://bugs.webkit.org/show_bug.cgi?id=111025, fixed this
by initializing the page visibility to "visible" after creating the view.
But a better solution is to disable window occlusion detection, so that
not only the page but also the view is treated as visible.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions): Remove call to
setVisibilityState, since it is no longer necessary.

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::PlatformWebView): Disable window occlusion
detection for the created WKView.

9:41 PM Changeset in webkit [144414] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening for some inspector tests
https://bugs.webkit.org/show_bug.cgi?id=111131

Unreviewed gardening.

Patch by Seokju Kwon <Seokju Kwon> on 2013-02-28

  • platform/efl-wk1/TestExpectations:
9:03 PM Changeset in webkit [144413] by commit-queue@webkit.org
  • 5 edits in trunk

Unreviewed, rolling out r144370.
http://trac.webkit.org/changeset/144370
https://bugs.webkit.org/show_bug.cgi?id=111136

Caused 21 assertion failure at DocumentLoader.cpp(436)
(Requested by toyoshim on #webkit).

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

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::decrementActiveParserCount):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::isLoading):
(WebCore::DocumentLoader::checkLoadComplete):

LayoutTests:

  • platform/mac/TestExpectations:
8:40 PM Changeset in webkit [144412] by toyoshim@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed, chromium gardening; update expected image for Snow Leopard

  • platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:
  • platform/chromium/TestExpectations:
8:39 PM Changeset in webkit [144411] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2] Refactoring : Fix indentation and braces in WebInspectorClient.h|cpp
https://bugs.webkit.org/show_bug.cgi?id=109925

Patch by Seokju Kwon <Seokju Kwon> on 2013-02-28
Reviewed by Benjamin Poulain.

The contents of an outermost namespace block should not be indented.
And One-line control clauses should not use braces.

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::closeInspectorFrontend):

  • WebProcess/WebCoreSupport/WebInspectorClient.h:

(WebCore):

8:37 PM Changeset in webkit [144410] by li.yin@intel.com
  • 4 edits in trunk

[chromium] Events can't be triggered on MediaStreamTrack
https://bugs.webkit.org/show_bug.cgi?id=110930

Reviewed by Kentaro Hara.

Source/WebCore:

Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack
ended event handler should be triggered, when stop() is called.

No new tests because the test fast/mediastream/MediaStreamTrack.html
had covered it already.

  • platform/mediastream/chromium/MediaStreamCenterChromium.cpp:

(WebCore::MediaStreamCenterChromium::didStopLocalMediaStream):

Tools:

Related code was moved to MediaStreamCenterChromium::didStopLocalMediaStream

  • DumpRenderTree/chromium/TestRunner/src/MockWebMediaStreamCenter.cpp:

(WebTestRunner::MockWebMediaStreamCenter::didStopLocalMediaStream):

8:18 PM Changeset in webkit [144409] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Add a pre-bootstrap message for NetworkProcess XPC service
https://bugs.webkit.org/show_bug.cgi?id=111127

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-02-28
Reviewed by Sam Weinig.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:

(WebKit::XPCServiceEventHandler): Hold on to the pre-bootstrap message.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler): Ditto.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService): Send a pre-bootstrap message for NetworkProcess
XPC service.

7:35 PM Changeset in webkit [144408] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk/Source

WebKit API for enabling DOM logging for certain worlds
https://bugs.webkit.org/show_bug.cgi?id=110779

Source/WebCore:

Patch by Ankur Taly <ataly@google.com> on 2013-02-28
Reviewed by Adam Barth.

Adds additional static methods to DOMWrapperWorld for managing the
mapping between worldIDs and logger objects (where DOM logging messages
are sent), and also defines a class (V8DOMActivityLogger) for logger
objects.

  • WebCore.gypi:
  • bindings/v8/DOMWrapperWorld.cpp:

(WebCore):
(WebCore::domActivityLoggers):
(WebCore::DOMWrapperWorld::setDOMActivityLogger):
(WebCore::DOMWrapperWorld::getDOMActivityLogger):

  • bindings/v8/DOMWrapperWorld.h:

(DOMWrapperWorld):

  • bindings/v8/V8DOMActivityLogger.h: Added.

(WebCore):
(V8DOMActivityLogger):
(WebCore::V8DOMActivityLogger::~V8DOMActivityLogger):
(WebCore::V8DOMActivityLogger::log):

Source/WebKit/chromium:

Patch by Ankur Taly <ataly@google.com> on 2013-02-28
Reviewed by Adam Barth.

This patch adds initial plumbing for enabling logging of DOM
activity by JavaScript code running withing v8, on a
per-world basis. In particular it adds methods to the chromium
WebKit API for associating a logger object with world ids for which
DOM activity logging is enabled.

  • WebKit.gyp:
  • public/WebDOMActivityLogger.h: Added.

(v8):
(WebKit):
(WebDOMActivityLogger):
(WebKit::WebDOMActivityLogger::~WebDOMActivityLogger):
(WebKit::WebDOMActivityLogger::log):

  • src/WebDOMActivityLogger.cpp: Added.

(WebKit):
(DOMActivityLoggerContainer):
(WebKit::DOMActivityLoggerContainer::DOMActivityLoggerContainer):
(WebKit::DOMActivityLoggerContainer::~DOMActivityLoggerContainer):
(WebKit::DOMActivityLoggerContainer::log):
(WebKit::hasDOMActivityLogger):
(WebKit::setDOMActivityLogger):

6:12 PM Changeset in webkit [144407] by abarth@webkit.org
  • 4 edits in trunk/Source/WebCore

The threaded HTML parser shouldn't need to invalidate the speculation buffer on every document.write
https://bugs.webkit.org/show_bug.cgi?id=111130

Reviewed by Eric Seidel.

Previously, the threaded HTML parser always invalidated its speculation
buffer when it received a document.write. That means we performed
poorly on web sites that contained document.write calls early in the
page.

This patch teaches the HTMLDocumentParser that we don't need to discard
the speculation buffer in the common case of starting and ending in the
DataState.

  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::BackgroundHTMLParser::sendTokensToMainThread):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::checkForSpeculationFailure):
(WebCore::HTMLDocumentParser::didFailSpeculation):

  • html/parser/HTMLDocumentParser.h:

(WebCore):
(ParsedChunk):

6:11 PM Changeset in webkit [144406] by schenney@chromium.org
  • 3 edits in trunk/LayoutTests

[Chromium] Rebaselines for Win decorations-with-text-combine.html

Unreviewed expectations update.

  • platform/chromium-win-xp/fast/text/decorations-with-text-combine-expected.png:
  • platform/chromium-win/fast/text/decorations-with-text-combine-expected.png:
5:58 PM Changeset in webkit [144405] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk

WebInspector: Switch hide element shortcut in ElementsPanel to use a selector
https://bugs.webkit.org/show_bug.cgi?id=110641

Patch by Eberhard Graether <egraether@google.com> on 2013-02-28
Reviewed by Pavel Feldman.

This change switches the shortcut for adding visibility:hidden to an element's style
to toggling a class name on the element and injecting a style rule into the element's
document instead. This way it is possible to change the visibility of all child
elements as well.

Test: inspector/elements/hide-shortcut.html

Source/WebCore:

  • inspector/front-end/CSSStyleModel.js:
  • inspector/front-end/ElementsTreeOutline.js:

(WebInspector.ElementsTreeOutline.prototype._onkeydown):
(WebInspector.ElementsTreeOutline.prototype.resolvedNode.toggleClassAndInjectStyleRule):
(WebInspector.ElementsTreeOutline.prototype.):
(WebInspector.ElementsTreeOutline.prototype._toggleHideShortcut):

LayoutTests:

  • inspector/elements/hide-shortcut-expected.txt: Added.
  • inspector/elements/hide-shortcut.html: Added.
  • inspector/elements/resources/hide-shortcut-iframe.html: Added.
5:53 PM Changeset in webkit [144404] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] Build break with --no-web-audio and --no-video
https://bugs.webkit.org/show_bug.cgi?id=111055

Unreviewed build fix.

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:
5:51 PM Changeset in webkit [144403] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] Focus problem in inspector/extensions/extensions-panel.html
https://bugs.webkit.org/show_bug.cgi?id=97077

Patch by Seokju Kwon <Seokju Kwon> on 2013-02-28
Reviewed by Laszlo Gombos.

Source/WebKit/efl:

  • WebCoreSupport/InspectorClientEfl.cpp:

(WebCore::InspectorFrontendClientEfl::bringToFront): Set focus on inspectorView.

LayoutTests:

Remove inspector/extensions/extensions-panel.html from TestExpectations.

  • platform/efl-wk1/TestExpectations:
5:50 PM Changeset in webkit [144402] by xingnan.wang@intel.com
  • 2 edits in trunk/Source/WebCore

Implement the memory report on IPP FFTFrame on Web Audio
https://bugs.webkit.org/show_bug.cgi?id=111039

Reviewed by Yury Semikhatsky.

Covered by existing test.

  • platform/audio/FFTFrame.cpp:

(WebCore::FFTFrame::reportMemoryUsage):

5:32 PM Changeset in webkit [144401] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG CFA should not do liveness pruning
https://bugs.webkit.org/show_bug.cgi?id=111119

Reviewed by Mark Hahnenberg.

It adds complexity and probably buys nothing. Moreover, I'm transitioning to having
liveness only available at the bitter end of compilation, so this will stop working
after https://bugs.webkit.org/show_bug.cgi?id=109389 anyway.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::mergeStateAtTail):

5:24 PM Changeset in webkit [144400] by leviw@chromium.org
  • 3 edits
    2 adds in trunk

Stale FrameSelection in removed iframe causes crash
https://bugs.webkit.org/show_bug.cgi?id=108696

Reviewed by Ryosuke Niwa.

Source/WebCore:

Catching a specific issue where selectFrameElementInParentIfFullySelected in a nested
iFrame that is removed can leave the outer frame's selection referencing stale nodes.
Instead, in this case, we keep the frame alive long enough to check for this condition
and clear our selection if we hit it.

Test: editing/selection/selection-in-iframe-removed-crash.html

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelection):

LayoutTests:

  • editing/selection/selection-in-iframe-removed-crash-expected.txt: Added.
  • editing/selection/selection-in-iframe-removed-crash.html: Added.
5:01 PM Changeset in webkit [144399] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Unreviewed. AppleWin VS2010 build fix.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
4:50 PM Changeset in webkit [144398] by jamesr@google.com
  • 4 edits in trunk/Tools

[chromium] Use DumpRenderTree-specific interface for DRT's compositor embedding
https://bugs.webkit.org/show_bug.cgi?id=111017

Reviewed by Adam Barth.

This decouples DumpRenderTree from WebLayerTreeViewClient.

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHostDRTLayerTreeViewClient):
(WebViewHostDRTLayerTreeViewClient::WebViewHostDRTLayerTreeViewClient):
(WebViewHostDRTLayerTreeViewClient::~WebViewHostDRTLayerTreeViewClient):
(WebViewHostDRTLayerTreeViewClient::Layout):
(WebViewHostDRTLayerTreeViewClient::ScheduleComposite):
(WebViewHost::initializeLayerTreeView):

  • DumpRenderTree/chromium/WebViewHost.h:

(webkit_support):
(WebViewHost):

4:47 PM Changeset in webkit [144397] by commit-queue@webkit.org
  • 18 edits in trunk/Source

Need API to control page underlay color
https://bugs.webkit.org/show_bug.cgi?id=110918

Patch by Conrad Shultz <Conrad Shultz> on 2013-02-28
Reviewed by Simon Fraser.

Source/WebCore:

  • page/ChromeClient.h:

(ChromeClient):
Declare underlayColor().

  • platform/ScrollbarTheme.h:

(WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
Have setUpOverhangAreasLayerContents() take a background color parameter.

  • platform/mac/ScrollbarThemeMac.h:

(ScrollbarThemeMac):
Ditto.

  • platform/mac/ScrollbarThemeMac.mm:

Include ColorMac.h.
(WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
Use the passed-in background color, if valid, for the overhang area layer.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
Get the underlay color from the chrome client and pass it into setUpOverhangAreasLayerContents().

Source/WebKit2:

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
Encode underlayColor.
(WebKit::WebPageCreationParameters::decode):
Decode underlayColor.

  • Shared/WebPageCreationParameters.h:

(WebPageCreationParameters):
Add underlayColor member.

  • UIProcess/API/mac/WKView.mm:

(-[WKView underlayColor]):
Accessor; retrieves the WebCore::Color from the WebPageProxy and converts it to an NSColor.
(-[WKView setUnderlayColor:]):
Mutator; converts the NSColor to a WebCore::Color and passes it to the WebPageProxy.

  • UIProcess/API/mac/WKViewPrivate.h:

Add underlayColor @property.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setUnderlayColor):
Mutator; dispatches SetUnderlayColor to WebPage.
(WebKit::WebPageProxy::creationParameters):
Set the parameters' underlayColor member appropriately.

  • UIProcess/WebPageProxy.h:

Declare new member functions and variable.
(WebKit::WebPageProxy::underlayColor):
Accessor.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::underlayColor):
Return the associated WebPage's underlayColor.

  • WebProcess/WebCoreSupport/WebChromeClient.h:

(WebChromeClient):
Declare underlayColor().

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
Apply any underlayColor that was supplied as part of the WebPageCreationParameters.

  • WebProcess/WebPage/WebPage.h:

Declare new member functions and variable.
(WebKit::WebPage::underlayColor):
Accessor.

  • WebProcess/WebPage/WebPage.messages.in:

Add SetUnderlayColor message.

4:46 PM Changeset in webkit [144396] by schenney@chromium.org
  • 3 edits in trunk/LayoutTests

[Chromium] Rebaselines for Mac decorations-with-text-combine.html

Unreviewed expectations update.

  • platform/chromium-mac-lion/fast/text/decorations-with-text-combine-expected.png:
  • platform/chromium-mac/fast/text/decorations-with-text-combine-expected.png:
4:42 PM Changeset in webkit [144395] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

RelevantRepaintedObjects heuristic should ensure there is some coverage in the
bottom half of the relevant view rect
https://bugs.webkit.org/show_bug.cgi?id=111124
-and corresponding-
<rdar://problem/12257164>

Reviewed by Simon Fraser.

We need two Regions now -- one for the top and another for the bottom. Make sure
we have at least half of our desired coverage in both.

  • page/Page.cpp:

(WebCore::Page::resetRelevantPaintedObjectCounter):
(WebCore::Page::addRelevantRepaintedObject):
(WebCore::Page::reportMemoryUsage):

  • page/Page.h:
4:30 PM Changeset in webkit [144394] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Skip storage tests on Windows.

  • platform/win/TestExpectations:
4:29 PM Changeset in webkit [144393] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled Chromium DEPS to r185341. Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.

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

  • DEPS:
4:21 PM Changeset in webkit [144392] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

WebSpeech: support pitch change
https://bugs.webkit.org/show_bug.cgi?id=107348

Reviewed by Beth Dakin.

Implement a policy for the Mac synthesizer to convert from the utterance's pitch rate
to something sensible for the platform.

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
(-[WebSpeechSynthesisWrapper convertPitchToNSSpeechValue:]):
(-[WebSpeechSynthesisWrapper updateBasePitchForSynthesizer]):
(-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):

4:19 PM Changeset in webkit [144391] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

Unreviewed, add my secondary email address to the list.

  • Scripts/webkitpy/common/config/committers.py:
4:03 PM Changeset in webkit [144390] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Add the notion of an allowed connection to SessionStorageNamespace
https://bugs.webkit.org/show_bug.cgi?id=111122

Reviewed by Sam Weinig.

Group together each session storage namespace with an allowed connection.
This will help ensure that rouge web processes will not be able to access session storage
from pages in other processes.

  • UIProcess/Storage/StorageManager.cpp:

(StorageManager::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
Add an m_allowedConnection member variable, as well as setters and getters.

(WebKit::StorageManager::createSessionStorageNamespace):
Take an optional allowed connection. (It can be null if the process has not finished launching).

(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
New function to set the allowed connection for a session storage namespace.

(WebKit::StorageManager::createStorageArea):
Add another FIXME.

(WebKit::StorageManager::createSessionStorageNamespaceInternal):
Pass the connection to the SessionStorageNamespace constructor.

(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
Set the allowed connection.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
Pass the connection to createSessionStorageNamespace.

(WebKit::WebPageProxy::connectionWillOpen):
Call setAllowedSessionStorageNamespaceConnection.

(WebKit::WebPageProxy::connectionWillClose):
Call setAllowedSessionStorageNamespaceConnection with a null connection.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionWillOpen):
Call connectionWillOpen on all pages.

(WebKit::WebProcessProxy::connectionWillClose):
Call connectionWillClose on all pages.

3:59 PM Changeset in webkit [144389] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Add private API to disable WKView window occlusion detection
https://bugs.webkit.org/show_bug.cgi?id=111107

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-02-28
Reviewed by Simon Fraser.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _enableWindowOcclusionNotifications]): Check if occlusion
detection is enabled before enabling notifications.
(windowBecameOccluded): Ditto before changing window occlusion state.
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
Initialize occlusion detection enabled flag to "YES".
(-[WKView windowOcclusionDetectionEnabled]):
(-[WKView setWindowOcclusionDetectionEnabled:]):

  • UIProcess/API/mac/WKViewPrivate.h:
3:54 PM Changeset in webkit [144388] by Vineet
  • 2 edits in trunk/Source/WebCore

Unreviewed. Bindings test results update after r144376.

  • bindings/scripts/test/JS/JSTestObj.cpp:
3:52 PM Changeset in webkit [144387] by pdr@google.com
  • 2 edits in trunk/Tools

Add Philip Rogers as a reviewer.

Unreviewed update of committers.py.

  • Scripts/webkitpy/common/config/committers.py:
3:43 PM Changeset in webkit [144386] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Add the notion of an allowed connection to SessionStorageNamespace
https://bugs.webkit.org/show_bug.cgi?id=111122

Reviewed by Sam Weinig.

Group together each session storage namespace with an allowed connection.
This will help ensure that rouge web processes will not be able to access session storage
from pages in other processes.

  • UIProcess/Storage/StorageManager.cpp:

(StorageManager::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
Add an m_allowedConnection member variable, as well as setters and getters.

(WebKit::StorageManager::createSessionStorageNamespace):
Take an optional allowed connection. (It can be null if the process has not finished launching).

(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
New function to set the allowed connection for a session storage namespace.

(WebKit::StorageManager::createStorageArea):
Add another FIXME.

(WebKit::StorageManager::createSessionStorageNamespaceInternal):
Pass the connection to the SessionStorageNamespace constructor.

(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
Set the allowed connection.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
Pass the connection to createSessionStorageNamespace.

(WebKit::WebPageProxy::connectionWillOpen):
Call setAllowedSessionStorageNamespaceConnection.

(WebKit::WebPageProxy::connectionWillClose):
Call setAllowedSessionStorageNamespaceConnection with a null connection.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionWillOpen):
Call connectionWillOpen on all pages.

(WebKit::WebProcessProxy::connectionWillClose):
Call connectionWillClose on all pages.

3:38 PM Changeset in webkit [144385] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. AppleWin Build fix.

  • WebCore.vcproj/WebCore.vcproj:
3:37 PM Changeset in webkit [144384] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a flaky failure expectation to http/tests/inspector/resource-tree/resource-request-content-while-loading.html
on all platforms per bug 111123.

3:33 PM Changeset in webkit [144383] by dpranke@chromium.org
  • 7 edits in trunk/LayoutTests

Unreviewed, rebaselining fast/forms/date-appearance/basic.html for chromium.

  • platform/chromium-linux/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-mac-lion/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium/TestExpectations:
3:30 PM Changeset in webkit [144382] by dpranke@chromium.org
  • 6 edits
    2 adds
    1 delete in trunk/LayoutTests

Unreviewed, rebaselining media/track/track-cue-rendering-vertical.html on chromium

  • platform/chromium-linux/media/track/track-cue-rendering-vertical-expected.txt: Removed.
  • platform/chromium-mac-lion/media/track/track-cue-rendering-vertical-expected.png: Added.
  • platform/chromium-mac-lion/media/track/track-cue-rendering-vertical-expected.txt: Added.
  • platform/chromium-mac-snowleopard/media/track/track-cue-rendering-vertical-expected.png:
  • platform/chromium-win-xp/media/track/track-cue-rendering-vertical-expected.png:
  • platform/chromium-win/media/track/track-cue-rendering-vertical-expected.png:
  • platform/chromium-win/media/track/track-cue-rendering-vertical-expected.txt:
  • platform/chromium/TestExpectations:
3:25 PM Changeset in webkit [144381] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Remove the world->isMainWorld() check from minorGCPrologue()
https://bugs.webkit.org/show_bug.cgi?id=111114

Reviewed by Adam Barth.

A couple of weeks ago, I introduced the following check to minorGCPrologue() in r142419.

void minorGCPrologue() {

A minor GC can handle the main world only.
DOMWrapperWorld* world = worldForEnteredContextWithoutContextCheck();
if (world && world->isMainWorld()) {

MinorGCWrapperVisitor visitor(isolate);
v8::V8::VisitHandlesForPartialDependence(isolate, &visitor);
visitor.notifyFinished();

}

}

  • The check makes no sense. A GC should not care about what world we are in.

There is no concept of worlds in GC.

  • worldForEnteredContextWithoutContextCheck() returns 0 for the main world.

So if a GC runs in the main world, the minor DOM GC is skipped.

  • worldForEnteredContextWithoutContextCheck() caused a Chromium crash

(https://code.google.com/p/chromium/issues/detail?id=177587)

We should remove the check.

No tests. No change in behavior.

  • bindings/v8/DOMWrapperWorld.h:

(WebCore::DOMWrapperWorld::getWorld):

  • bindings/v8/V8Binding.h:
  • bindings/v8/V8GCController.cpp:

(WebCore::V8GCController::minorGCPrologue):

3:24 PM Changeset in webkit [144380] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, updating chromium TestExpectations to remove passing tests.

  • platform/chromium/TestExpectations:
3:23 PM Changeset in webkit [144379] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Don't try to emit profiling if you don't have the DFG JIT.

Rubber stamped by Mark Hahnenberg.

  • jit/JIT.h:

(JSC::JIT::shouldEmitProfiling):

3:17 PM Changeset in webkit [144378] by Bruno de Oliveira Abinader
  • 12 edits in trunk/Source/WebCore

Create GraphicsContext3DState to aggregate state objects
https://bugs.webkit.org/show_bug.cgi?id=110817

Reviewed by Kenneth Russell.

Aggregate context state-related objects on a GraphicsContext3DState
struct, in a similar fashion as GraphicsContext does. This is useful to
avoid duplicated values for platform-specific initialization lists.

No behavior changes, thus covered by existing tests.

  • platform/graphics/GraphicsContext3D.h:

(WebCore::GraphicsContext3D::GraphicsContext3DState::GraphicsContext3DState):
(GraphicsContext3DState):
(GraphicsContext3D):
Moved m_boundFBO, m_activeTexture and m_boundTexture0 to GraphicsContext3DState.

  • platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::reshapeFBOs):

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):

  • platform/graphics/cairo/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):

  • platform/graphics/efl/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):

  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::reshapeFBOs):
(WebCore::GraphicsContext3D::readPixels):

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::prepareTexture):
(WebCore::GraphicsContext3D::readRenderingResults):
(WebCore::GraphicsContext3D::reshape):
(WebCore::GraphicsContext3D::activeTexture):
(WebCore::GraphicsContext3D::bindFramebuffer):
(WebCore::GraphicsContext3D::bindTexture):
(WebCore::GraphicsContext3D::copyTexImage2D):
(WebCore::GraphicsContext3D::copyTexSubImage2D):
(WebCore::GraphicsContext3D::deleteFramebuffer):
(WebCore::GraphicsContext3D::deleteTexture):

  • platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:

(WebCore::GraphicsContext3D::readPixels):
(WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
(WebCore::GraphicsContext3D::reshapeFBOs):

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3DPrivate::createOffscreenBuffers):
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
(WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer):
(WebCore::GraphicsContext3D::GraphicsContext3D):
Removed initialization list values not needed anymore and reassigned
calls to m_boundFBO, m_boundTexture0 and m_activeTexture to m_state
respectives.

3:06 PM Changeset in webkit [144377] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix. A merge error led to a duplication of a single line.
Just removing the duplicate line.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::createLocalTransformState):

2:57 PM Changeset in webkit [144376] by Kaustubh Atrawalkar
  • 18 edits
    2 adds
    4 deletes in trunk

Notification.requestPermission callback should be optional
https://bugs.webkit.org/show_bug.cgi?id=108196

Reviewed by Kentaro Hara.

Spec says it should be optional.
http://notifications.spec.whatwg.org/#notification

Source/WebCore:

Test: fast/notifications/notifications-request-permission-optional.html

  • GNUmakefile.list.am:
  • Modules/notifications/Notification.h:

(Notification):

  • Modules/notifications/Notification.idl:
  • Modules/notifications/NotificationCenter.cpp:

(WebCore::NotificationCenter::NotificationRequestCallback::timerFired):

  • Modules/notifications/NotificationCenter.h:

(NotificationCenter):

  • Modules/notifications/NotificationCenter.idl:
  • Target.pri:
  • UseJSC.cmake:
  • UseV8.cmake:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSDesktopNotificationsCustom.cpp: Removed.
  • bindings/js/JSNotificationCustom.cpp: Removed.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateParametersCheck):

  • bindings/v8/custom/V8NotificationCenterCustom.cpp: Removed.
  • bindings/v8/custom/V8NotificationCustom.cpp: Removed.

LayoutTests:

  • fast/notifications/notifications-request-permission-optional-expected.txt: Added.
  • fast/notifications/notifications-request-permission-optional.html: Added.
2:54 PM Changeset in webkit [144375] by commit-queue@webkit.org
  • 3 edits in trunk

Underline should round to match other content.
https://bugs.webkit.org/show_bug.cgi?id=111005

Patch by Ben Wagner <bungeman@chromium.org> on 2013-02-28
Reviewed by Stephen White.

Test: fast/text/decorations-with-text-combine.html

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::drawLineForText):
Round (instead of floor) underlines to match other content.

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

Refine Ryosuke's r144367 fix.

Rubber-stamped by Ryosuke Niwa.

  • page/PageGroup.cpp:

(WebCore::PageGroup::captionPreferences):

2:48 PM Changeset in webkit [144373] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG Phantom node should be honest about the fact that it can exit
https://bugs.webkit.org/show_bug.cgi?id=111115

Reviewed by Mark Hahnenberg.

The chances of this having cause serious issues are low, since most clients of the
NodeDoesNotExit flag run after CFA and CFA updates this properly. But one possible
case of badness is if the ByteCodeParser inserted a Phantom with a type check in
between a LogicalNot and a Branch; then that peephole optimization in Fixup might
go slightly wrong.

  • dfg/DFGNodeType.h:

(DFG):

2:46 PM Changeset in webkit [144372] by ap@apple.com
  • 5 edits in trunk/Source/WebCore

Windows build fix.

Removing ENABLE(BLOB) checks that I added in bug 111100. Many, many more are needed
to cleanly disable blob code.

  • platform/network/BlobData.h:
  • platform/network/BlobRegistryImpl.cpp:
  • platform/network/BlobRegistryImpl.h:
  • platform/network/BlobStorageData.h:
2:33 PM Changeset in webkit [144371] by Lucas Forschler
  • 2 edits in tags/Safari-537.32/Source/WebKit2

Merged r144324. <rdar://problem/13264712>

2:33 PM Changeset in webkit [144370] by eric@webkit.org
  • 4 edits in trunk

Threaded HTML parser hits ASSERTION FAILED: this == frameLoader()->activeDocumentLoader()
https://bugs.webkit.org/show_bug.cgi?id=110937

Reviewed by Adam Barth.

Remove the #ifdef guards added to work around this ASSERT.
This was fixed by https://bugs.webkit.org/show_bug.cgi?id=110951
as now DocumentLoader::checkLoadComplete() will ignore the call
if the DocumentLoader is not the active document loader for the Document.

  • dom/Document.cpp:

(WebCore::Document::decrementActiveParserCount):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::isLoading):
(WebCore::DocumentLoader::checkLoadComplete):

2:08 PM Changeset in webkit [144369] by Lucas Forschler
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/committers.py

Rollout r144366.

2:06 PM Changeset in webkit [144368] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Move html5linb tests to be Slow rather than Timeout

Unreviewed expectations. Requested by Eric Seidel.

  • platform/chromium/TestExpectations:
2:02 PM Changeset in webkit [144367] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Revert an erroneous change in r144336.

Rubber-stamped by Eric Carlson.

  • page/PageGroup.cpp:

(WebCore::PageGroup::captionPreferences):

2:01 PM Changeset in webkit [144366] by Lucas Forschler
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/committers.py

Give Damian Committer privs.

1:57 PM Changeset in webkit [144365] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add casts in DFGGPRInfo.h to suppress warnings
https://bugs.webkit.org/show_bug.cgi?id=111104

Reviewed by Filip Pizlo.

With certain flags on, we get compiler warnings on ARM. We should do the proper casts to make these warnings go away.

  • dfg/DFGGPRInfo.h:

(JSC::DFG::GPRInfo::toIndex):
(JSC::DFG::GPRInfo::debugName):

1:52 PM Changeset in webkit [144364] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for Windows. Make sure the new bits are unsigned and not bools.

  • rendering/RenderBlock.h:
1:52 PM Changeset in webkit [144363] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Merge more methods on PerfTest
https://bugs.webkit.org/show_bug.cgi?id=111030

Reviewed by Dirk Pranke.

Merged parse_output into _run_with_driver as it was the only caller. Also merged _should_ignore_line_in_stderr
and _should_ignore_line_in_parser_test_result into _filter_output since it was their only caller.

This makes the control flow a lot more comprehensible.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._run_with_driver):
(PerfTest._should_ignore_line):
(PerfTest._filter_output):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest._assert_results_are_correct):
(test_ignored_stderr_lines):

1:51 PM Changeset in webkit [144362] by fpizlo@apple.com
  • 16 edits in trunk/Source/JavaScriptCore

It should be easy to determine if a DFG node exits forward or backward when doing type checks
https://bugs.webkit.org/show_bug.cgi?id=111102

Reviewed by Mark Hahnenberg.

This adds a NodeExitsForward flag, which tells you the exit directionality of
type checks performed by the node. Even if you convert the node to a Phantom
and use the Edge UseKind for type checks, you'll still get the same exit
directionality that the original node would have wanted.

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):

  • dfg/DFGArrayifySlowPathGenerator.h:

(JSC::DFG::ArrayifySlowPathGenerator::ArrayifySlowPathGenerator):

  • dfg/DFGCFGSimplificationPhase.cpp:

(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::eliminate):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::checkArray):

  • dfg/DFGNode.h:

(Node):
(JSC::DFG::Node::setOpAndDefaultNonExitFlags):
(JSC::DFG::Node::convertToPhantom):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::nodeFlagsAsString):

  • dfg/DFGNodeFlags.h:

(DFG):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::backwardSpeculationCheck):
(DFG):
(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
(JSC::DFG::SpeculativeJIT::forwardSpeculationCheck):
(JSC::DFG::SpeculativeJIT::backwardTypeCheck):
(JSC::DFG::SpeculativeJIT::typeCheck):
(JSC::DFG::SpeculativeJIT::forwardTypeCheck):
(JSC::DFG::SpeculativeJIT::fillStorage):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileInt32ToDouble):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):
(JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand):
(JSC::DFG::SpeculateIntegerOperand::gpr):
(SpeculateIntegerOperand):
(JSC::DFG::SpeculateDoubleOperand::SpeculateDoubleOperand):
(JSC::DFG::SpeculateDoubleOperand::fpr):
(SpeculateDoubleOperand):
(JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
(JSC::DFG::SpeculateCellOperand::gpr):
(SpeculateCellOperand):
(JSC::DFG::SpeculateBooleanOperand::SpeculateBooleanOperand):
(JSC::DFG::SpeculateBooleanOperand::gpr):
(SpeculateBooleanOperand):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

1:48 PM Changeset in webkit [144361] by robert@webkit.org
  • 2 edits in trunk/Tools

Update my IRC nick

Unreviewed.

  • Scripts/webkitpy/common/config/committers.py:
1:45 PM Changeset in webkit [144360] by jochen@chromium.org
  • 4 edits
    2 adds in trunk

Meta referrer isn't honored for window.open
https://bugs.webkit.org/show_bug.cgi?id=111076

Reviewed by Adam Barth.

Source/WebCore:

Test: http/tests/security/referrer-policy-window-open.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::urlSelected): loadFrameRequest() will set the correct referrer
(WebCore::createWindow): This code is required for the inspector which doesn't set the referrer

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::createWindow):

LayoutTests:

  • http/tests/security/referrer-policy-window-open-expected.txt: Added.
  • http/tests/security/referrer-policy-window-open.html: Added.
1:37 PM Changeset in webkit [144359] by Bruno de Oliveira Abinader
  • 2 edits in trunk/Source/WebCore

[texmap] Remove redundant defines on TextureMapperGL
https://bugs.webkit.org/show_bug.cgi?id=111090

Reviewed by Antonio Gomes.

driverSupportsSubImage() already uses OpenGL ES defines to return
correct support, thus no need for these additional defines.

No behavior changes, thus covered by existing tests.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::BitmapTextureGL::updateContentsNoSwizzle):

1:35 PM Changeset in webkit [144358] by zmo@google.com
  • 28 edits
    3 adds in trunk/Source

EXT_draw_buffers needs implementation
https://bugs.webkit.org/show_bug.cgi?id=109331

Reviewed by Kenneth Russell.

Source/Platform:

Add EXT_draw_buffers support for chromium port.

  • chromium/public/WebGraphicsContext3D.h:

(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::drawBuffersEXT):

Source/WebCore:

This patch adds support for EXT_draw_buffers for WebGL.
mac OpenGL port is passing khronos WebGL conformance test with this patch. OpenGL ES port implementation isn't added in this patch.
Also, it has the WebKit side support for chromium port, but pending command buffer implementation.

Besides the basic extension implementation, we also added drawBuffers() wrapper to work around a mac driver bug: i.e., do not enable a buffer if there is no attachment added.

  • 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/V8Binding.h:

(WebCore):
(WebCore::toInt32):
(WebCore::toUInt32):
(WebCore::toFloat):
(WebCore::toInt64):

  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:

(WebCore::toV8Object):

  • html/canvas/EXTDrawBuffers.cpp: Added.

(WebCore):
(WebCore::EXTDrawBuffers::EXTDrawBuffers):
(WebCore::EXTDrawBuffers::~EXTDrawBuffers):
(WebCore::EXTDrawBuffers::getName):
(WebCore::EXTDrawBuffers::create):
(WebCore::EXTDrawBuffers::supported):
(WebCore::EXTDrawBuffers::drawBuffersEXT):

  • html/canvas/EXTDrawBuffers.h: Added.

(WebCore):
(EXTDrawBuffers):

  • html/canvas/EXTDrawBuffers.idl: Added.
  • html/canvas/WebGLExtension.h:
  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
(WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
(WebCore::WebGLFramebuffer::drawBuffers):
(WebCore):
(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):

  • html/canvas/WebGLFramebuffer.h:

(WebGLFramebuffer):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::initializeNewContext):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
(WebCore::WebGLRenderingContext::getMaxDrawBuffers):
(WebCore::WebGLRenderingContext::getMaxColorAttachments):

  • html/canvas/WebGLRenderingContext.h:

(WebCore):
(WebGLRenderingContext):

  • platform/chromium/support/Extensions3DChromium.cpp:

(WebCore::Extensions3DChromium::drawBuffersEXT):
(WebCore):

  • platform/graphics/Extensions3D.h:

(Extensions3D):

  • platform/graphics/GraphicsContext3D.cpp:

(WebCore::GraphicsContext3D::getClearBitsByAttachmentType):

  • platform/graphics/chromium/Extensions3DChromium.h:

(Extensions3DChromium):

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::supportsExtension):
(WebCore::Extensions3DOpenGL::drawBuffersEXT):
(WebCore):

  • platform/graphics/opengl/Extensions3DOpenGL.h:

(Extensions3DOpenGL):

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::ensureEnabled):

  • platform/graphics/opengl/Extensions3DOpenGLCommon.h:

(Extensions3DOpenGLCommon):

  • platform/graphics/opengl/Extensions3DOpenGLES.cpp:

(WebCore::Extensions3DOpenGLES::drawBuffersEXT):
(WebCore):
(WebCore::Extensions3DOpenGLES::supportsExtension):

  • platform/graphics/opengl/Extensions3DOpenGLES.h:

(Extensions3DOpenGLES):

1:32 PM Changeset in webkit [144357] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/LayoutTests

[EFL][WebGL] Enable compositing/webgl/webgl-reflection.html.
https://bugs.webkit.org/show_bug.cgi?id=110688

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

This patch adds platform specific test expectation files for the
test and enables it for efl port.

  • platform/efl/TestExpectations:
  • platform/efl/compositing/webgl/webgl-reflection-expected.png: Added.
  • platform/efl/compositing/webgl/webgl-reflection-expected.txt: Added.
1:31 PM Changeset in webkit [144356] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CodeBlock::valueProfile() has a bogus assertion
https://bugs.webkit.org/show_bug.cgi?id=111106
<rdar://problem/13131427>

Reviewed by Mark Hahnenberg.

This was just a bad assertion: m_bytecodeOffset == -1 means that the value profile is constructed but not initialized.
ValueProfile constructs itself in a safe way; you can call any method you want on a constructed but not initialized
ValueProfile. CodeBlock first constructs all ValueProfiles (by growing the ValueProfile vector) and then initializes
their m_bytecodeOffset later. This is necessary because the initialization is linking bytecode instructions to their
ValueProfiles, so at that point we don't want the ValueProfile vector to resize, which implies that we want all of
them to already be constructed. A GC can happen during this phase, and the GC may want to walk all ValueProfiles.
This is safe, but one of the ValueProfile getters (CodeBlock::valueProfile()) was asserting that any value profile
you get has had its m_bytecodeOffset initialized. This need not be the case and nothing will go wrong if it isn't.

The solution is to remove the assertion, which I believe was put there to ensure that my m_valueProfiles refactoring
a long time ago was sound: it used to be that a ValueProfile with m_bytecodeOffset == -1 was an argument profile; now
all argument profiles are in m_argumentValueProfiles instead. I think it's safe to say that this refactoring was done
soundly since it was a long time ago. So we should kill the assertion - I don't see an easy way to make the assertion
sound with respect to the GC-during-CodeBlock-construction issue, and I don't believe that the assertion is buying us
anything at this point.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::valueProfile):

1:30 PM Changeset in webkit [144355] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Maintain the directionality of the selection after modifying the selection using key events.
https://bugs.webkit.org/show_bug.cgi?id=111078

Reviewed by Yong Li.

PR 295224.

When using the key navigation to modify the selection, reset the
directionality of the selection to the original to prevent
changing the anchor.

Reviewed Internally by Nima Ghanavatian.

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):

1:08 PM Changeset in webkit [144354] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Create BlobRegistry through a strategy
https://bugs.webkit.org/show_bug.cgi?id=111100

Chromium build fix.

  • platform/network/BlobRegistry.cpp: Use destructor for chromium too.
1:04 PM Changeset in webkit [144353] by ap@apple.com
  • 21 edits
    1 add in trunk/Source/WebCore

Create BlobRegistry through a strategy
https://bugs.webkit.org/show_bug.cgi?id=111100

Reviewed by Sam Weinig.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj: Added BlobRegistry.cpp.
  • WebCore.exp.in:
  • loader/LoaderStrategy.cpp: (WebCore::LoaderStrategy::createBlobRegistry):
  • loader/LoaderStrategy.h: Addxed a function to create BlobRegistry, with default implementation being in-process WebKit1 one.
  • platform/network/BlobData.h: Added ENABLE(BLOB).
  • platform/network/BlobRegistry.cpp: Added. Moved singleton to a separate file.
  • platform/network/BlobRegistry.h: Made destructor non-inline. Cleaned up includes.
  • platform/network/BlobRegistryImpl.cpp:
  • platform/network/BlobRegistryImpl.h: Cleaned up includes, made functions that are only called through base class private. Added ENABLE(BLOB).
  • platform/network/BlobStorageData.h: Added ENABLE(BLOB).
  • platform/network/FormData.cpp: (WebCore::appendBlobResolved): Check blob registry type before upcasting. It's a public function, and we should not depend on high level understanding of process model to prove that the cast is safe.
  • platform/network/ResourceHandle.cpp:
  • platform/network/cf/FormDataStreamCFNet.cpp:
  • platform/network/mac/ResourceHandleMac.mm: Cleaned up includes.
12:59 PM Changeset in webkit [144352] by tkent@chromium.org
  • 12 edits in trunk

REGRESSION: INPUT_MULTIPLE_FIELDS_UI: Changing CSS display property on input[type=date] unexpectedly makes another line for ::-webkit-calendar-picker-indicator
https://bugs.webkit.org/show_bug.cgi?id=110974

Reviewed by Kentaro Hara.

Source/WebCore:

Input elements with the multiple fields UI require flexible box
layout.

  • If display:inline or display:inline-block is specified, we replace it with display:inline-flex.
  • If display:block is specified, we replace it with display:flex.
  • If other display value is specified, we use it as is, but it won't wrap inside an input element because we have display:inline-block for ::-webkit-calendar-pixker-indicaotor.

r144184 was incomplete. It avoided the wrapping issue, but it
didn't make spin buttons and calendar arrows right-aligned.

Tests: Update fast/forms/date/date-apparance-basic.html

  • css/html.css:

(input::-webkit-calendar-picker-indicator):
Add display:inline-block in orde to avoid line-wrapping.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::customStyleForRenderer):
Move the code to BaseMultipleFieldsDateAndTimeInputType::customStyleForRenderer.

  • html/InputType.cpp:

(WebCore::InputType::customStyleForRenderer): Added.

  • html/InputType.h:

(InputType): Add customStyleForRenderer, and remove
shouldApplyLocaleDirection.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::customStyleForRenderer):
Moved the code from HTMLInputElement::customStyleForRenderer, and
add display property updatting code.

  • html/BaseMultipleFieldsDateAndTimeInputType.h:

(BaseMultipleFieldsDateAndTimeInputType):
Add customStyleForRenderer, and remove shouldApplyLocaleDirection.

LayoutTests:

  • fast/forms/date/date-appearance-basic-expected.txt:
  • fast/forms/date/date-appearance-basic.html:
  • platform/chromium-mac/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium/TestExpectations:
12:51 PM Changeset in webkit [144351] by andersca@apple.com
  • 7 edits in trunk/Source

Implement more StorageAreaProxy member functions
https://bugs.webkit.org/show_bug.cgi?id=111103

Reviewed by Sam Weinig.

Source/WebCore:

Export two more StorageMap symbols required by WebKit2.

  • WebCore.exp.in:

Source/WebKit2:

  • Shared/SecurityOriginData.cpp:

(WebKit::SecurityOriginData::securityOrigin):

  • Shared/SecurityOriginData.h:

Add helper to create a WebCore::SecurityOrigin from a SecurityOriginData object.

  • WebProcess/Storage/StorageAreaProxy.cpp:

(WebKit::StorageAreaProxy::key):
Fill the storage map and call through to StorageMap::key.

(WebKit::StorageAreaProxy::contains):
Fill the storage map and call through to StorageMap::contains.

(WebKit::StorageAreaProxy::memoryBytesUsedByCache):
Return 0; this matches StorageAreaImpl.

12:38 PM Changeset in webkit [144350] by wangxianzhu@chromium.org
  • 28 edits
    2 adds in trunk

Focus ring for a child layer is incorrectly offset by ancestor composited layer's position
https://bugs.webkit.org/show_bug.cgi?id=110895

Reviewed by Simon Fraser.

Source/WebCore:

Test: compositing/sub-layer-focus-ring.html

The problem occurs in RenderBlock::addFocusRingRects() where the absolute position of a sub-layer is used to calculate the focus ring rect of the layer.
Should use the relative position to the current paintContainer instead.

To fix the issue:

  • RenderLayer passes LayerPaintingInfo.rootLayer to PaintInfo.paintContainer
  • Let RenderObject::paintFocusRing() and RenderObject::paintOutline() take PaintInfo instead of GraphicsContext* so that the paintContainer can be passed
  • RenderBlock::addFocusRingRects() uses localToContainerPoint(FloatPoint(), paintContainer) instead of localToAbsolute() to calculate the focus ring rect of a sublayer.
  • rendering/PaintInfo.h:

(WebCore):
(WebCore::PaintInfo::PaintInfo): Add a field paintContainer (the RenderLayerModelObject which originates the current painting)
(PaintInfo):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::RenderBlock::addFocusRingRects): Use the added paintContainer parameter to calculate the relative offset of the child layer.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintBackgroundForFragments): Pass LayerPaintingInfo.rootLayer to PaintInfo.paintContainer.
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase): Ditto.
(WebCore::RenderLayer::paintOutlineForFragments): Ditto.
(WebCore::RenderLayer::paintMaskForFragments): Ditto.

  • rendering/RenderLayer.cpp:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::paintFocusRing): Now takes PaintInfo instead of GraphicsContext*. Pass paintInfo.paintContainer to addFocusRingRects().
(WebCore::RenderObject::paintOutline): Now takes PaintInfo instead of GraphicsContext*.
(WebCore::RenderObject::absoluteFocusRingQuads):

  • rendering/RenderObject.h:

(WebCore::RenderObject::addFocusRingRects): Add paintContainer parameter.

LayoutTests:

New ref test for the bug.

  • compositing/sub-layer-focus-ring-expected.html: Added.
  • compositing/sub-layer-focus-ring.html: Added.
12:31 PM Changeset in webkit [144349] by junov@google.com
  • 3 edits in trunk/LayoutTests

Re-baselining expected pixels for fast/borders/border-radius-percent.html on linux
https://bugs.webkit.org/show_bug.cgi?id=110889

Unreviewed

  • TestExpectations:
  • platform/chromium-linux/fast/borders/border-radius-percent-expected.png:
12:18 PM Changeset in webkit [144348] by Lucas Forschler
  • 2 edits in tags/Safari-537.31.11/Source/WebCore

Merged r143684. <rdar://problem/13315270>

12:15 PM Changeset in webkit [144347] by Lucas Forschler
  • 3 edits in tags/Safari-537.31.11/Source/WebCore

Merged r143680. <rdar://problem/13315270>

12:13 PM Changeset in webkit [144346] by oliver@apple.com
  • 2 edits in trunk/Source/WTF

Crash in JSC::MarkedBlock::FreeList JSC::MarkedBlock::sweepHelper
https://bugs.webkit.org/show_bug.cgi?id=111059

Reviewed by Ryosuke Niwa.

Sometimes C++'s implicit operator conversion rules suck.
Add explicit operator== and !=.

  • wtf/FastMalloc.cpp:

(WTF::HardenedSLL::operator!=):
(WTF::HardenedSLL::operator==):
(HardenedSLL):

12:09 PM Changeset in webkit [144345] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening, update expectation

  • platform/chromium/TestExpectations: Add Win modifier for compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html

and remove modifiers for fast/forms/textarea/textarea-state-restore.html

11:59 AM Changeset in webkit [144344] by hyatt@apple.com
  • 5 edits in trunk/Source/WebCore

Remove the quirk margin bits from RenderObject and put them back in RenderBlock.
https://bugs.webkit.org/show_bug.cgi?id=111089

Reviewed by Dan Bernstein.

This patch removes the marginBeforeQuirk and marginAfterQuirk bits from RenderObject
and puts them into RenderBlock instead. I also did some renaming and clean-up after
moving them, e.g., to hasMarginBeforeQuirk and hasMarginAfterQuirk.

Even though it's pretty irrelevant, I also made the code writing-mode-correct so that
the correct child margin quirk is propagated across differing writing mode
boundaries.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::marginBeforeEstimateForChild):
(WebCore::RenderBlock::setCollapsedBottomMargin):
(WebCore::RenderBlock::handleAfterSideOfBlock):
(WebCore::RenderBlock::hasMarginBeforeQuirk):
(WebCore):
(WebCore::RenderBlock::hasMarginAfterQuirk):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::setHasMarginBeforeQuirk):
(WebCore::RenderBlock::setHasMarginAfterQuirk):
(RenderBlock):
(WebCore::RenderBlock::hasMarginBeforeQuirk):
(WebCore::RenderBlock::hasMarginAfterQuirk):
(MarginInfo):
(WebCore::RenderBlock::MarginInfo::setHasMarginBeforeQuirk):
(WebCore::RenderBlock::MarginInfo::setHasMarginAfterQuirk):
(WebCore::RenderBlock::MarginInfo::hasMarginBeforeQuirk):
(WebCore::RenderBlock::MarginInfo::hasMarginAfterQuirk):

  • rendering/RenderObject.h:

(RenderObject):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(RenderObjectBitfields):

  • rendering/style/RenderStyle.h:
11:55 AM Changeset in webkit [144343] by abarth@webkit.org
  • 2 edits in trunk/LayoutTests

Remove these supressions now that we've reverted http://trac.webkit.org/changeset/144126.

  • platform/chromium/TestExpectations:
11:48 AM Changeset in webkit [144342] by Lucas Forschler
  • 8 edits in tags/Safari-537.31.11/Source/WebKit2

Merged r144217. <rdar://problem/13229828>

11:46 AM Changeset in webkit [144341] by commit-queue@webkit.org
  • 15 edits
    2 adds
    2 deletes in trunk

Unreviewed, rolling out r144126 and r144176.
http://trac.webkit.org/changeset/144126
http://trac.webkit.org/changeset/144176
https://bugs.webkit.org/show_bug.cgi?id=111096

Caused fast/notifications/notifications-request-
permission.html to crash (Requested by abarth on #webkit).

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

Source/WebCore:

  • GNUmakefile.list.am:
  • Modules/notifications/Notification.h:

(Notification):

  • Modules/notifications/Notification.idl:
  • Target.pri:
  • UseJSC.cmake:
  • UseV8.cmake:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSNotificationCustom.cpp: Added.

(WebCore):
(WebCore::JSNotification::requestPermission):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateParametersCheck):

  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/v8/custom/V8NotificationCustom.cpp: Added.

(WebCore):
(WebCore::V8Notification::requestPermissionMethodCustom):

LayoutTests:

  • fast/notifications/notifications-request-permission-optional-expected.txt: Removed.
  • fast/notifications/notifications-request-permission-optional.html: Removed.
11:45 AM Changeset in webkit [144340] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

DFG CFA should leave behind information in Edge that says if the Edge's type check is proven to succeed
https://bugs.webkit.org/show_bug.cgi?id=110840

Reviewed by Mark Hahnenberg.

This doesn't add any observable functionality to the compiler, yet. But it does give
every phase that runs after CFA the ability to know, in O(1) time, whether an edge
will need to execute a type check.

  • dfg/DFGAbstractState.h:

(JSC::DFG::AbstractState::filterEdgeByUse):
(JSC::DFG::AbstractState::filterByType):

  • dfg/DFGCommon.cpp:

(WTF):
(WTF::printInternal):

  • dfg/DFGCommon.h:

(JSC::DFG::isProved):
(DFG):
(JSC::DFG::proofStatusForIsProved):
(WTF):

  • dfg/DFGEdge.cpp:

(JSC::DFG::Edge::dump):

  • dfg/DFGEdge.h:

(JSC::DFG::Edge::Edge):
(JSC::DFG::Edge::setNode):
(JSC::DFG::Edge::useKindUnchecked):
(JSC::DFG::Edge::setUseKind):
(Edge):
(JSC::DFG::Edge::proofStatusUnchecked):
(JSC::DFG::Edge::proofStatus):
(JSC::DFG::Edge::setProofStatus):
(JSC::DFG::Edge::isProved):
(JSC::DFG::Edge::needsCheck):
(JSC::DFG::Edge::shift):
(JSC::DFG::Edge::makeWord):

11:43 AM Changeset in webkit [144339] by Lucas Forschler
  • 3 edits
    1 copy
    2 deletes in tags/Safari-537.31.11/Source/WebKit2

Merged r144217. <rdar://problem/13229828>

11:40 AM Changeset in webkit [144338] by Nate Chapin
  • 3 edits
    3 adds in trunk

Source/WebCore: Crash in CachedRawResource::responseReceived().
https://bugs.webkit.org/show_bug.cgi?id=110482

Reviewed by Adam Barth.

Test: http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::responseReceived):

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=110482

Reviewed by Adam Barth.

  • http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt: Added.
  • http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html: Added.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt: Added.
11:37 AM Changeset in webkit [144337] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WTF

Enable DFG JIT for Qt on Mac
https://bugs.webkit.org/show_bug.cgi?id=111095

Rubber-stamped by Simon Hausmann

  • wtf/Platform.h:
11:35 AM Changeset in webkit [144336] by eric.carlson@apple.com
  • 6 edits in trunk/Source

[Mac] use HAVE() macro instead of version check
https://bugs.webkit.org/show_bug.cgi?id=111087

Reviewed by Dean Jackson.

Source/WebCore:

No new tests, covered by existing tests.

  • page/CaptionUserPreferencesMac.h: Use HAVE(MEDIA_ACCESSIBILITY_FRAMEWORK).
  • page/CaptionUserPreferencesMac.mm: Ditto.

(WebCore::CaptionUserPreferencesMac::CaptionUserPreferencesMac): Ditto.
(WebCore::CaptionUserPreferencesMac::~CaptionUserPreferencesMac): Ditto.

  • page/PageGroup.cpp:

(WebCore::PageGroup::captionPreferences): Ditto.

Source/WTF:

  • wtf/Platform.h: Define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK.
11:33 AM Changeset in webkit [144335] by Chris Fleizach
  • 7 edits
    2 adds in trunk

WebSpeech: support the boundary event
https://bugs.webkit.org/show_bug.cgi?id=107350

Reviewed by Beth Dakin.

Source/WebCore:

Generate boundary events for speech synthesis and have them fire the appropriate events.
This implements for the Mac platform, as well as simulating these events in the mock
synthesizer for testing purposes.

Test: platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html

  • Modules/speech/SpeechSynthesis.cpp:

(WebCore):
(WebCore::SpeechSynthesis::boundaryEventOccurred):

  • Modules/speech/SpeechSynthesis.h:

(SpeechSynthesis):

  • platform/PlatformSpeechSynthesizer.h:

(WebCore):
(PlatformSpeechSynthesizerClient):

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(-[WebSpeechSynthesisWrapper speechSynthesizer:willSpeakWord:ofString:]):

  • platform/mock/PlatformSpeechSynthesizerMock.cpp:

(WebCore::PlatformSpeechSynthesizerMock::speak):

LayoutTests:

  • platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt: Added.
  • platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html: Added.
11:23 AM Changeset in webkit [144334] by Lucas Forschler
  • 2 edits in tags/Safari-537.31.11/Source/WebCore

Merged r142958. <rdar://problem/13237306>

11:16 AM Changeset in webkit [144333] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

PDFPlugin: PDF orientation isn't respected when printing or print-previewing
https://bugs.webkit.org/show_bug.cgi?id=110925
<rdar://problem/13008621>

Reviewed by Alexey Proskuryakov.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::drawPDFPage): Teach drawPDFPage about PDFPage's rotation property, and use it
to swap the PDF's cropbox. Painting now matches PDFViewController's historical behavior.

11:11 AM Changeset in webkit [144332] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

Add new webkit API to invoke a context menu.
https://bugs.webkit.org/show_bug.cgi?id=111040

Patch by Varun Jain <varunjain@chromium.org> on 2013-02-28
Reviewed by Adam Barth.

  • public/WebView.h:

(WebView):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::showContextMenu):
(WebKit):

  • src/WebViewImpl.h:
11:06 AM Changeset in webkit [144331] by abarth@webkit.org
  • 2 edits in trunk/LayoutTests

This timeout also happens in Release.

  • platform/chromium/TestExpectations:
11:04 AM Changeset in webkit [144330] by dgrogan@chromium.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Histogram all exits from IDBBackingStore::open
https://bugs.webkit.org/show_bug.cgi?id=110677

Reviewed by Tony Chang.

No tests because this only changes logging code.

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::IDBBackingStore::open):

11:03 AM Changeset in webkit [144329] by Lucas Forschler
  • 4 edits in tags/Safari-537.31.11/Source

Versioning.

11:00 AM Changeset in webkit [144328] by acolwell@chromium.org
  • 15 edits
    6 copies in trunk/Source

Factor SourceBuffer methods out of MediaSourcePrivate & WebMediaSource
into SourceBufferPrivate & WebSourceBuffer respectively.
https://bugs.webkit.org/show_bug.cgi?id=110798

Reviewed by Adam Barth, Jer Noble.

Source/WebCore:

No new tests. No user visible behavior has changed.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::addSourceBuffer):
(WebCore::MediaSource::removeSourceBuffer):

  • Modules/mediasource/MediaSource.h:

(MediaSource):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::create):
(WebCore):
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::buffered):
(WebCore::SourceBuffer::setTimestampOffset):
(WebCore::SourceBuffer::append):
(WebCore::SourceBuffer::abort):
(WebCore::SourceBuffer::removedFromMediaSource):
(WebCore::SourceBuffer::isRemoved):
(WebCore::SourceBuffer::isOpen):
(WebCore::SourceBuffer::isEnded):

  • Modules/mediasource/SourceBuffer.h:

(WebCore):
(SourceBuffer):

  • Modules/mediasource/SourceBufferList.cpp:

(WebCore::SourceBufferList::SourceBufferList):
(WebCore::SourceBufferList::remove):
(WebCore::SourceBufferList::clear):

  • Modules/mediasource/SourceBufferList.h:

(SourceBufferList):

  • html/HTMLMediaElement.cpp:
  • platform/graphics/MediaSourcePrivate.h:

(WebCore):
(MediaSourcePrivate):

  • platform/graphics/SourceBufferPrivate.h:

(WebCore):
(SourceBufferPrivate): Contains methods extracted from MediaPlayerPrivate.
(WebCore::SourceBufferPrivate::SourceBufferPrivate):
(WebCore::SourceBufferPrivate::~SourceBufferPrivate):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/WebMediaSourceClient.h:

(WebKit):
(WebMediaSourceClient):

  • public/WebSourceBuffer.h:

(WebKit):
(WebSourceBuffer): Contains SourceBuffer methods extracted from WebMediaSource.
(WebKit::WebSourceBuffer::~WebSourceBuffer):

  • src/AssertMatchingEnums.cpp:
  • src/MediaSourcePrivateImpl.cpp:

(WebKit):
(WebKit::MediaSourcePrivateImpl::MediaSourcePrivateImpl):
(WebKit::MediaSourcePrivateImpl::addSourceBuffer):
(WebKit::MediaSourcePrivateImpl::duration):
(WebKit::MediaSourcePrivateImpl::setDuration):
(WebKit::MediaSourcePrivateImpl::endOfStream):

  • src/MediaSourcePrivateImpl.h:

(WebKit):
(MediaSourcePrivateImpl): Adapts MediaSourcePrivate interface to WebMediaSourceClient.
(WebKit::MediaSourcePrivateImpl::~MediaSourcePrivateImpl):

  • src/SourceBufferPrivateImpl.cpp:

(WebKit):
(WebKit::SourceBufferPrivateImpl::SourceBufferPrivateImpl):
(WebKit::SourceBufferPrivateImpl::buffered):
(WebKit::SourceBufferPrivateImpl::append):
(WebKit::SourceBufferPrivateImpl::abort):
(WebKit::SourceBufferPrivateImpl::setTimestampOffset):
(WebKit::SourceBufferPrivateImpl::removedFromMediaSource):

  • src/SourceBufferPrivateImpl.h:

(WebKit):
(SourceBufferPrivateImpl): Adapts SourceBufferPrivate interface to WebSourceBuffer.
(WebKit::SourceBufferPrivateImpl::~SourceBufferPrivateImpl):

  • src/WebMediaPlayerClientImpl.cpp:

(WebMediaSourceClientImpl):
(WebKit):
(WebSourceBufferImpl): Temporary implementation of WebSourceBuffer to keep things working

until the Chromium side changes land.

(WebKit::WebMediaSourceClientImpl::addSourceBuffer):
(WebKit::WebMediaSourceClientImpl::duration):
(WebKit::WebMediaSourceClientImpl::setDuration):
(WebKit::WebMediaSourceClientImpl::endOfStream):
(WebKit::WebSourceBufferImpl::WebSourceBufferImpl):
(WebKit::WebSourceBufferImpl::buffered):
(WebKit::WebSourceBufferImpl::append):
(WebKit::WebSourceBufferImpl::abort):
(WebKit::WebSourceBufferImpl::setTimestampOffset):
(WebKit::WebSourceBufferImpl::removedFromMediaSource):

  • src/WebMediaSourceImpl.cpp:
10:55 AM Changeset in webkit [144327] by Lucas Forschler
  • 1 copy in tags/Safari-537.31.11

New Tag.

10:53 AM Changeset in webkit [144326] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Handle Set-Cookie immediately even when loading is deferred
https://bugs.webkit.org/show_bug.cgi?id=111083

Patch by Joe Mason <jmason@rim.com> on 2013-02-28
Reviewed by Yong Li.

Internal PR: 298805
Internally Reviewed By: Leo Yang

Handle Set-Cookie headers immediately, even if loading is being deferred, since any request
created while loading is deferred should include all cookies received. (This especially
affects Set-Cookie headers sent with a 401 response - often this causes an auth dialog to be
opened, which defers loading, but the followup request using the credentials from the dialog
needs to include the cookie.)

This is safe because handleSetCookieHeader only updates the cookiejar, it doesn't call back
into the loader.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::notifyHeadersReceived):
(WebCore::NetworkJob::handleNotifyHeaderReceived):

10:51 AM Changeset in webkit [144325] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

10:16 AM Changeset in webkit [144324] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't install unused XPCServices on Lion
<rdar://problem/13264712>

Rubber-stamped by Anders Carlsson

  • Configurations/BaseXPCService.xcconfig:
10:11 AM Changeset in webkit [144323] by dgrogan@chromium.org
  • 7 edits
    1 add in trunk/Source

IndexedDB: IO error when checking schema should destroy LevelDB directory
https://bugs.webkit.org/show_bug.cgi?id=110675

Reviewed by Adam Barth.

Source/WebCore:

Also some refactoring to remove IDBBackingStore's dependence on
static LevelDBDatabase methods. This facilitated the unit test.

New unit test - IDBIOErrorTest.CleanUpTest

  • Modules/indexeddb/IDBBackingStore.cpp:

(DefaultLevelDBFactory):
Wraps the previous behavior.
(WebCore::IDBBackingStore::open):
The default parameter provides the previous behavior, which is what
non-tests want.

  • Modules/indexeddb/IDBBackingStore.h:
  • platform/leveldb/LevelDBDatabase.h:

Source/WebKit/chromium:

  • WebKit.gyp:

This was cargo-culted. The component build wouldn't run otherwise.

  • WebKit.gypi:
  • tests/IDBCleanupOnIOErrorTest.cpp: Added.
10:00 AM Changeset in webkit [144322] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r144157.
http://trac.webkit.org/changeset/144157
https://bugs.webkit.org/show_bug.cgi?id=110794

It broke chromium windows build

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNamedConstructor):

  • bindings/scripts/test/V8/V8TestNamedConstructor.cpp:

(WebCore::V8TestNamedConstructorConstructorCallback):
(WebCore::V8TestNamedConstructorConstructor::GetTemplate):

  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore::v8HTMLImageElementConstructorMethodCustom):
(WebCore::V8HTMLImageElementConstructor::GetTemplate):

9:19 AM Changeset in webkit [144321] by peter@chromium.org
  • 2 edits in branches/chromium/1410/Source/WebKit/chromium

Merge 143917

[Chromium] Disable registerProtocolHandler on Android
https://bugs.webkit.org/show_bug.cgi?id=110481

Patch by Anton Vayvod <avayvod@chromium.org> on 2013-02-25
Reviewed by Julien Chaffraix.

Chromium for Android has been exposing registerProtocolHandler, but the feature wasn't
actually wired up internally. Disable the feature to avoid breaking feature detection until
we can implement it properly. Previous attempt is at http://trac.webkit.org/changeset/133465
See the discussion of the future implementation at http://crbug.com/156386

  • features.gypi: Disable the flag for Android, enable it only for non-Android platforms.
  • src/ChromeClientImpl.h: Declaration is now guarded by the flag, not to break Android.

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/12382019

9:16 AM Changeset in webkit [144320] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Marking one more html5 test as timeout

Unreviewed expectations, removing a Debug modifier.

  • platform/chromium/TestExpectations:
9:16 AM Changeset in webkit [144319] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit2

BUILD FIX (r144221): SetSmartInsertDeleteEnabled should be wrapped in PLATFORM(MAC)

  • WebProcess/WebPage/WebPage.messages.in: Move

SetSmartInsertDeleteEnabled from USE(APPKIT) to PLATFORM(MAC).

9:05 AM Changeset in webkit [144318] by hyatt@apple.com
  • 14 edits
    2 adds in trunk

[New Multicolumn] Rewrite the painting/stacking model to be spec compliant.
https://bugs.webkit.org/show_bug.cgi?id=110624.

Reviewed by Simon Fraser.

Source/WebCore:

This patch implements a new painting and hit testing model for columns that is
spec-compliant with Section 3.5 of the multicolumn specification, which states:

"All column boxes in a multi-column element are in the same stacking context and
the drawing order of their contents is as specified in CSS 2.1. Column boxes do
not establish new stacking contexts."

What this statement means is that you cannot paint a layer and all its stacking
context descendants in a strip in each column, since some of those descendants
might actually "break out" of the pagination (like fixed positioned descendants)
and overlap multiple columns. In addition clips may apply across pagination
boundaries, and any overlap caused by opacity has to do the right thing and
treat the paginated and unpaginated components together as a single unit.

The solution to this problem is to introduce the concept of a LayerFragment. Now
all layers when painting or hit testing compute a fragment list, and that list
is then walked in order to do painting and hit testing of layers. In the simple
unpaginated case, a layer has one LayerFragment, but in the case of columns the
layer may be broken up into multiple fragments representing boxes in separate
columns.

Much of this patch consists of refactoring all of the painting and hit testing
code to operate on these fragments.

Test: fast/multicol/mixed-positioning-stacking-order.html.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::collectLayerFragments):
This method is called by the RenderLayer code to fetch the layer fragments from
the regions of a flow thread. The flow thread just turns around and calls into
each of its regions one by one to get the fragments from each region.

(WebCore::RenderFlowThread::fragmentsBoundingBox):
A new function that collects LayerFragments and then determines the bounding
box that encloses all of the fragments.

  • rendering/RenderFlowThread.h:

Declarations of the new methods for obtaining layer fragments and bounding
box information for fragments.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updatePagination):
RenderLayers now track an enclosing pagination layer. If this is set, then the layer knows it
needs to check with the enclosing pagination layer's flow thread renderer to
obtain layer fragments.

(WebCore::transparencyClipBox):
Modified to obtain a fragments bounding box so that opacity can operate correctly on
column boxes.

(WebCore::accumulateOffsetTowardsAncestor):
This method has been patched to allow for fixed positioned objects to escape
in-flow RenderFlowThreads. Our in-flow RenderFlowThreads behave differently from
CSS Regions flow threads in that they aren't necesssarily acting as the containing
block for all of their descendants. Content is allowed to "escape" from the flow
thread.

(WebCore::RenderLayer::collectFragments):
A new method that collects fragments from the flow thread and sets up the appropriate
clips and translations on each fragment.

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
Refactoring of painting to break all individual painting steps out into methods that walk over
fragment boxes. This actually had the side effect of making the main painting function,
paintLayerContents, much cleaner and easier to read. :)

(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::createLocalTransformState):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestContentsForFragments):
(WebCore::RenderLayer::hitTestResizerInFragments):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::hitTestContents):
(WebCore::RenderLayer::hitTestList):
Refactoring of hit testing to break all individual hit testing steps out into methods that walk over
fragment boxes.

(WebCore::RenderLayer::backgroundClipRect):
Modified to avoid using the clip rects cache when crossing into different pagination contexts,
e.g., from unpaginated to paginated.

(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::boundingBox):
Modified boundingBox to work with fragments. A new flag is used to indicate whether or not
the bounds of fragments or the original unsplit box are being computed.

(WebCore::RenderLayer::collectLayers):
Fix layer collection so that in-flow RenderFlowThreads can still be collected, since in-flow
RenderFlowThreads do not establish stacking contexts.

  • rendering/RenderLayer.h:

(WebCore::ClipRect::moveBy):
Added a moveBy method that just wrap the corresponding LayoutRect method.

(LayerFragment):
(WebCore::LayerFragment::LayerFragment):
(WebCore::LayerFragment::setRects):
(WebCore::LayerFragment::moveBy):
(WebCore::LayerFragment::intersect):
(WebCore::RenderLayer::enclosingPaginationLayer):
The new LayerFragment struct. Holds clips and translation information for each fragment box.

(WebCore::RenderLayer::isOutOfFlowRenderFlowThread):
Helper method for determining if the renderer is an out-of-flow RenderFlowThread.

  • rendering/RenderMultiColumnBlock.cpp:

(WebCore::createMultiColumnFlowThreadStyle):
Change the flow thread style to no longer establish a stacking context.

(WebCore::RenderMultiColumnBlock::layoutBlock):
Patched to move the flow thread to a position that allows it to be untranslated in the
initial column.

(WebCore):

  • rendering/RenderMultiColumnBlock.h:

(RenderMultiColumnBlock):
layoutBlock is subclassed to tweak the flow thread's position.

  • rendering/RenderMultiColumnFlowThread.h:

(RenderMultiColumnFlowThread):
The flow thread for multi-column blocks implements collectLayerFragments to hand back LayerFragment
information based off its RenderMultiColumnSets.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::paintObject):
Changed to no longer paint column contents, since the layer code is just doing that now.

(WebCore::RenderMultiColumnSet::collectLayerFragments):
The method that figures out what columns are intersected by a layer and hands back
initial fragment information.

  • rendering/RenderMultiColumnSet.h:

(RenderMultiColumnSet):
Declaration of collectLayerFragments.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::container):
Patch container() to allow fixed positioned objects to escape in-flow RenderFlowThreads.

  • rendering/RenderObject.h:

(WebCore::RenderObject::isInFlowRenderFlowThread):
(WebCore::RenderObject::isOutOfFlowRenderFlowThread):
Methods for distinguishing between in-flow and out-of-flow RenderFlowThreads.

(WebCore::RenderObject::canContainFixedPositionObjects):
Patch canContainFixedPositionObjects() to allow fixed positioned objects to escape
in-flow RenderFlowThreads.

  • rendering/RenderRegion.h:

(WebCore::RenderRegion::collectLayerFragments):
(RenderRegion):
The virtual functions on Region for fragment collection.

LayoutTests:

  • fast/multicol/mixed-positioning-stacking-order-expected.html: Added.
  • fast/multicol/mixed-positioning-stacking-order.html: Added.
8:57 AM Changeset in webkit [144317] by vivek.vg@samsung.com
  • 2 edits in trunk/Source/WebCore

Web Inspector: Adding existing key in DOMStorageItemsView leaves it inconsistent state
https://bugs.webkit.org/show_bug.cgi?id=111061

Reviewed by Alexander Pavlov.

The view must be checked for all the rows with the matching keys. Only the first one would be updated
with the new value while the others must be removed from the grid. Also in case there are various key/value
pairs, the changed node should be selected and revealed in the grid.

No new tests as UI related minor change.

  • inspector/front-end/DOMStorageItemsView.js:

(WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):

8:41 AM Changeset in webkit [144316] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] User credentials is not correctly handled
https://bugs.webkit.org/show_bug.cgi?id=110994

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-02-28
Reviewed by Yong Li.

WTF::String::utf8 no longer receives a bool, see r134173.

  • platform/network/blackberry/CredentialBackingStore.cpp:

(WebCore::CredentialBackingStore::encryptedString):

8:06 AM Changeset in webkit [144315] by Lucas Forschler
  • 1 copy in tags/Safari-537.32

New Tag.

7:27 AM Changeset in webkit [144314] by kareng@chromium.org
  • 2 edits in branches/chromium/1425/Source/WebCore/bindings

Revert 144142

[V8] Remove Event::dataTransferAttrGetterCustom() and Event::valueAttrSetterCustom()
https://bugs.webkit.org/show_bug.cgi?id=110666

Reviewed by Adam Barth.

Event::dataTransferAttrGetterCustom() is not used
(i.e. the custom method is not registered to V8).
Event::valueAttrSetterCustom() is declared but not
implemented. We can remove them.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeaderCustomCall):

  • bindings/v8/custom/V8EventCustom.cpp:

TBR=haraken@chromium.org
Review URL: https://codereview.chromium.org/12386021

7:26 AM Changeset in webkit [144313] by kareng@chromium.org
  • 3 edits in branches/chromium/1425/Source/WebCore/bindings

Revert 144157

[V8] Generate a wrapper function for named constructor callbacks
https://bugs.webkit.org/show_bug.cgi?id=110794

Reviewed by Adam Barth.

This would be the final step of generating wrapper functions.
The patch generates the following wrapper function for named
constructor callbacks.

Handle<Value> namedConstructorCallback(...)
{

return namedConstructor(...);

}

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNamedConstructor):

  • bindings/scripts/test/V8/V8TestNamedConstructor.cpp:

(WebCore::namedConstructor):
(WebCore::namedConstructorCallback):
(WebCore):
(WebCore::V8TestNamedConstructorConstructor::GetTemplate):

  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore::namedConstructor):
(WebCore::namedConstructorCallback):
(WebCore):
(WebCore::V8HTMLImageElementConstructor::GetTemplate):

TBR=haraken@chromium.org
Review URL: https://codereview.chromium.org/12377018

7:25 AM Changeset in webkit [144312] by kareng@chromium.org
  • 3 edits in branches/chromium/1425/Source/WebCore/bindings/scripts

Revert 144194

[V8] Generate a wrapper function for ReplaceableAttrSetter()
https://bugs.webkit.org/show_bug.cgi?id=110781

Reviewed by Adam Barth.

This is one of steps to insert TRACE_EVENT_STATE() macros
into DOM bindings. This patch introduces an indirection function
for xxxReplaceableAttrSetter(), like this:

For non-custom replaceable setters (Note: One implementation
is enough for all replaceable setters in one interface.)
void V8XXX:::ReplaceableAttrSetterCallback(...) {

V8XXX::ReplaceableAttrSetter(...);

}

For custom replaceable setters. (Note: This is treated as
a normal custom setter.)
void xxxAttrSetterCallback(...) {

return xxxAttrSetterCustom(...);

}

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateReplaceableAttrSetterCallback):
(GenerateReplaceableAttrSetter):
(GenerateSingleBatchedAttribute):
(GenerateImplementation):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::TestObjReplaceableAttrSetterCallback):
(TestObjV8Internal):
(WebCore):

  • bindings/scripts/test/V8/V8TestTypedefs.cpp:

(WebCore::TestTypedefsV8Internal::TestTypedefsReplaceableAttrSetterCallback):
(TestTypedefsV8Internal):

TBR=haraken@chromium.org
Review URL: https://codereview.chromium.org/12389023

7:24 AM Changeset in webkit [144311] by kareng@chromium.org
  • 1 add in branches/chromium/1425/codereview.settings

for drovering

7:19 AM Changeset in webkit [144310] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.
https://bugs.webkit.org/show_bug.cgi?id=111058.

  • platform/qt/TestExpectations: Skipped failing test after r144236.
7:17 AM Changeset in webkit [144309] by liachen@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Disable auto-filling password in forms when auto-form-filling is not enabled.
https://bugs.webkit.org/show_bug.cgi?id=111006

Internal PR: 295181
Internal reviewed by Joe Mason.

Reviewed by Yong Li.

Check WebSettings::isFormAutofillEnabled() before doing user credential form fill stuff.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):

7:15 AM Changeset in webkit [144308] by kareng@chromium.org
  • 1 copy in branches/chromium/1425

brachning for 1425

7:14 AM Changeset in webkit [144307] by liachen@rim.com
  • 2 edits in trunk/Source/WebCore

[BlackBerry] User credentials are not correctly handled for non-browser usage
https://bugs.webkit.org/show_bug.cgi?id=111032

Internal PR: 295181
Internal reviewed by Joe Mason.

Reviewed by Yong Li.

Use encrypted password as binary data when calling SQLiteStatement::bindBlob(), in
stead of using it as a normal WTF::String.

No new tests as this causes no expected behaviour change.

  • platform/network/blackberry/CredentialBackingStore.cpp:

(WebCore::CredentialBackingStore::addLogin):
(WebCore::CredentialBackingStore::updateLogin):

7:03 AM Changeset in webkit [144306] by abecsi@webkit.org
  • 3 edits in trunk/Tools

[Qt] Enable thin archives before parsing the project files

Rubber-stamped by Simon Hausmann.

The targetSubDir() function can be called before default_post.prf has been
parsed therefore the gnu_thin_archives option has to be set in default_pre.prf
which is parsed before the main project file.
This issue was revealed by r144299 and fixes the clean build.

  • qmake/mkspecs/features/default_post.prf:
  • qmake/mkspecs/features/default_pre.prf:
6:53 AM Changeset in webkit [144305] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: "loadScript" function to load scripts via xhr
https://bugs.webkit.org/show_bug.cgi?id=110879

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

Create an alias for "importScript" function and use it in those cases
which assume lazy script loading.

No new tests.

  • inspector/front-end/Panel.js:

(WebInspector.PanelDescriptor.prototype.panel):

  • inspector/front-end/SourceFrame.js:

(WebInspector.SourceFrame):

  • inspector/front-end/utilities.js:
6:43 AM Changeset in webkit [144304] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Web Inspector: Move profiler tools into separate panels
https://bugs.webkit.org/show_bug.cgi?id=109832

Patch by Alexei Filippov <alph@chromium.org> on 2013-02-28
Reviewed by Yury Semikhatsky.

This is a first part of the fix that puts each profiler tool into a separate panel.
The fix introduces separate panels for each profiler type.
There are now six panel (including experimental):

  1. JS CPU profiler
  2. CSS Selector profiler
  3. JS Heap profiler
  4. Canvas profier
  5. Native memory snapshots
  6. Native memory distribution

The new functionality is put behind experimental flag.

  • inspector/front-end/ProfileLauncherView.js:

(WebInspector.ProfileLauncherView):
(WebInspector.ProfileLauncherView.prototype.addProfileType):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfileHeader.prototype.view):
(WebInspector.ProfileHeader.prototype.createView):
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
(WebInspector.ProfilesPanel.prototype._addProfileHeader):
(WebInspector.ProfilesPanel.prototype._removeProfileHeader):
(WebInspector.ProfilesPanel.prototype._showProfile):
(WebInspector.ProfilesPanel.prototype._searchableViews):
(WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
(WebInspector.ProfileGroupSidebarTreeElement):
(WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
(WebInspector.CPUProfilerPanel):
(WebInspector.CSSSelectorProfilerPanel):
(WebInspector.HeapProfilerPanel):
(WebInspector.CanvasProfilerPanel):
(WebInspector.MemoryChartProfilerPanel):
(WebInspector.NativeMemoryProfilerPanel):

  • inspector/front-end/Settings.js:

(WebInspector.ExperimentsSettings):

  • inspector/front-end/inspector.css:

(.toolbar-item.cpu-profiler .toolbar-icon):
(.toolbar-item.css-profiler .toolbar-icon):
(.toolbar-item.heap-profiler .toolbar-icon):
(.toolbar-item.canvas-profiler .toolbar-icon):
(.toolbar-item.memory-chart-profiler .toolbar-icon):
(.toolbar-item.memory-snapshot-profiler .toolbar-icon):

  • inspector/front-end/inspector.js:

(WebInspector._panelDescriptors):

6:34 AM Changeset in webkit [144303] by schenney@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

RenderTableCellDeathTest unit test fails on mac
https://bugs.webkit.org/show_bug.cgi?id=110992

Unreviewed revert of all changes. The problem seems to have resolved.

  • tests/RenderTableCellTest.cpp: Remove Mac disable code.
6:22 AM Changeset in webkit [144302] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, update expectation

  • platform/chromium/TestExpectations: Add ImageOnlyFailure for compositing/rtl/rtl-iframe-fixed-overflow.html
6:16 AM Changeset in webkit [144301] by toyoshim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed, quick test breakage fix for android
https://bugs.webkit.org/show_bug.cgi?id=110740

Patch by Seigo Nonaka <nona@chromium.org> on 2013-02-27

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::textInputInfo): Reconstruct condition check order

5:57 AM Changeset in webkit [144300] by allan.jensen@digia.com
  • 4 edits in trunk

[Qt] Enable CANVAS_PATH flag
https://bugs.webkit.org/show_bug.cgi?id=108508

Reviewed by Simon Hausmann.

Tools:

Also enable CANVAS_PATH flag for Qt.

  • qmake/mkspecs/features/features.pri:

LayoutTests:

Unskip CANVAS_PATH tests.

  • platform/qt/TestExpectations:
5:41 AM Changeset in webkit [144299] by abecsi@webkit.org
  • 3 edits in trunk/Tools

[Qt][TestWebKitAPI] The activeBuildConfig() function has been replaced with targetSubDir()

Rubber-stamped by Csaba Osztrogonác.

Besides suppressing a warning about the non-existing function this
fixes the build if there is a subdirectory (eg. debug-and-release).

  • TestWebKitAPI/InjectedBundle.pri:
  • TestWebKitAPI/TestWebKitAPI.pri:
5:05 AM Changeset in webkit [144298] by keishi@webkit.org
  • 2 edits in trunk/Source/WebCore

Add calendar header for new calendar picker
https://bugs.webkit.org/show_bug.cgi?id=110967

Reviewed by Kent Tamura.

The calendar header showing the current month and containing navigation
buttons, which will be part of the new calendar picker (Bug 109439).

No new tests. Code is not yet used.

  • Resources/pagepopups/calendarPicker.js:

(MonthPopupButton): Button that opens the month popup.
(MonthPopupButton.prototype._shouldUseShortMonth): Returns true if we should use the short month format in order to fit in the available width.
(MonthPopupButton.prototype.setCurrentMonth): Sets the month to the button label.
(MonthPopupButton.prototype.onClick): Dispatches buttonClick event which will tell the calendar picker to open the month popup.
(CalendarNavigationButton): A square button that fires repeatedly while the mouse is pressed down.
(CalendarNavigationButton.prototype.setDisabled):
(CalendarNavigationButton.prototype.onClick):
(CalendarNavigationButton.prototype.onMouseDown): Sets the timer to fire while the mouse is pressed down.
(CalendarNavigationButton.prototype.onWindowMouseUp):
(CalendarNavigationButton.prototype.onRepeatingClick):
(CalendarHeaderView): View containing month popup button and the navigation buttons.
(CalendarHeaderView.prototype.onCurrentMonthChanged): Sets the MonthPopupButton label and checks if the navigation buttons should be disabled.
(CalendarHeaderView.prototype.onNavigationButtonClick):
(CalendarHeaderView.prototype.setDisabled): Used to disable all the buttons while the month popup is open.

4:55 AM Changeset in webkit [144297] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled Chromium DEPS to r184931. Requested by
"Takashi Toyoshima" <toyoshim@chromium.org> via sheriffbot.

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

  • DEPS:
4:33 AM Changeset in webkit [144296] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/TestExpectations: Skipped failing test after r144265.
4:28 AM Changeset in webkit [144295] by pfeldman@chromium.org
  • 6 edits in trunk

Web Inspector: class console-formatted-string renamed to console-formatted- ?
https://bugs.webkit.org/show_bug.cgi?id=110881

Reviewed by Vsevolod Vlasov.

Source/WebCore:

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._renderPropertyPreview):

LayoutTests:

  • http/tests/inspector/console-test.js:

(initialize_ConsoleTest.InspectorTest.dumpConsoleMessages):

  • inspector/console/console-object-preview-expected.txt:
  • inspector/console/console-object-preview.html:
4:28 AM Changeset in webkit [144294] by mikhail.pozdnyakov@intel.com
  • 2 edits in trunk/Tools

[EFL][WTR] WTR cannot load injected bundle
https://bugs.webkit.org/show_bug.cgi?id=111063

Reviewed by Csaba Osztrogonác.

WTR was not able to load injected bundle because of undefined
symbols for AccessibilityUIElement::scrollToMakeVisible().
Adding empty implementation of this function to AccessibilityUIElementAtk.cpp
solves the problem.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::scrollToMakeVisible):

4:26 AM Changeset in webkit [144293] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, update expectation

  • platform/chromium/TestExpectations:
4:22 AM Changeset in webkit [144292] by mkwst@chromium.org
  • 5 edits
    4 adds in trunk

XSSAuditor should strip formaction attributes from input and button elements.
https://bugs.webkit.org/show_bug.cgi?id=110975

Reviewed by Daniel Bates.

Source/WebCore:

The 'formaction' attribute of 'input' and 'button' elements is just as
dangerous as the 'action' attribute of 'form' elements. This patch
teaches the XSSAuditor how to avoid them.

Tests: http/tests/security/xssAuditor/formaction-on-button.html

http/tests/security/xssAuditor/formaction-on-input.html

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::filterStartToken):
(WebCore::XSSAuditor::filterInputToken): Added.
(WebCore::XSSAuditor::filterButtonToken): Added.

  • html/parser/XSSAuditor.h:

Create filters for 'input' and 'button' elements, which currently
only have the effect of filtering the 'formaction' attribute.

LayoutTests:

  • http/tests/security/xssAuditor/formaction-on-button-expected.txt: Added.
  • http/tests/security/xssAuditor/formaction-on-button.html: Added.
  • http/tests/security/xssAuditor/formaction-on-input-expected.txt: Added.
  • http/tests/security/xssAuditor/formaction-on-input.html: Added.
  • http/tests/security/xssAuditor/resources/echo-intertag.pl:

Support 'showFormaction' as a new option to write out formaction values.

4:08 AM Changeset in webkit [144291] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, clean up expectations to remove lint errors #1.

  • platform/chromium/TestExpectations:
3:58 AM Changeset in webkit [144290] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r144169): It broke clipping
https://bugs.webkit.org/show_bug.cgi?id=111065

Reviewed by Noam Rosenthal.

The clipstack was not marked dirty when new clips were added
leading to clipping never being applied.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::ClipStack::push):

3:50 AM Changeset in webkit [144289] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/WebCore

OpenCL implementation of FEImage SVG Filter.
https://bugs.webkit.org/show_bug.cgi?id=110752

Patch by Tamas Czene <tczene@inf.u-szeged.hu> on 2013-02-28
Reviewed by Zoltan Herczeg.

The result of the image is uploaded to an OpenCL buffer.

  • Target.pri:
  • platform/graphics/gpu/opencl/OpenCLFEImage.cpp: Added.

(WebCore):
(WebCore::FEImage::platformApplyOpenCL):

  • svg/graphics/filters/SVGFEImage.h:

(FEImage):

3:35 AM Changeset in webkit [144288] by mkwst@chromium.org
  • 5 edits
    2 adds in trunk

Web Inspector: Make it obvious where command line functions come from
https://bugs.webkit.org/show_bug.cgi?id=62367

Reviewed by Pavel Feldman.

Source/WebCore:

This patch adds a custom .toString() method on the various command-line
API methods that are bound in the inspector. Rather than dumping the
function text, we now model the response after that of native methods:
"function () { [Command Line API] }".

Test: inspector/console/console-native-function-to-string.html

  • inspector/InjectedScriptSource.js:

Added a function to the CommandLineAPI constructor that creates a
custom toString() method for each command-line API method.

LayoutTests:

  • inspector/console/console-native-function-to-string-expected.txt: Added.
  • inspector/console/console-native-function-to-string.html: Added.
3:15 AM Changeset in webkit [144287] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviwed gardening. Skip test that made to crash other test.

  • platform/qt-5.0-wk1/TestExpectations:
3:06 AM Changeset in webkit [144286] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, update test expectation

  • platform/chromium/TestExpectations:
2:47 AM Changeset in webkit [144285] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, gardening.
https://bugs.webkit.org/show_bug.cgi?id=111062

  • platform/chromium/TestExpectations:
2:35 AM Changeset in webkit [144284] by zandobersek@gmail.com
  • 9 edits
    7 adds in trunk/LayoutTests

Unreviewed GTK gardening.

Generating missing baselines for an octet of media tests and removing related expectations.

  • platform/gtk/TestExpectations: Also removing expectation for

fast/multicol/newmulticol/column-rules-fixed-height.html, the test is now passing.

  • platform/gtk/media/audio-controls-rendering-expected.png: Added.
  • platform/gtk/media/audio-controls-rendering-expected.txt: Added.
  • platform/gtk/media/controls-after-reload-expected.png: Added.
  • platform/gtk/media/controls-after-reload-expected.txt:
  • platform/gtk/media/controls-strict-expected.png: Added.
  • platform/gtk/media/controls-strict-expected.txt:
  • platform/gtk/media/controls-styling-strict-expected.txt:
  • platform/gtk/media/controls-without-preload-expected.png: Added.
  • platform/gtk/media/controls-without-preload-expected.txt:
  • platform/gtk/media/video-controls-rendering-expected.png:
  • platform/gtk/media/video-controls-rendering-expected.txt:
  • platform/gtk/media/video-display-toggle-expected.png: Added.
  • platform/gtk/media/video-display-toggle-expected.txt:
  • platform/gtk/media/video-playing-and-pause-expected.png: Added.
  • platform/gtk/media/video-playing-and-pause-expected.txt:
2:15 AM Changeset in webkit [144283] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adding failure expectations for tests added in r144236 and r144258.
2:07 AM Changeset in webkit [144282] by mkwst@chromium.org
  • 2 edits in trunk/LayoutTests

Cleanup: XSSAuditor's form[action] tests should be manually executable.
https://bugs.webkit.org/show_bug.cgi?id=111049

Reviewed by Daniel Bates.

We currently check whether we're running in a DRT-like world before
creating user-visible output for XSSAuditor's form[action] tests. This
patch removes that restriction in order to allow manually-run tests
to show some reasonable output.

  • http/tests/security/xssAuditor/resources/echo-intertag.pl:

Drop the 'if (window.testRunner)' from the 'showAction' branch in
order to allow manually running the test.

1:49 AM Changeset in webkit [144281] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening
https://bugs.webkit.org/show_bug.cgi?id=111054

  • platform/chromium/TestExpectations:
1:41 AM Changeset in webkit [144280] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skipped failing ref html tests.

  • platform/qt/TestExpectations:
1:39 AM Changeset in webkit [144279] by Simon Hausmann
  • 2 edits in trunk/Source/JavaScriptCore

[Qt][Mac] Fix massive parallel builds

Reviewed by Tor Arne Vestbø.

There exists a race condition that LLIntDesiredOffsets.h is written to
by two parllel instances of the ruby script. This patch ensures that similar to the output file,
the generated file is also prefixed according to the build configuration.

  • LLIntOffsetsExtractor.pro:
1:39 AM Changeset in webkit [144278] by ddkilzer@apple.com
  • 4 edits in trunk/Source/WebCore

ResourceRequestCFNet.cpp won't compile after r144216
<http://webkit.org/b/111034>

Reviewed by Alexey Proskuryakov.

  • WebCore.exp.in: Move Mac-only symbol into !PLATFORM(IOS)

section. Update iOS-only symbol to add argument.

  • platform/network/cf/ResourceRequest.h: Remove unused method

declaration.

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformHTTPBody): Fix typos.
Add static_cast<CFStringRef>().
(WebCore::ResourceRequest::doUpdateResourceHTTPBody): Fix another
typo.

1:33 AM Changeset in webkit [144277] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Add a failing test expectation to navigation-should-abort.html on Mac WebKit1.
The failure is tracked by the bug 111052.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
1:32 AM Changeset in webkit [144276] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Misc build fixes
https://bugs.webkit.org/show_bug.cgi?id=110448

Patch by Alberto Garcia <albgarcia@rim.com> on 2013-02-28
Reviewed by Rob Buis.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
WebString was replaced with BlackBerry::Platform::String in r131316.
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
Some webdatabase APIs are encapuslated in DatabaseManager since r137520.
(BlackBerry::WebKit::WebPagePrivate::postponeDocumentStyleRecalc):
Document::isPendingStyleRecalc() was renamed to hasPendingStyleRecalc() in r129844.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::updateFormState):
Add closing brace that was missing in r142482.

1:26 AM Changeset in webkit [144275] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[BlackBerry] TestRunnerBlackBerry: remove layerTreeAsText, it's gone from upstream
https://bugs.webkit.org/show_bug.cgi?id=110464

Patch by Alberto Garcia <albgarcia@rim.com> on 2013-02-28
Reviewed by Rob Buis.

  • DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
1:25 AM Changeset in webkit [144274] by commit-queue@webkit.org
  • 5 edits in trunk

[BlackBerry] DumpRenderTreeSupport: update the set position methods
https://bugs.webkit.org/show_bug.cgi?id=110578

Patch by Xan Lopez <xlopez@rim.com> on 2013-02-28
Reviewed by Rob Buis.

TestRunner::setMockGeolocationPosition() changed in r130416:
http://trac.webkit.org/changeset/130416/trunk/Tools/DumpRenderTree/TestRunner.h

Source/WebKit/blackberry:

  • WebKitSupport/DumpRenderTreeSupport.cpp:

(DumpRenderTreeSupport::setMockGeolocationPosition):

  • WebKitSupport/DumpRenderTreeSupport.h:

(DumpRenderTreeSupport):

Tools:

DumpRenderTreeSupport::setMockGeolocationError() was renamed to
setMockGeolocationPositionUnavailableError() in r129444:
http://trac.webkit.org/changeset/129444/trunk/Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.h

  • DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:

(TestRunner::setMockGeolocationPosition):
(TestRunner::setMockGeolocationPositionUnavailableError):

1:17 AM Changeset in webkit [144273] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[BlackBerry] WorkQueueItemBlackBerry: use the new FrameLoader API
https://bugs.webkit.org/show_bug.cgi?id=110465

Patch by Xan Lopez <xlopez@rim.com> on 2013-02-28
Reviewed by Rob Buis.

  • DumpRenderTree/blackberry/WorkQueueItemBlackBerry.cpp:

(LoadItem::invoke):

1:12 AM Changeset in webkit [144272] by abarth@webkit.org
  • 2 edits in trunk/LayoutTests

A couple more tweaks to TestExpectations after the threaded parser.

  • platform/chromium/TestExpectations:
12:56 AM Changeset in webkit [144271] by tkent@chromium.org
  • 8 edits in trunk

Unreviewed, rolling out r144184.
http://trac.webkit.org/changeset/144184
https://bugs.webkit.org/show_bug.cgi?id=110974

The change didn't fix all of the problems.

Source/WebCore:

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:
  • html/BaseMultipleFieldsDateAndTimeInputType.h:

(BaseMultipleFieldsDateAndTimeInputType):

LayoutTests:

  • fast/forms/date/date-appearance-basic-expected.txt:
  • fast/forms/date/date-appearance-basic.html:
  • platform/chromium-mac/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium/TestExpectations:
12:42 AM Changeset in webkit [144270] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, mark two tests as slow.
https://bugs.webkit.org/show_bug.cgi?id=111038
https://bugs.webkit.org/show_bug.cgi?id=111046

  • platform/chromium/TestExpectations:
12:27 AM WebKitIDL edited by kojih@chromium.org
(diff)
12:18 AM Changeset in webkit [144269] by abarth@webkit.org
  • 2 edits in trunk/LayoutTests

Apparently Failure does not include ImageOnlyFailure.

  • platform/chromium/TestExpectations:
12:07 AM Changeset in webkit [144268] by abarth@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed.

The version of this file I landed in
http://trac.webkit.org/changeset/144262 appears to have been
ever-so-slightly incorrect.

  • platform/chromium/inspector/timeline/timeline-script-tag-1-expected.txt:

Feb 27, 2013:

11:57 PM Changeset in webkit [144267] by rniwa@webkit.org
  • 2 edits in trunk/Tools

PerfTestRunner doesn't need _needs_http and _has_http_lock
https://bugs.webkit.org/show_bug.cgi?id=111037

Reviewed by Adam Barth.

Delete these variables in favor of using a local variable.

Member variables are like global variables. They introduce implicit dependencies
between member functions.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner.init):
(PerfTestsRunner._start_http_servers):
(PerfTestsRunner):
(PerfTestsRunner._stop_http_servers):
(PerfTestsRunner.run):

11:55 PM Changeset in webkit [144266] by commit-queue@webkit.org
  • 7 edits
    1 add in trunk

Unreviewed, rolling out r144224.
http://trac.webkit.org/changeset/144224
https://bugs.webkit.org/show_bug.cgi?id=111045

Caused plugins/pass-different-npp-struct.html to time out
(Requested by abarth on #webkit).

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

Tools:

  • DumpRenderTree/TestNetscapePlugIn/Tests/PassDifferentNPPStruct.cpp:

(PassDifferentNPPStruct::NPP_SetWindow):

  • DumpRenderTree/TestNetscapePlugIn/main.cpp:

(NPP_SetWindow):

LayoutTests:

  • platform/mac-wk2/plugins/netscape-plugin-setwindow-size-2-expected.txt: Added.
  • plugins/netscape-plugin-setwindow-size-2.html:
  • plugins/netscape-plugin-setwindow-size.html:
  • plugins/pass-different-npp-struct.html:
11:50 PM Changeset in webkit [144265] by eustas@chromium.org
  • 7 edits in trunk/Source/WebCore

Web Inspector: [Protocol] Genarate JS enum definitions.
https://bugs.webkit.org/show_bug.cgi?id=110461

Reviewed by Pavel Feldman.

Generating corresponding type annotations
would help to compiler to point errors.

  • inspector/CodeGeneratorInspector.py: Generate "registerEnum" records.
  • inspector/InjectedScriptSource.js: Shadow compiler warning.
  • inspector/front-end/InspectorBackend.js:

Added "registerEnum". Added "registerEnum" generation.

  • inspector/front-end/NetworkManager.js: Use enum instead of literal.
  • inspector/generate_protocol_externs.py: Generate enum typedefs.
11:44 PM Changeset in webkit [144264] by abarth@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed.

Update some test expectations based on the threaded parser behavior.
These look like test integration issues rather than actual bugs in the
parser. We will investigate them offline.

  • platform/chromium/TestExpectations:
10:44 PM Changeset in webkit [144263] by commit-queue@webkit.org
  • 12 edits
    2 adds in trunk

INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of hour field should respect min/max attributes
https://bugs.webkit.org/show_bug.cgi?id=109555

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2013-02-27
Reviewed by Kent Tamura.

Source/WebCore:

Make step-up/-down of the hour field respect the min/max attributes of the element.
Note that it still accepts any keyboard inputs (the element
becomes 'invalid' state when out-of-range values entered).
Also, disable the hour field and/or the AMPM field when there is only single possible value.

Test: fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield.html

fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-stepup-stepdown-from-renderer.html
fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html
fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html

  • html/TimeInputType.cpp:

(WebCore::TimeInputType::setupLayoutParameters): Populates layoutParameters.{minimum,maximum}.

  • html/shadow/DateTimeEditElement.cpp:

(DateTimeEditBuilder): Add data fields for min/max of day and hour fields.
(WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Set newly added data members.
(WebCore::DateTimeEditBuilder::visitField): Pass minimum/maximum value to the month field constructors.
(WebCore::DateTimeEditBuilder::shouldAMPMFieldDisabled): Added.
(WebCore::DateTimeEditBuilder::shouldDayOfMonthFieldDisabled):
(WebCore::DateTimeEditBuilder::shouldHourFieldDisabled):
Disables the hour field when min, max, and value have the same hour, except when the minute
field is disabled (by step attribute), because we need to leave at least one field editable.

  • html/shadow/DateTimeFieldElements.cpp:

(WebCore::DateTimeHourFieldElementBase::DateTimeHourFieldElementBase):
(WebCore::DateTimeHourFieldElementBase::initialize):
(WebCore::DateTimeHourFieldElementBase::setValueAsDate):
(WebCore::DateTimeHourFieldElementBase::setValueAsDateTimeFieldsState):
(WebCore::DateTimeHour11FieldElement::DateTimeHour11FieldElement):
(WebCore::DateTimeHour11FieldElement::create):
(WebCore::DateTimeHour11FieldElement::populateDateTimeFieldsState):
(WebCore::DateTimeHour11FieldElement::setValueAsInteger):
(WebCore::DateTimeHour11FieldElement::clampValueForHardLimits):
(WebCore::DateTimeHour12FieldElement::DateTimeHour12FieldElement):
(WebCore::DateTimeHour12FieldElement::create):
(WebCore::DateTimeHour12FieldElement::populateDateTimeFieldsState):
(WebCore::DateTimeHour12FieldElement::setValueAsInteger):
(WebCore::DateTimeHour12FieldElement::clampValueForHardLimits):
(WebCore::DateTimeHour23FieldElement::DateTimeHour23FieldElement):
(WebCore::DateTimeHour23FieldElement::create):
(WebCore::DateTimeHour23FieldElement::populateDateTimeFieldsState):
(WebCore::DateTimeHour23FieldElement::setValueAsInteger):
(WebCore::DateTimeHour23FieldElement::clampValueForHardLimits):
(WebCore::DateTimeHour24FieldElement::DateTimeHour24FieldElement):
(WebCore::DateTimeHour24FieldElement::create):
(WebCore::DateTimeHour24FieldElement::populateDateTimeFieldsState):
(WebCore::DateTimeHour24FieldElement::setValueAsInteger):
(WebCore::DateTimeHour24FieldElement::clampValueForHardLimits):

  • html/shadow/DateTimeFieldElements.h: Splitted DateTimeHourFieldElement into a base class and four derived classes that represents different hour formats.

(DateTimeHourFieldElementBase): Added.
(DateTimeHour11FieldElement): Added. Represents 0-11 hour format.
(DateTimeHour12FieldElement): Added. Represents 1-12 hour format.
(DateTimeHour23FieldElement): Added. Represents 0-23 hour format.
(DateTimeHour24FieldElement): Added. Represents 1-24 hour format.

LayoutTests:

Added test cases with min/max attributes.

  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield-expected.txt:
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield.html:
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-stepup-stepdown-from-renderer-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-stepup-stepdown-from-renderer.html: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield-expected.txt:
  • fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html:
  • fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-expected.txt:
  • fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html:
10:41 PM Changeset in webkit [144262] by abarth@webkit.org
  • 11 edits
    15 adds
    2 deletes in trunk

[Chromium] Enable threaded HTML parser by default in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=110907

Reviewed by Eric Seidel.

Tools:

This patch changes --enable-threaded-html-parser into
--disable-threaded-html-parser and thereby enables the threaded HTML
parser by default for the Chromium port.

  • DumpRenderTree/chromium/DumpRenderTree.cpp:
  • DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp:

(WebTestRunner::WebPreferences::reset):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::TestShell):

LayoutTests:

Update test results to show subtle differences in FrameLoaderClient callbacks.

  • platform/chromium-mac/security/block-test-no-port-expected.txt: Removed.
  • platform/chromium-win/fast/images/support-broken-image-delegate-expected.txt:
  • platform/chromium-win/security/block-test-no-port-expected.txt: Removed.
  • platform/chromium/fast/images/support-broken-image-delegate-expected.txt:
  • platform/chromium/fast/loader/main-document-url-for-non-http-loads-expected.txt: Added.
  • platform/chromium/http/tests/loading/307-after-303-after-post-expected.txt: Added.
  • platform/chromium/http/tests/misc/favicon-loads-with-images-disabled-expected.txt: Added.
  • platform/chromium/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt:
  • platform/chromium/http/tests/misc/window-dot-stop-expected.txt: Added.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt: Added.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Added.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Added.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow-expected.txt: Added.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Added.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-invalid-expected.txt: Added.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow-expected.txt: Added.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt: Added.
  • platform/chromium/inspector/debugger/pause-in-inline-script-expected.txt: Added.
  • platform/chromium/inspector/timeline/timeline-script-tag-1-expected.txt: Added.
  • platform/chromium/security/block-test-no-port-expected.txt:
10:31 PM FeatureFlags edited by tkent@chromium.org
Sort CSS3_* flags, update comments for form flags (diff)
10:25 PM FeatureFlags edited by tkent@chromium.org
Add STREAM and CSS3_TEXT_LINE_BREAK (diff)
10:14 PM EnableFormFeatures edited by tkent@chromium.org
(diff)
9:53 PM Changeset in webkit [144261] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[Chromium] Should not return WebTextInputTypeNone for date input element.
https://bugs.webkit.org/show_bug.cgi?id=110740

Patch by Seigo Nonaka <nona@chromium.org> on 2013-02-27
Reviewed by Kent Tamura.

In the case of Windows 8, text input state including on-screen keyboard is controlled by the
value of WebTextInputType returned from WebViewImpl::textInputType().
In past, it returned WebTextInputTypeDate for date text input but now it returns
WebTextInputTypeNone.
WebTextInputTypeNone is used for non editable node, so on-screen keyboard will be hidden if
the date text input is focused. So there is no way to input on Windows 8 tablet without
physical keyboard except tapping small up/down arrow.

  • public/WebTextInputType.h: Introduces WebTextInputTypeDateTimeField.
  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::textInputInfo): Fills type filed regardless of editable or not. It is
safe because textInputType returns editable type only for known editable element.
(WebKit::WebViewImpl::textInputType): Returns WebTextInputTypeDateTimeField for the date
time field element.

9:04 PM Changeset in webkit [144260] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Need to re-layout fixed position elements after scale when using settings()->fixedElementsLayoutRelativeToFrame()
https://bugs.webkit.org/show_bug.cgi?id=105486

Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-02-27
Reviewed by James Robinson.

In settings()->fixedElementsLayoutRelativeToFrame() mode, fixed-position
elements are layout relative to the current visible viewport, which can
be different from the layout viewport when using fixed-layout mode.
We need to re-layout fixed-position elements in case of visible content
size changes.

The test is currently chromium-specific due to difficulties to make this
test works on Mac. The mac port seems to work very differently with
visible content size when a page is scaled. And there is no reliable way
to hide scrollbars in mac-wk1 that doesn't cause a side effect.

Source/WebCore:

Test: platform/chromium/fast/repaint/relayout-fixed-position-after-scale.html

  • page/FrameView.h:

(FrameView):

  • page/Page.cpp:

(WebCore::Page::setPageScaleFactor):

LayoutTests:

  • platform/chromium/fast/repaint/relayout-fixed-position-after-scale-expected.html: Added.
  • platform/chromium/fast/repaint/relayout-fixed-position-after-scale.html: Added.
7:51 PM Changeset in webkit [144259] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Initialize page visibility after creating WebKitTestRunner WebView on Mac
https://bugs.webkit.org/show_bug.cgi?id=111025

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-02-27
Reviewed by Simon Fraser.

Set page visibility to "visible" after creating WebView to override
visibility state inferred from window occlusion notifications on Mac.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions): Add call to
setVisibilityState.

7:31 PM Changeset in webkit [144258] by hmuller@adobe.com
  • 7 edits
    8 adds in trunk

[CSS Exclusions] Enable shape-inside rectangle support for shape-padding
https://bugs.webkit.org/show_bug.cgi?id=110500

Reviewed by Dirk Schulze.

Source/WebCore:

Added support for CSS shape-padding for shapes defined with shape-inside.

Tests: fast/exclusions/shape-inside/shape-inside-circle-padding.html

fast/exclusions/shape-inside/shape-inside-ellipse-padding.html
fast/exclusions/shape-inside/shape-inside-rectangle-padding.html
fast/exclusions/shape-inside/shape-inside-rounded-rectangle-padding.html

  • rendering/ExclusionRectangle.cpp:

(WebCore::FloatRoundedRect::paddingBounds): Inset the rounded rectangle to reflect the padding parameter.
(WebCore::FloatRoundedRect::marginBounds): Expand the rounded rectangle to reflect the margin parameter.
(WebCore::FloatRoundedRect::cornerInterceptForWidth): Moved this method from ExclusionRectangle to FloatRoundedRect.
(WebCore::ExclusionRectangle::shapePaddingBounds): Lazily compute the bounds of the padding box.
(WebCore::ExclusionRectangle::shapeMarginBounds): Lazily compute the bounds of the margin box.
(WebCore::ExclusionRectangle::getExcludedIntervals): This computuation is now based on the (new) margin box.
(WebCore::ExclusionRectangle::getIncludedIntervals): This computation is now base don the (new) padding box.
(WebCore::ExclusionRectangle::firstIncludedIntervalLogicalTop): This computation is now base don the (new) padding box.

  • rendering/ExclusionRectangle.h:

(FloatRoundedRect): A subclass of FloatRect that includes corner radii specified as CSS shapes do.
(WebCore::FloatRoundedRect::FloatRoundedRect):
(WebCore::FloatRoundedRect::rx):
(WebCore::FloatRoundedRect::ry):
(WebCore::ExclusionRectangle::ExclusionRectangle):

  • rendering/ExclusionShape.cpp:

(WebCore::ExclusionShape::createExclusionShape): Initialize the new shapeMargin and shapePadding properties.

  • rendering/ExclusionShape.h:

(ExclusionShape):
(WebCore::ExclusionShape::shapeMargin): Added a public read-only property for shapeMargin.
(WebCore::ExclusionShape::shapePadding): Added a public read-only property for shapePadding.

  • rendering/ExclusionShapeInfo.cpp:

(WebCore::::computedShape): Pass the values of the CSS shape-margin and shapp-padding properties to createExclusionShape().

LayoutTests:

Added one shape-inside, shape-padding test for each CSS shape type.

  • fast/exclusions/shape-inside/shape-inside-circle-padding-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-circle-padding.html: Added.
  • fast/exclusions/shape-inside/shape-inside-ellipse-padding-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-ellipse-padding.html: Added.
  • fast/exclusions/shape-inside/shape-inside-rectangle-padding-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-rectangle-padding.html: Added.
  • fast/exclusions/shape-inside/shape-inside-rounded-rectangle-padding-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-rounded-rectangle-padding.html: Added.
7:09 PM Changeset in webkit [144257] by hclam@chromium.org
  • 2 edits in trunk/Source/WebCore

More style cleanup in GIFImageReader
https://bugs.webkit.org/show_bug.cgi?id=110776

Reviewed by Allan Sandfeld Jensen.

Renamed variable q to currentComponent which more accurately represent
the purpose.

No test. Simple refactoring.

  • platform/image-decoders/gif/GIFImageReader.cpp:

(GIFImageReader::decodeInternal):

6:58 PM Changeset in webkit [144256] by schenney@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

[Chromium] Rebaseline after r144236
https://bugs.webkit.org/show_bug.cgi?id=109879

Unreviewed expectations update

  • platform/chromium-linux/plugins/plugin-clip-subframe-expected.txt: Added.
6:29 PM Changeset in webkit [144255] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Merge PageLoadingPerfTest into ReplayPerfTest
https://bugs.webkit.org/show_bug.cgi?id=111027

Reviewed by Dirk Pranke.

Merged two classes.

We should really move ahead with the bug 100991 and get rid of PageLoadingPerfTest
part of ReplayPerfTest.

  • Scripts/webkitpy/performance_tests/perftest.py:

(ReplayPerfTest): Moved _FORCE_GC_FILE here.
(ReplayPerfTest.init):
(ReplayPerfTest._run_with_driver): Moved from PageLoadingPerfTest.
(ReplayPerfTest.run_single): Load the GC page as run_single on PageLoadingPerfTest did.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestReplayPerfTest):
(TestReplayPerfTest.test_run_single.run_test):
(TestReplayPerfTest.test_run_single): Make sure test_time is passed down properly from output.
(TestReplayPerfTest.test_run_with_driver_accumulates_results): Renamed from
TestPageLoadingPerfTest.test_run.
(TestReplayPerfTest.test_run_with_driver_accumulates_results.mock_run_signle):
(TestReplayPerfTest.test_run_with_driver_accumulates_memory_results): Renamed from
TestPageLoadingPerfTest.test_run_with_memory_output
(TestReplayPerfTest.test_run_with_driver_accumulates_memory_results.mock_run_signle):
(TestReplayPerfTest.test_prepare_calls_run_single):

6:24 PM Changeset in webkit [144254] by keishi@webkit.org
  • 2 edits in trunk/Source/WebCore

Add month popup for new calendar picker
https://bugs.webkit.org/show_bug.cgi?id=110830

Reviewed by Kent Tamura.

Adding month popup view for use in the new calendar picker (Bug 109439).
YearListCell will grow in height when selected to reveal the buttons for
selecting the month.

No new tests. Code is not used yet.

  • Resources/pagepopups/calendarPicker.js:

(YearListCell): A row inside the month popup. Contains buttons for choosing a month.
(YearListCell.prototype._recycleBin):
(YearListCell.prototype.reset): Resets a thrown away cell for reuse at the given row.
(YearListCell.prototype.height):
(YearListCell.prototype.setHeight):
(YearListView): List view showing YearListCells.
(YearListView.prototype.onMouseOver): If the mouse is over a month button, highlights it.
(YearListView.prototype.onMouseOut): De-highlights the month button.
(YearListView.prototype.setWidth): Set scroll view width to leave space for the scroll bar.
(YearListView.prototype.setHeight): Sets the scroll bar height as well.
(YearListView.prototype._animateRow): Animates the row height to open/close the YearListCell.
(YearListView.prototype.onCellHeightAnimatorDidStop): Keep this._runningAnimators and this._animatingRows up to date.
(YearListView.prototype.onCellHeightAnimatorStep): Update the cell height and position.
(YearListView.prototype.onClick): If this is a click on a month button, select the month.
(YearListView.prototype.rowAtScrollOffset): Calculates the row currently at the given offset.
(YearListView.prototype.scrollOffsetForRow): Calculates the current scroll offset of the given row.
(YearListView.prototype.prepareNewCell): Prepares a new or recycled YearListCell.
(YearListView.prototype.updateCells): Updates the position of the visible cells.
(YearListView.prototype.deselect): Deselects a row.
(YearListView.prototype.deselectWithoutAnimating): Deselects a row without the closing animation.
(YearListView.prototype.select): Selects a row.
(YearListView.prototype.selectWithoutAnimating): Deselects a row without the opening animation.
(YearListView.prototype.buttonForMonth): Returns the month button for a given month. Returns null if the cell is not visible.
(YearListView.prototype.dehighlightMonth): Dehighlights the month button.
(YearListView.prototype.highlightMonth): Highlights the month button.
(YearListView.prototype.show): Call when showing the year list view. Shows the given month as highlighted.
(YearListView.prototype.hide): Dispatches a did hide event which will be picked up by the CalendarPicker and the MonthPopupView will close.
(YearListView.prototype._moveHighlightTo): Used to move the month highlight in response to a key event.
(YearListView.prototype.onKeyDown): Arrow keys and PageUp/PageDown keys work.
(MonthPopupView): The popup view to be overlayed over the calendar picker.
(MonthPopupView.prototype.show): Takes the initialMonth to show and the calendarTableRect so we can overlay the year list view right on top of it.
(MonthPopupView.prototype.hide):
(MonthPopupView.prototype.onClick): Hides itself if the use clicks outside the year list view.

5:33 PM Changeset in webkit [144253] by eric@webkit.org
  • 3 edits in trunk/Tools

Add --additional-drt-flag option to run-perf-tests to make it easy to test runtime options
https://bugs.webkit.org/show_bug.cgi?id=111021

Reviewed by Dirk Pranke.

The underlying code (which is shared with run-webkit-tests)
already knew how to support this option, it just wasn't exposed
via the run-perf-tests front-end. This patch fixes that.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args):

4:56 PM Changeset in webkit [144252] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Stop uploading results to webkit-perf.appspot.com
https://bugs.webkit.org/show_bug.cgi?id=110954

Reviewed by Benjamin Poulain.

Pass in perf.webkit.org instead of webkit-perf.appspot.com as the test results server.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunAndUploadPerfTests):

4:42 PM Changeset in webkit [144251] by schenney@chromium.org
  • 1 edit
    2 adds
    1 delete in trunk/LayoutTests

[Chromium] Rebaseline after r144236
https://bugs.webkit.org/show_bug.cgi?id=109879

Unreviewed expectations update

  • platform/chromium-mac/plugins/plugin-clip-subframe-expected.txt: Added.
  • platform/chromium-win-xp/plugins: Removed.
  • platform/chromium-win/plugins/plugin-clip-subframe-expected.txt: Added.
4:41 PM AddingFeatures edited by l.gombos@samsung.com
GTK port is now using SetupWebKitFeatures.m4 (diff)
4:17 PM Changeset in webkit [144250] by abarth@webkit.org
  • 3 edits in trunk/Source/WebCore

Use FeatureObserver to see how often web sites use multipart main documents
https://bugs.webkit.org/show_bug.cgi?id=111015

Reviewed by Nate Chapin.

Multipart main documents add sigificant complexity to the loader. It
would be interesting to know how often this complexity is used.

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::responseReceived):

  • page/FeatureObserver.h:
3:50 PM Changeset in webkit [144249] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r144168.
http://trac.webkit.org/changeset/144168
https://bugs.webkit.org/show_bug.cgi?id=111019

It broke the build and tronical is unavailable (Requested by
Ossy_night on #webkit).

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

  • LLIntOffsetsExtractor.pro:
3:47 PM Changeset in webkit [144248] by simonjam@chromium.org
  • 22 edits
    2 adds in trunk

[chromium] Lower priority of preloaded images
https://bugs.webkit.org/show_bug.cgi?id=110527

Source/WebCore:

Reviewed by Nate Chapin.

This improves Speed Index by ~5%, because it encourages us to load images that are needed for
painting over speculative preloads. Ideally, all embedders would use this, but it relies on
ResourceHandle::didChangePriority being implemented. Currently, only Chrome does that.

Test: http/tests/loading/promote-img-preload-priority.html

  • loader/FrameLoaderClient.h:

(FrameLoaderClient):
(WebCore::FrameLoaderClient::dispatchDidChangeResourcePriority): Added callback to enable testing.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::setLoadPriority): Signal callback.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::preload): Actual behavior change.

Source/WebKit/chromium:

Plumb the didChangePriority signal into DRT so it can be tested.

Reviewed by Nate Chapin.

  • public/WebFrameClient.h:

(WebKit):
(WebKit::WebFrameClient::didChangeResourcePriority):
(WebFrameClient):

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::dispatchDidChangeResourcePriority):
(WebKit):

  • src/FrameLoaderClientImpl.h:

(FrameLoaderClientImpl):

Tools:

Plumb the didChangePriority signal into DRT so it can be tested.

Reviewed by Nate Chapin.

  • DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:

(WebKit):
(WebTestRunner::WebTestProxy::didChangeResourcePriority):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::shouldDumpResourcePriorities):
(WebTestRunner):
(WebTestRunner::TestRunner::dumpResourceRequestPriorities):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(TestRunner):

  • DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:

(WebTestRunner::WebTestProxyBase::assignIdentifierToRequest):
(WebTestRunner::WebTestProxyBase::willSendRequest):
(WebTestRunner::WebTestProxyBase::didChangeResourcePriority):
(WebTestRunner):

LayoutTests:

Reviewed by Nate Chapin.

  • http/tests/loading/promote-img-preload-priority-expected.txt: Added.
  • http/tests/loading/promote-img-preload-priority.html: Added.
3:25 PM Changeset in webkit [144247] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Unreviewed trivial buildfix after r144190.

Patch by Csaba Osztrogonác <Csaba Osztrogonác> on 2013-02-27

  • platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:

(WebCore::GraphicsSurface::platformPaintToTextureMapper):

3:13 PM Changeset in webkit [144246] by Csaba Osztrogonác
  • 5 edits in trunk/Source/WebKit2

[WK2] One more unreviewed buildfix for EFL, GTK and Qt after r144218.

Patch by Csaba Osztrogonác <Csaba Osztrogonác> on 2013-02-27

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebProcess/Storage/StorageNamespaceProxy.cpp:

(WebKit::StorageNamespaceProxy::copy):

3:04 PM Changeset in webkit [144245] by pdr@google.com
  • 2 edits
    2 adds in trunk/LayoutTests

Rebaseline 2 SVG tests after WK108429

This patch rebaselines svg/repaint after WK108429 and removes a stale
test expectations entry for svg/custom/text-ctm.

Unreviewed update of test expectations.

  • platform/chromium-win/svg/repaint/svgsvgelement-repaint-children-expected.png: Added.
  • platform/chromium-win/svg/repaint/svgsvgelement-repaint-children-expected.txt: Added.
  • platform/chromium/TestExpectations:
2:55 PM Changeset in webkit [144244] by Chris Fleizach
  • 7 edits
    2 adds in trunk

WebSpeech: support speech cancel
https://bugs.webkit.org/show_bug.cgi?id=107349

Reviewed by Beth Dakin.

Source/WebCore:

Add the ability to cancel speech utterances and make it work with Mac
and the mock speech synthesizer.

Test: platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html

  • Modules/speech/SpeechSynthesis.cpp:

(WebCore::SpeechSynthesis::pending):
(WebCore::SpeechSynthesis::cancel):
(WebCore::SpeechSynthesis::handleSpeakingCompleted):

  • platform/PlatformSpeechSynthesizer.h:

(PlatformSpeechSynthesizer):

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(-[WebSpeechSynthesisWrapper cancel]):
(WebCore::PlatformSpeechSynthesizer::cancel):
(WebCore):

  • platform/mock/PlatformSpeechSynthesizerMock.cpp:

(WebCore::PlatformSpeechSynthesizerMock::cancel):
(WebCore):
(WebCore::PlatformSpeechSynthesizerMock::speak):

  • platform/mock/PlatformSpeechSynthesizerMock.h:

(PlatformSpeechSynthesizerMock):

LayoutTests:

  • platform/mac/fast/speechsynthesis/speech-synthesis-cancel-expected.txt: Added.
  • platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html: Added.
2:53 PM Changeset in webkit [144243] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebKit2

Unreviewed (speculative) build fixes for EFL, GTK and Qt after r144218.

  • CMakeLists.txt:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Target.pri:
2:49 PM Changeset in webkit [144242] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Unlock partially decoded images after passing them to the ImageDecodingStore
https://bugs.webkit.org/show_bug.cgi?id=110778

Patch by Min Qin <qinmin@chromium.org> on 2013-02-27
Reviewed by Stephen White.

Source/WebCore:

For partially decoded images, we need to unlock them so that the memory can be freed.
This change unlocks all the image frames after they are passed to ImageDecodingStore.
Unit tests are added in ImageFrameGeneratorTest.

  • platform/graphics/chromium/ImageFrameGenerator.cpp:

(WebCore::ImageFrameGenerator::tryToResumeDecodeAndScale):
(WebCore::ImageFrameGenerator::tryToDecodeAndScale):
(WebCore::ImageFrameGenerator::decode):

  • platform/image-decoders/ImageDecoder.h:

(ImageDecoder):
(WebCore::ImageDecoder::lockFrameBuffers):
(WebCore::ImageDecoder::unlockFrameBuffers):

Source/WebKit/chromium:

Test for testing that image frames are unlocked after passing to ImageDecodingStore.

  • tests/ImageFrameGeneratorTest.cpp:

(WebCore::ImageFrameGeneratorTest::SetUp):
(WebCore::ImageFrameGeneratorTest::frameBuffersUnlocked):
(ImageFrameGeneratorTest):
(WebCore::ImageFrameGeneratorTest::frameBuffersLocked):
(WebCore::TEST_F):

  • tests/MockImageDecoder.h:

(WebCore::MockImageDecoderClient::frameBuffersLocked):
(WebCore::MockImageDecoderClient::frameBuffersUnlocked):
(WebCore::MockImageDecoder::unlockFrameBuffers):
(WebCore::MockImageDecoder::lockFrameBuffers):
(MockImageDecoder):

2:44 PM Changeset in webkit [144241] by kbr@google.com
  • 4 edits in trunk

Insufficient validation when uploading depth textures to WebGL
https://bugs.webkit.org/show_bug.cgi?id=110931

Reviewed by Abhishek Arya.

Source/WebCore:

Updated webgl/conformance/extensions/webgl-depth-texture.html
layout test with additional test cases.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texSubImage2DImpl):
(WebCore::WebGLRenderingContext::texSubImage2D):

Check for valid format/type combinations, depth, and
depth+stencil formats when uploading HTML elements and
ImageData as textures.

LayoutTests:

Updated webgl/conformance/extensions/webgl-depth-texture.html
layout test with additional test cases. These changes will be
added to the Khronos repository.

  • webgl/resources/webgl_test_files/conformance/extensions/webgl-depth-texture.html:

Added more test cases.

2:39 PM Changeset in webkit [144240] by abarth@webkit.org
  • 3 edits in trunk/Source/WebCore

Threaded HTML Parser fails fast/dom/HTMLAnchorElement/anchor-no-multiple-windows.html in debug
https://bugs.webkit.org/show_bug.cgi?id=110951

Reviewed by Eric Seidel.

We were triggering this ASSERT because we didn't understand that a
given frame might have multiple DocumentLoaders in various states. That
caused us to think that a DocumentLoader in the provisional state was
actually loading.

  • dom/Document.cpp:

(WebCore::Document::decrementActiveParserCount):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::isLoading):

2:24 PM Changeset in webkit [144239] by pdr@google.com
  • 7 edits
    2 copies in branches/chromium/1410

Merge 143541

Account for transform in SVG background images
https://bugs.webkit.org/show_bug.cgi?id=110295

Reviewed by Dirk Schulze.

Source/WebCore:

Tiled SVG background images are rendererd by drawing the SVG content into a temporary
image buffer, then stamping out a tiled pattern using this buffer. Previously the
image buffer did not account for CSS transforms which could result in pixelated backgrounds.

This patch takes advantage of the context's transform when sizing the temporary tiling
image buffer. Because the context's transform also includes scale, this patch simplifies
the SVG image code to no longer track scale.

Test: svg/as-background-image/svg-transformed-background.html

  • loader/cache/CachedImage.cpp:

(WebCore):
(WebCore::CachedImage::imageForRenderer):

CachedImage::lookupOrCreateImageForRenderer no longer creates images so it has been
refactored into just "imageForRenderer". Previously there were two versions of
lookupOrCreateImageForRenderer; these have been folded into imageForRenderer.

  • loader/cache/CachedImage.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::drawPatternForContainer):

To create the temporary tiling image buffer, the final size in screen coordinates is
needed. This is now computed using the current context's CTM. Because the CTM
already includes the page scale, all page scale tracking can be removed.

The adjustments to srcRect and the pattern transform are the same as before, just
refactored to use imageBufferScale which has x and y components.

  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageCache.cpp:

(WebCore::SVGImageCache::setContainerSizeForRenderer):

Because the page scale needed to be cached between calls to
setContainerSizeForRenderer, this function was written to modify an existing cache
entry. Because the page scale no longer needs to be tracked, this code has been
simplified to re-write any existing cache entry.

(WebCore::SVGImageCache::imageSizeForRenderer):

This function has been simplified by calling SVGImageForContainer::size() instead
of computing this value manually. The value returned remains the same, containing
the container size multiplied by zoom.

(WebCore::SVGImageCache::imageForRenderer):

Previously we set the page scale on every call to imageForRenderer. Because page scale
no longer needs to be tracked, this function has been simplified to simply return
the cached SVGImageForContainer.

  • svg/graphics/SVGImageForContainer.cpp:

(WebCore::SVGImageForContainer::drawPattern):

  • svg/graphics/SVGImageForContainer.h:

(WebCore::SVGImageForContainer::create):
(WebCore::SVGImageForContainer::SVGImageForContainer):
(SVGImageForContainer):

LayoutTests:

  • svg/as-background-image/svg-transformed-background-expected.html: Added.
  • svg/as-background-image/svg-transformed-background.html: Added.

TBR=pdr@google.com
Review URL: https://codereview.chromium.org/12314169

2:22 PM Changeset in webkit [144238] by pdr@google.com
  • 1 edit
    2 copies in branches/chromium/1410

Merge 143257

Fix scaling of tiled SVG backgrounds on high-dpi displays
https://bugs.webkit.org/show_bug.cgi?id=110047

Reviewed by Dirk Schulze.

Source/WebCore:

This patch fixes the scaling of SVG when used for drawing patterns. Tiled/patterend SVG
images are first drawn into an image buffer and then the image buffer is used to stamp
out tiles. Because it is a raster source, the size of the image buffer needs to
be scaled to the final resolution of the device. After scaling the image buffer, the
source rect and pattern transforms need to be adjusted so they align in device pixel
coordinates. This adjustment was not done before this patch, causing pixelated rendering.

Additionally, a FIXME has been added due to webkit.org/b/110065 and the image buffer
has been manually scaled (using "zoomedAndScaledContainerRect") instead of relying
on the ImageBuffer's resolutionScale parameter.

Test: svg/as-background-image/tiled-background-image.html

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::drawPatternForContainer):

Note that fixing the FIXME does not change that the source rect and transform need
to be adjusted for page scale.

LayoutTests:

  • svg/as-background-image/tiled-background-image-expected.html: Added.
  • svg/as-background-image/tiled-background-image.html: Added.

TBR=pdr@google.com
Review URL: https://codereview.chromium.org/12326167

2:10 PM Changeset in webkit [144237] by Chris Fleizach
  • 10 edits
    2 adds in trunk

AX: Mac platform should support ability to scroll an element into visible
https://bugs.webkit.org/show_bug.cgi?id=109860

Reviewed by Beth Dakin.

Source/WebCore:

Support the scrollToMakeVisible() action for MacOS accessibility clients.

Tests: platform/mac/accessibility/scroll-to-visible-action.html

  • accessibility/mac/WebAccessibilityObjectWrapper.mm:

(-[WebAccessibilityObjectWrapper accessibilityActionNames]):
(-[WebAccessibilityObjectWrapper accessibilityScrollToVisible]):
(-[WebAccessibilityObjectWrapper accessibilityPerformAction:]):

Tools:

  • DumpRenderTree/AccessibilityUIElement.cpp:

(scrollToMakeVisibleCallback):
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::scrollToMakeVisible):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::scrollToMakeVisible):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:

(AccessibilityUIElement):

  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::scrollToMakeVisible):
(WTR):

LayoutTests:

  • platform/mac/accessibility/scroll-to-visible-action.html: Added.
  • platform/mac/accessibility/scroll-to-visible-action-expected.txt: Added.
2:05 PM Changeset in webkit [144236] by commit-queue@webkit.org
  • 20 edits
    5 adds in trunk

Plugin in iframe may not display
https://bugs.webkit.org/show_bug.cgi?id=109879

Patch by John Bauman <jbauman@chromium.org> on 2013-02-27
Reviewed by Simon Fraser.

Source/WebCore:

Changing the cliprect on a layer containing an iframe may change the
cliprect of plugins inside the iframe, so recursively tell all plugins
in iframes that their cliprect has changed after doing layout on the
outer frame.

Test: plugins/plugin-clip-subframe.html

  • platform/ScrollView.cpp:

(WebCore::ScrollView::clipRectChanged):

  • platform/ScrollView.h:
  • platform/Widget.h:

(WebCore::Widget::clipRectChanged):

  • plugins/PluginView.cpp:

(WebCore::PluginView::clipRectChanged):

  • plugins/PluginView.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::setWidgetGeometry):

Source/WebKit/chromium:

Use clipRectChanged to update the geometry.

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::clipRectChanged):

  • src/WebPluginContainerImpl.h:

Source/WebKit/mac:

Ensure NetscapePluginWidget informs the plugin view of the cliprect change directly.

  • Plugins/WebBaseNetscapePluginView.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(NetscapePluginWidget::clipRectChanged):

Source/WebKit2:

Update geometry when cliprect changes.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::clipRectChanged):

  • WebProcess/Plugins/PluginView.h:

Tools:

LogNPPSetWindow will be used with other ports as well.

  • DumpRenderTree/DumpRenderTree.gypi:
  • DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:

LayoutTests:

Use log-npp-set-window to ensure plugin clip changes correctly.

  • platform/mac-wk2/plugins/plugin-clip-subframe-expected.txt: Added.
  • platform/mac/plugins/plugin-clip-subframe-expected.txt: Added.
  • plugins/plugin-clip-subframe-expected.txt: Added.
  • plugins/plugin-clip-subframe.html: Added.
  • plugins/resources/plugin-clip-subframe-iframe.html: Added.
1:46 PM Changeset in webkit [144235] by crogers@google.com
  • 12 edits
    2 adds in trunk

Implement channel up-mixing and down-mixing rules
https://bugs.webkit.org/show_bug.cgi?id=110812

Reviewed by Kenneth Russell.

Source/WebCore:

Please see Web Audio specification for details of the AudioNode mixing rules attributes:
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#UpMix

Test: webaudio/audionode-channel-rules.html

  • Modules/webaudio/AudioNode.cpp:

(WebCore::AudioNode::AudioNode):
(WebCore::AudioNode::channelCount):
(WebCore):
(WebCore::AudioNode::setChannelCount):
(WebCore::AudioNode::channelCountMode):
(WebCore::AudioNode::setChannelCountMode):
(WebCore::AudioNode::channelInterpretation):
(WebCore::AudioNode::setChannelInterpretation):
(WebCore::AudioNode::updateChannelsForInputs):

  • Modules/webaudio/AudioNode.h:

(AudioNode):
(WebCore::AudioNode::internalChannelCountMode):
(WebCore::AudioNode::internalChannelInterpretation):

  • Modules/webaudio/AudioNode.idl:
  • Modules/webaudio/AudioNodeInput.cpp:

(WebCore::AudioNodeInput::numberOfChannels):
(WebCore::AudioNodeInput::bus):
(WebCore::AudioNodeInput::internalSummingBus):
(WebCore::AudioNodeInput::sumAllConnections):
(WebCore::AudioNodeInput::pull):

  • Modules/webaudio/AudioNodeInput.h:

(AudioNodeInput):

  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::ConvolverNode):

  • Modules/webaudio/DefaultAudioDestinationNode.cpp:

(WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::PannerNode):

  • platform/audio/AudioBus.cpp:

(WebCore::AudioBus::speakersCopyFrom):
(WebCore::AudioBus::speakersSumFrom):
(WebCore::AudioBus::speakersSumFrom5_1_ToMono):
(WebCore):

  • platform/audio/AudioBus.h:

(AudioBus):

LayoutTests:

  • webaudio/audionode-channel-rules-expected.txt: Added.
  • webaudio/audionode-channel-rules.html: Added.
1:42 PM Changeset in webkit [144234] by schenney@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

RenderTableCellDeathTest unit test fails on mac
https://bugs.webkit.org/show_bug.cgi?id=110992

Unreviewed second attempt. Trying to get the right define for the OS.

  • tests/RenderTableCellTest.cpp:
1:35 PM WebKitGTK/2.0.x edited by zandobersek@gmail.com
(diff)
1:30 PM Changeset in webkit [144233] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Need WebPage API for animating scroll position & zoom changes
https://bugs.webkit.org/show_bug.cgi?id=110912

Patch by Andrew Lo <anlo@rim.com> on 2013-02-27
Reviewed by Rob Buis.

Internally reviewed by Jakob Petsovits.
Internal PR 285468.

Add an API to WebPage for animated scroll position & zoom level
adjustments.

Have InputHandler use the new API.

Rename some variables to reflect the fact that they are not only
used by block zoom now.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::zoomBlock):
(BlackBerry::WebKit::WebPage::blockZoom):
(BlackBerry::WebKit::WebPagePrivate::animateToScaleAndDocumentScrollPosition):
(WebKit):
(BlackBerry::WebKit::WebPage::animateToScaleAndDocumentScrollPosition):

  • Api/WebPage.h:
  • Api/WebPage_p.h:

(WebPagePrivate):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

1:23 PM Changeset in webkit [144232] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

Threaded HTML parser hits ASSERTION FAILED: this == frameLoader()->activeDocumentLoader()
https://bugs.webkit.org/show_bug.cgi?id=110937

Reviewed by Darin Adler.

This patch restores the ASSERT behind an ifdef so that we can continue
to get converage from the ASSERT while we investigate why it is
triggering in the threaded parser.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::checkLoadComplete):

1:20 PM Changeset in webkit [144231] by jochen@chromium.org
  • 3 edits
    1 add in trunk/Source/Platform

[chromium] Introduce WebHyphenator class to consolidate hyphenation related method on WebKit::Platform
https://bugs.webkit.org/show_bug.cgi?id=110953

Reviewed by Adam Barth.

This patch makes it easier to mock the hyphenation related methods.

  • Platform.gypi:
  • chromium/public/Platform.h:

(WebKit):
(Platform):
(WebKit::Platform::hyphenator):

  • chromium/public/WebHyphenator.h: Added.

(WebKit):
(WebHyphenator):
(WebKit::WebHyphenator::canHyphenate):
(WebKit::WebHyphenator::computeLastHyphenLocation):
(WebKit::WebHyphenator::~WebHyphenator):

12:58 PM Changeset in webkit [144230] by jochen@chromium.org
  • 2 edits in trunk/LayoutTests

Skip media tests that fail on content_shell

Unreviewed gardening.

  • platform/chromium/ContentShellTestExpectations:
12:50 PM Changeset in webkit [144229] by liachen@rim.com
  • 9 edits in trunk/Source

[BlackBerry] User credentials is not correctly handled
https://bugs.webkit.org/show_bug.cgi?id=110994

Source/WebCore:

Internal PR: 280990
Internal reviewed by Leo Yang.

Reviewed by Yong Li.

Following changes are made:

Remove url from generating the hash to index user credential.
Remove url from database.
Use new CertMgrWrapper API to remove password from CertMgr.
Handle encrypted password as binary data, instead of normal text string.
When authentication fails, remove the saved user credential only when they match.
Remove some url related API from CredentialBackingStore, as they are obsolete now.

No new tests as this is platform specific change about user credential.

  • platform/network/blackberry/CredentialBackingStore.cpp:

(WebCore::hashCredentialInfo):
(WebCore::CredentialBackingStore::CredentialBackingStore):
(WebCore::CredentialBackingStore::~CredentialBackingStore):
(WebCore::CredentialBackingStore::open):
(WebCore::CredentialBackingStore::addLogin):
(WebCore::CredentialBackingStore::updateLogin):
(WebCore::CredentialBackingStore::hasLogin):
(WebCore::CredentialBackingStore::getLogin):
(WebCore::CredentialBackingStore::removeLogin):
(WebCore::CredentialBackingStore::addNeverRemember):
(WebCore::CredentialBackingStore::encryptedString):
(WebCore::CredentialBackingStore::decryptedString):

  • platform/network/blackberry/CredentialBackingStore.h:

(CredentialBackingStore):

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::sendRequestWithCredentials):
(WebCore::NetworkJob::purgeCredentials):

Source/WebKit/blackberry:

Reviewed by Yong Li.

Following change are made:

Remove url from CredentialTransformData, as url is not used anymore.
Adapt to updated CredentialBackingStore API about removing url.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):

  • WebCoreSupport/CredentialManager.cpp:

(WebCore::CredentialManager::autofillPasswordForms):
(WebCore::CredentialManager::saveCredentialIfConfirmed):

  • WebCoreSupport/CredentialTransformData.cpp:

(WebCore::CredentialTransformData::CredentialTransformData):

  • WebCoreSupport/CredentialTransformData.h:

(CredentialTransformData):

12:44 PM Changeset in webkit [144228] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebKit2

REGRESSION (48533): Full-frame plugins stopped working (download instead of loading the plugin)
https://bugs.webkit.org/show_bug.cgi?id=111003

Reviewed by Anders Carlsson.

Also query the Page's pluginData when determining whether a given MIME type can be shown.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageCanShowMIMEType):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::canShowMIMEType):

  • WebProcess/WebPage/WebPage.h:
12:43 PM Changeset in webkit [144227] by schenney@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

RenderTableCellDeathTest unit test fails on mac
https://bugs.webkit.org/show_bug.cgi?id=110992

Unreviewed disabling of test that is hanging or crashing on Mac.

  • tests/RenderTableCellTest.cpp:
12:40 PM Changeset in webkit [144226] by hyatt@apple.com
  • 3 edits in trunk/Source/WebCore

Refactor transform painting/hit testing code in RenderLayer.
https://bugs.webkit.org/show_bug.cgi?id=110998

Reviewed by Eric Seidel.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
Pull the code that applies the transform for painting into a new
function that can also apply an additional translation offset. This
offset will be used by the new columns code when that patch lands.

(WebCore::RenderLayer::createLocalTransformState):
Also patched to be able to apply an additional translation offset.

(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestLayerByApplyingTransform):
Same as with painting, pull the code that applies the transform into
its own function and also enable an extra translation offset to be
applied.

  • rendering/RenderLayer.h:

Added the new functions to the header.

12:39 PM Changeset in webkit [144225] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] Remove suppression invalidation logic from WebViewImpl
https://bugs.webkit.org/show_bug.cgi?id=110999

Patch by James Robinson <jamesr@chromium.org> on 2013-02-27
Reviewed by Adrienne Walker.

This suppression logic is now handled on the embedder side. In fact, scheduleComposite() is now only used
by DumpRenderTree.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::suppressInvalidations):
(WebKit::WebViewImpl::scheduleComposite):

  • src/WebViewImpl.h:
12:38 PM Changeset in webkit [144224] by jochen@chromium.org
  • 7 edits
    1 delete in trunk

plugins/netscape-plugin-setwindow-size*.html and plugins/pass-different-npp-struct.html should be async
https://bugs.webkit.org/show_bug.cgi?id=110973

Reviewed by Adam Barth.

There is nothing that ensures that the log messages from the plugin
come in before the layout test finished loading.

Tools:

  • DumpRenderTree/TestNetscapePlugIn/Tests/PassDifferentNPPStruct.cpp:

(PassDifferentNPPStruct::NPP_SetWindow):

  • DumpRenderTree/TestNetscapePlugIn/main.cpp:

(NPP_SetWindow):

LayoutTests:

  • platform/mac-wk2/plugins/netscape-plugin-setwindow-size-2-expected.txt: Removed.
  • plugins/netscape-plugin-setwindow-size-2.html:
  • plugins/netscape-plugin-setwindow-size.html:
  • plugins/pass-different-npp-struct.html:
12:37 PM Changeset in webkit [144223] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Touch CSSGrammar.y.in to fix an internal buildbot

  • css/CSSGrammar.y.in: Add copyright dates based on previous

commits.

12:21 PM Changeset in webkit [144222] by zandobersek@gmail.com
  • 2 edits in trunk

[GTK] Disable MathML support in release builds
https://bugs.webkit.org/show_bug.cgi?id=110981

Patch by Zan Dobersek <zdobersek@igalia.com> on 2013-02-27
Reviewed by Martin Robinson.

  • Source/autotools/SetupWebKitFeatures.m4: Disable the MathML support in release builds

as the code is not yet deemed production-ready.

12:20 PM Changeset in webkit [144221] by commit-queue@webkit.org
  • 19 edits in trunk

Add smartInsertDeleteEnabled setting to WebCore::Page
https://bugs.webkit.org/show_bug.cgi?id=107840

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-02-27
Reviewed by Ryosuke Niwa.

Source/WebCore:

Covered by editing/deleting/smart-editing-disabled.html.

  • page/Settings.in: Add new setting with true as initial value.

Source/WebKit2:

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode): Remove code related to
isSmartInsertDeleteEnabled.

  • Shared/WebPageCreationParameters.h:

(WebPageCreationParameters): Remove isSmartInsertDeleteEnabled.

  • Shared/WebPreferencesStore.h:

(WebKit): Add macro for smartInsertDeleteEnabled setting.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetSmartInsertDeleteEnabled):
(WKPreferencesGetSmartInsertDeleteEnabled): Implement methods using the
new setting.

  • UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::initializeWebPage): Set smartInsertDeleteEnabled
setting using m_isSmartInsertDeleteEnabled to keep initial value on Mac.
(WebKit::WebPageProxy::creationParameters): Remove usage of
parameters.isSmartInsertDeleteEnabled.

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::smartInsertDeleteEnabled): Enable method for
all platforms.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Remove m_isSmartInsertDeleteEnabled
initialization.
(WebKit::WebPage::updatePreferences): Set smartInsertDeleteEnabled
setting.
(WebKit::WebPage::isSmartInsertDeleteEnabled): Implement method using
settings.
(WebKit):
(WebKit::WebPage::setSmartInsertDeleteEnabled): Implement method using
settings.

  • WebProcess/WebPage/WebPage.h:

(WebPage): Enable methods dealing with smartInsertDeleteEnabled for all
platforms and remove m_isSmartInsertDeleteEnabled as it will be a
setting.

LayoutTests:

Replace testRunner.setSmartInsertDeleteEnabled by
internals.settings.setSmartInsertDeleteEnabled in tests.

  • editing/deleting/smart-editing-disabled.html:
  • editing/selection/doubleclick-beside-cr-span.html:
  • editing/selection/doubleclick-whitespace-crash.html:
  • editing/selection/doubleclick-whitespace-img-crash.html:
  • editing/selection/doubleclick-whitespace.html:
  • platform/wk2/TestExpectations: Unflag

editing/deleting/smart-editing-disabled.html as it passes now.

12:14 PM Changeset in webkit [144220] by Chris Fleizach
  • 8 edits
    2 adds in trunk

WebSpeech: Support pause/resume ability
https://bugs.webkit.org/show_bug.cgi?id=107345

Reviewed by Beth Dakin.

Source/WebCore:

Add in the pause/resume functionality to SpeechSynthesis. Also hook up
the callback events.

Test: platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html

  • Modules/speech/SpeechSynthesis.cpp:

(WebCore::SpeechSynthesis::SpeechSynthesis):
(WebCore::SpeechSynthesis::pending):
(WebCore::SpeechSynthesis::paused):
(WebCore::SpeechSynthesis::startSpeakingImmediately):
(WebCore::SpeechSynthesis::pause):
(WebCore::SpeechSynthesis::resume):
(WebCore):
(WebCore::SpeechSynthesis::didPauseSpeaking):
(WebCore::SpeechSynthesis::didResumeSpeaking):

  • Modules/speech/SpeechSynthesis.h:

(SpeechSynthesis):

  • platform/PlatformSpeechSynthesizer.h:

(PlatformSpeechSynthesizerClient):
(PlatformSpeechSynthesizer):

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
(-[WebSpeechSynthesisWrapper pause]):
(-[WebSpeechSynthesisWrapper resume]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
(WebCore::PlatformSpeechSynthesizer::pause):
(WebCore):
(WebCore::PlatformSpeechSynthesizer::resume):

LayoutTests:

  • platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt: Added.
  • platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html: Added.
12:11 PM Changeset in webkit [144219] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Disable some unsound DFG DCE
https://bugs.webkit.org/show_bug.cgi?id=110948

Reviewed by Michael Saboff.

DCE of bitops is not sound since the bitops might call some variant of valueOf.

This used to work right because ValueToInt32 was MustGenerate. From the DFG IR
standpoint it feels weird to make ValueToInt32 be MustGenerate since that node is
implemented entirely as a pure conversion. If we ever gave the DFG the ability to
do effectful bitops, we would most likely implement them as special nodes not
related to the ValueToInt32 and bitop nodes we have now.

This change is performance neutral.

  • dfg/DFGNodeType.h:

(DFG):

12:04 PM Changeset in webkit [144218] by andersca@apple.com
  • 6 edits
    1 add in trunk/Source/WebKit2

More storage scaffolding
https://bugs.webkit.org/show_bug.cgi?id=110997

Reviewed by Andreas Kling.

  • DerivedSources.make:

Add StorageAreaProxy.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::setItem):
Send back a DidSetItem message.

  • WebKit2.xcodeproj/project.pbxproj:

Add generated files.

  • WebProcess/Storage/StorageAreaProxy.cpp:

(WebKit::StorageAreaProxy::StorageAreaProxy):
Add the message receiver.

(WebKit::StorageAreaProxy::~StorageAreaProxy):
Remove the message receiver.

(WebKit::StorageAreaProxy::didSetItem):
add stub.

  • WebProcess/Storage/StorageAreaProxy.h:

(StorageAreaProxy):

  • WebProcess/Storage/StorageAreaProxy.messages.in: Added.
11:40 AM Changeset in webkit [144217] by weinig@apple.com
  • 8 edits in trunk/Source/WebKit2

REGRESSION: Loading flash switches to discrete graphics, 100 MB on membuster
<rdar://problem/13229828>

Reviewed by Dan Bernstein.

Due the change in CFBundleIdentifier, the WebProcess and PluginProcess were
unnecessarily muxing (they used to be whitelisted by OpenGL) to the discrete
GPU.

  • PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
  • WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:

Add NSSupportsAutomaticGraphicsSwitching YES.

  • WebKit2.xcodeproj/project.pbxproj:

Re-add the PluginService.32-64.Info.plist plist to the project file.

11:14 AM Changeset in webkit [144216] by ap@apple.com
  • 34 edits in trunk/Source

Don't add a body to platform request until necessary
https://bugs.webkit.org/show_bug.cgi?id=110900

Reviewed by NOBODY (OOPS!).

Reviewed by Brady Eidson.

ResourceRequest now has more state for syncing between resource and platform parts.
In addition to tracking which is up to date, we also track which has up to date
HTTP Body.

The reason is that we don't need the body on request before it's actually sent,
and we actually cannot build it when networking is out of process.

  • WebCore.exp.in: Updated exports.
  • platform/network/ResourceRequestBase.h:
  • platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::setHTTPBody): Update HTTP body before returning it. (WebCore::ResourceRequestBase::updatePlatformRequest): Update according to HTTPBodyUpdatePolicy. (WebCore::ResourceRequestBase::updateResourceRequest): Ditto.
  • platform/network/cf/FormDataStreamCFNet.cpp: (WebCore::formDataStreamLengthPropertyName): (WebCore::formCopyProperty): (WebCore::setHTTPBody): Changed to not update Content-Length in platform request directly. We need to keep it in sync with resource request, and it's easier to do in a caller. Exposed computed length as a property do avoid duplicating the work.
  • platform/network/cf/FormDataStreamCFNet.h: Removed unnecessary httpBodyFromStream().
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::willSendRequest): (WebCore::didReceiveResponse): (WebCore::ResourceHandle::createCFURLConnection): Update body when necessary.

(WebCore::ResourceRequest::nsURLRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdateResourceHTTPBody):
(WebCore):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody):
(WebCore::ResourceRequest::applyWebArchiveHackForMail):
Ditto.

  • platform/network/cf/ResourceRequest.h: Track body up-to-date state.
  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::cfURLRequest): Honor HTTPBodyUpdatePolicy. (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't update body here. (WebCore::ResourceRequest::doUpdatePlatformHTTPBody): Update the body, and make sure that Content-Length is correct. (WebCore::ResourceRequest::doUpdateResourceRequest): Don't update body here. (WebCore::ResourceRequest::doUpdateResourceHTTPBody): Update the body, fixing a bug where body stream was lost if this function got called. (WebCore::ResourceRequest::applyWebArchiveHackForMail): No need to update body for this one.
  • platform/network/mac/ResourceRequestMac.mm: Ditto (but this didn't have a bug with streams in doUpdateResourceRequest()).
  • platform/network/mac/FormDataStreamMac.h: Forward declare formDataStreamLengthPropertyName().
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::createNSURLConnection): (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::platformLoadResourceSynchronously): (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Update body when necessary.
  • platform/network/blackberry/ResourceRequest.h:
  • platform/network/chromium/ResourceRequest.h:
  • platform/network/curl/ResourceRequest.h:
  • platform/network/qt/ResourceRequest.h:
  • platform/network/soup/ResourceRequest.h:
  • platform/network/win/ResourceRequest.h: Added stubs for new functions. These ports don't keep a platform request in ResourceRequest, and don't need updating.
11:03 AM Changeset in webkit [144215] by schenney@chromium.org
  • 8 edits
    4 adds in trunk/LayoutTests

[Chromium] Test expectations updates

Unreviewed expectations after recent bug fixes.

  • platform/chromium-mac-lion/fast/borders/border-radius-percent-expected.png: Added.
  • platform/chromium-mac-lion/svg/css/text-shadow-multiple-expected.png:
  • platform/chromium-mac-snowleopard/fast/borders/border-radius-percent-expected.png: Added.
  • platform/chromium-mac-snowleopard/svg/css/text-shadow-multiple-expected.png:
  • platform/chromium-mac/fast/borders/border-radius-percent-expected.png: Added.
  • platform/chromium-mac/svg/css/text-shadow-multiple-expected.png:
  • platform/chromium-mac/svg/custom/transform-with-shadow-and-gradient-expected.png:
  • platform/chromium-win/fast/borders/border-radius-percent-expected.png: Added.
  • platform/chromium-win/svg/css/text-shadow-multiple-expected.png:
  • platform/chromium-win/svg/custom/transform-with-shadow-and-gradient-expected.png:
  • platform/chromium/TestExpectations:
10:46 AM Changeset in webkit [144214] by glenn@skynav.com
  • 19 edits in trunk

Add ENABLE_CSS3_TEXT_LINE_BREAK flag.
https://bugs.webkit.org/show_bug.cgi?id=110944

Reviewed by Dean Jackson.

.:

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

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/chromium:

  • features.gypi:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
  • qmake/mkspecs/features/features.pri:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:
10:43 AM Changeset in webkit [144213] by abucur@adobe.com
  • 10 edits in trunk

REGRESSION(r124739): fast/lists/list-marker-remove-crash.html hits an assertion in MoveParagraphs
https://bugs.webkit.org/show_bug.cgi?id=93247

Reviewed by Darin Adler.

Source/WebCore:

The listifyParagraph function inside InsertListCommand triggered a layout for the new list and updated
only the "start" Position. The insertion and layout may have changed the "end" Position as well. The patch
makes sure "end" is also recomputed.

Test: No new test, the patch fixes a regression.

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::listifyParagraph):

LayoutTests:

Update TestExpectations because the test doesn't crash any more.

  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt-4.8/TestExpectations:
  • platform/qt-mac/TestExpectations:
  • platform/qt/TestExpectations:
10:38 AM Changeset in webkit [144212] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Add ENABLE_STREAM guards to FileReaderLoader
https://bugs.webkit.org/show_bug.cgi?id=110938

Patch by Zach Kuznia <zork@chromium.org> on 2013-02-27
Reviewed by Hajime Morrita.

  • fileapi/FileReaderLoader.cpp:
  • fileapi/FileReaderLoader.h:
10:38 AM Changeset in webkit [144211] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Remove myself from watchlist.

Patch by Yong Li <yong.li.webkit@outlook.com> on 2013-02-27

  • Scripts/webkitpy/common/config/watchlist:
10:34 AM Changeset in webkit [144210] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix build when DFG_JIT is not enabled
https://bugs.webkit.org/show_bug.cgi?id=110991

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-02-27
Reviewed by Csaba Osztrogonác.

  • jit/JIT.h:

(JSC::JIT::canBeOptimizedOrInlined):

10:19 AM Changeset in webkit [144209] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

Fix bug in HTML5 Fullscreen API implementation that was preventing YouTube HTML5 media controls fullscreen button from working properly.
https://bugs.webkit.org/show_bug.cgi?id=110905

Patch by John Griggs <jgriggs@rim.com> on 2013-02-27
Reviewed by Yong Li.

Return true from ChromeClientBlackBerry::supportsFullScreenForElement instead of the negation of the boolean flag (withKeyboard) passed in.

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::supportsFullScreenForElement):

10:18 AM Changeset in webkit [144208] by allan.jensen@digia.com
  • 4 edits in trunk

Switch QtWebKit to GStreamer 1.0.
https://bugs.webkit.org/show_bug.cgi?id=106669.

Original patch by Sebastian Dröge.
Reviewed by Csaba Osztrogonác.

Source/WebCore:

  • WebCore.pri:

Tools:

Build with GStreamer 1.0 if available, but support GStreamer 0.10
temporarily to make upgrading easy and the patch suitable for Qt5.

  • qmake/mkspecs/features/features.prf:
10:01 AM Changeset in webkit [144207] by commit-queue@webkit.org
  • 2 edits in trunk/Websites/planet.webkit.org

Add Martin Robinson's blog to the planet
https://bugs.webkit.org/show_bug.cgi?id=110990

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-02-27
Reviewed by Eric Seidel.

  • config.ini: Add my blog to the planet.
9:53 AM Changeset in webkit [144206] by jamesr@google.com
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Remove WebViewImpl::animate shimmy out through compositor
https://bugs.webkit.org/show_bug.cgi?id=110935

Reviewed by Adrienne Walker.

WebViewImpl::animate() and WebViewImpl::updateAnimations() are confusingly similar. ::animate() implements
the WebWidget API and is called by content::RenderWidget and WebViewHost. ::updateAnimations() implements
the WebLayerTreeViewClient API and is called by content::RenderWidgetCompositor and by ::animate(). The
important part of this indirection is that whenever the compositor is active, all animation calls must
route through cc::LayerTreeHost before entering into WebCore's animation code so that the compositor
can set the appropriate rate limiting state. Animations may originate from
content::RenderWidget::AnimateIfNeeded when in software and single threaded mode or from
cc::LayerTreeHost::updateAnimations in threaded compositing mode. In the long ago, content::RenderWidget had no
idea if compositing was active or not and always called WebWidget::animate(), so WebViewImpl::animate() had to
redirect to the compositor when appropriate.

Now (as of chromium r180947) RenderWidget calls WebWidget::animate only when in software mode and otherwise
calls directly into the compositor. Thus WebViewImpl::animate() no longer needs to do this check. In a
follow-up, WebViewImpl::updateAnimations will go away completely in favor of just calling WebWidget::animate in
all cases.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::animate):
(WebKit::WebViewImpl::updateAnimations):

9:48 AM Changeset in webkit [144205] by efidler@rim.com
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Fix BlackBerry::Platform::String to WTF::String conversion when the string is Latin-1-encoded.
https://bugs.webkit.org/show_bug.cgi?id=110986

Reviewed by Yong Li.

Internally reviewed by Nima Ghanavatian.
BlackBerry PR 292922

We were assuming all platform strings were valid UTF-8, which isn't true for Latin-1 strings.

  • platform/text/blackberry/StringBlackBerry.cpp:

(WTF::String::String):

9:42 AM Changeset in webkit [144204] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

[TexMap] REGRESSION(144183): It make negative delay tests fails
https://bugs.webkit.org/show_bug.cgi?id=110989

Reviewed by Noam Rosenthal.

Do not apply a negative offset to the animation starttime send to the GraphicLayerClient,
it needs the actual animation start not a virtual start.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::addAnimation):

9:35 AM Changeset in webkit [144203] by acolwell@chromium.org
  • 3 edits
    2 adds in trunk

Fix SourceBufferList so SourceBuffer.append() calls are always rejected after the MediaSource is closed.
https://bugs.webkit.org/show_bug.cgi?id=110917

Reviewed by Eric Carlson.

Source/WebCore:

Test: http/tests/media/media-source/video-media-source-reject-append-after-reopening.html

  • Modules/mediasource/SourceBufferList.cpp:

(WebCore::SourceBufferList::clear):

LayoutTests:

  • http/tests/media/media-source/video-media-source-reject-append-after-reopening-expected.txt: Added.
  • http/tests/media/media-source/video-media-source-reject-append-after-reopening.html: Added.
9:25 AM AddingFeatures edited by Martin Robinson
(diff)
9:20 AM Changeset in webkit [144202] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Context menu cannot be invoked after doing text selection in landscape mode
https://bugs.webkit.org/show_bug.cgi?id=110860

Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2013-02-27
Reviewed by Yong Li.

PR 290248 Internally reviewed by Mike Fenton

Add a parameter to notify the webpage client which parts of selection have
changed in visual or in its selected DOM content. Refactor the selection details
parameter to platform repo.

The reason of this issue is that when javascript triggers webpage layout, the selection
will update its apperance event when the selected content is not changed. We want
to hide the context menu only when the selected content is changed not when only its
visual is changed.

9:18 AM Changeset in webkit [144201] by Szilárd LEDÁN
  • 2 edits in trunk/Tools

Unreviewed. Added myself to committers.py

  • Scripts/webkitpy/common/config/committers.py:
9:12 AM Changeset in webkit [144200] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] The virtual keyboard hides part of Signing In dialog
https://bugs.webkit.org/show_bug.cgi?id=110836

Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2013-02-27
Reviewed by Yong Li.

PR # 283427 Internally reviewed by Mike Fenton.

Store form credentials before javascript "onSubmit" event and notify
webpage client to save credentials after that event since javascript
may check credentials and stop the submission in its event handler.

  • WebCoreSupport/CredentialTransformData.cpp:

(WebCore::CredentialTransformData::CredentialTransformData):
(WebCore):

  • WebCoreSupport/CredentialTransformData.h:

(CredentialTransformData):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):

  • WebCoreSupport/FrameLoaderClientBlackBerry.h:

(FrameLoaderClientBlackBerry):

9:07 AM Changeset in webkit [144199] by Szilárd LEDÁN
  • 2 edits in trunk/Tools

Unreviewed, rolling out r144192.
http://trac.webkit.org/changeset/144192
https://bugs.webkit.org/show_bug.cgi?id=110984

Stored svn password on wrong computer (Requested by kkristof
on #webkit).

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

  • Scripts/webkitpy/common/config/committers.py:
9:02 AM Changeset in webkit [144198] by pilgrim@chromium.org
  • 2 edits in trunk/Source/Platform

[Chromium] Remove unused WebKitPlatformSupport class
https://bugs.webkit.org/show_bug.cgi?id=110982

Reviewed by Adam Barth.

Part of a larger refactoring series; see tracking bug 82948.

  • chromium/public/Platform.h:
8:59 AM Changeset in webkit [144197] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Unskipp inspector tests after r144071.

  • platform/qt/TestExpectations:
8:48 AM Changeset in webkit [144196] by junov@google.com
  • 4 edits
    3 adds in trunk

REGRESSION (r134631) of border-radius percentage with border pixel
https://bugs.webkit.org/show_bug.cgi?id=110889

Reviewed by Simon Fraser.

Source/WebCore:

Fixing background color filling to handle "non renderable" rounded
rectangles.

Test: fast/borders/border-radius-percent.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

LayoutTests:

Adding new pixel test to verify the correct rendering of
rounded rectangle backgrounds with inner border radii that
exceed the dimensions of the inner edge of the border.

  • fast/borders/border-radius-percent-expected.txt: Added.
  • fast/borders/border-radius-percent.html: Added.
  • platform/chromium-linux/fast/borders/border-radius-percent-expected.png: Added.
  • platform/chromium/TestExpectations:
8:45 AM Changeset in webkit [144195] by fmalita@chromium.org
  • 6 edits in trunk

[Chromium] Layout Test svg/custom/transform-with-shadow-and-gradient.svg is failing
https://bugs.webkit.org/show_bug.cgi?id=76557

Reviewed by Stephen Chenney.

Source/WebCore:

Always use kDst_Mode transfer for the shadow looper. Using kSrc_Mode to enforce CSS
box-shadow opaqueness at this level is not necessary since the RenderBoxModel box
decoration code already makes sure that shadows are filled with opaque black.

This change aligns the SVG shadow behavior (and pixel results) with CG/Safari.

No new tests, coverage provided by existing tests.

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::setPlatformShadow):

LayoutTests:

  • platform/chromium-linux/svg/css/text-shadow-multiple-expected.png:
  • platform/chromium-linux/svg/custom/transform-with-shadow-and-gradient-expected.png:
  • platform/chromium/TestExpectations:
8:42 AM Changeset in webkit [144194] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Generate a wrapper function for ReplaceableAttrSetter()
https://bugs.webkit.org/show_bug.cgi?id=110781

Reviewed by Adam Barth.

This is one of steps to insert TRACE_EVENT_STATE() macros
into DOM bindings. This patch introduces an indirection function
for xxxReplaceableAttrSetter(), like this:

For non-custom replaceable setters (Note: One implementation
is enough for all replaceable setters in one interface.)
void V8XXX:::ReplaceableAttrSetterCallback(...) {

V8XXX::ReplaceableAttrSetter(...);

}

For custom replaceable setters. (Note: This is treated as
a normal custom setter.)
void xxxAttrSetterCallback(...) {

return xxxAttrSetterCustom(...);

}

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateReplaceableAttrSetterCallback):
(GenerateReplaceableAttrSetter):
(GenerateSingleBatchedAttribute):
(GenerateImplementation):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::TestObjReplaceableAttrSetterCallback):
(TestObjV8Internal):
(WebCore):

  • bindings/scripts/test/V8/V8TestTypedefs.cpp:

(WebCore::TestTypedefsV8Internal::TestTypedefsReplaceableAttrSetterCallback):
(TestTypedefsV8Internal):

8:26 AM Changeset in webkit [144193] by mifenton@rim.com
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Accept key events even when composing region is active.
https://bugs.webkit.org/show_bug.cgi?id=110617

Reviewed by Rob Buis.

PR 293598.

Fix a regression in the previous patch caused
by an unhandled Alt key down being sent through
by IMF.

Reviewed Internally by Nima Ghanavatian.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::updateFormState):

  • WebKitSupport/InputHandler.h:

(InputHandler):

8:21 AM Changeset in webkit [144192] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/Tools

Unreviewed. Added myself to committers.py

  • Scripts/webkitpy/common/config/committers.py:
8:18 AM Changeset in webkit [144191] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt] Flash objects won't load until scrolling page
https://bugs.webkit.org/show_bug.cgi?id=110149

Reviewed by Simon Hausmann.

Revert r134222. The issue from bug 101836 is no longer reproducable,
and the fix was causing flash objects to not load properly.

  • plugins/PluginPackage.cpp:

(WebCore::PluginPackage::determineQuirks):

8:16 AM Changeset in webkit [144190] by commit-queue@webkit.org
  • 36 edits
    7 adds in trunk

[Texmap] TextureMapper is too eager to use intermediate surfaces
https://bugs.webkit.org/show_bug.cgi?id=110762

Patch by No'am Rosenthal <Noam Rosenthal> on 2013-02-27
Reviewed by Allan Sandfeld Jensen.

Source/WebCore:

Refactor the way intermediate surfaces are handled in TextureMapperLayer.
Beforehand, we would create an intermediate surface whenever there is a chance of overlap, and
the intermediate surface would be the largest possible. The result would then be drawn to the
target surface with the layer's opacity and mask.

This would make it so that (1) surfaces are created even when they're not needed, i.e. when there
is no actual overlap, and (2) mask wouldn't be applied correctly.

In this patch the behavior is changed so that the area to be painted is divided to "overlapping"
and "non overlapping" regions. The non-overlapping regions are painted directly, while the overlapping
regions are tiled to smaller rectangles painted using an intermediate surface.
Masks are applied to those intermediate surfaces based on the transform of the actual mask, not drawn
together with the content texture like before.

This optimizes for the more common case of opacity animations on a large tree, while making the quite
rare case of composited masks slightly less optimized but always correct.

Tests: compositing/overlap-blending/children-opacity-huge.html

compositing/overlap-blending/reflection-opacity-huge.html
compositing/overlap-blending/children-opacity-no-overlap.html

  • platform/graphics/cairo/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

  • platform/graphics/cairo/GraphicsContext3DPrivate.h:

(GraphicsContext3DPrivate):

  • platform/graphics/efl/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

  • platform/graphics/efl/GraphicsContext3DPrivate.h:

(GraphicsContext3DPrivate):

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

  • platform/graphics/qt/MediaPlayerPrivateQt.cpp:

(WebCore::MediaPlayerPrivateQt::paintToTextureMapper):

  • platform/graphics/qt/MediaPlayerPrivateQt.h:

(MediaPlayerPrivateQt):

  • platform/graphics/surfaces/GraphicsSurface.cpp:

(WebCore::GraphicsSurface::paintToTextureMapper):

  • platform/graphics/surfaces/GraphicsSurface.h:

(GraphicsSurface):

  • platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:

(WebCore::GraphicsSurface::platformPaintToTextureMapper):

  • platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:

(WebCore::GraphicsSurface::platformPaintToTextureMapper):

  • platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:

(WebCore::GraphicsSurface::platformPaintToTextureMapper):

  • platform/graphics/texmap/TextureMapperBackingStore.h:

(TextureMapperBackingStore):

  • platform/graphics/texmap/TextureMapperPlatformLayer.h:

(TextureMapperPlatformLayer):

  • platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:

(WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):

  • platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:

(TextureMapperSurfaceBackingStore):

  • platform/graphics/texmap/TextureMapperTile.cpp:

(WebCore::TextureMapperTile::paint):

  • platform/graphics/texmap/TextureMapperTile.h:

(TextureMapperTile):

  • platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:

(WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):

  • platform/graphics/texmap/TextureMapperTiledBackingStore.h:

(TextureMapperTiledBackingStore):

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

(WebCore::CoordinatedBackingStore::paintTilesToTextureMapper):
(WebCore::CoordinatedBackingStore::paintToTextureMapper):

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

(CoordinatedBackingStore):

Removed the "mask" parameter from TextureMapperPlatformLayer and overrides, since
we no longer paint the contents and the mask in the same pass.

  • platform/graphics/texmap/TextureMapper.cpp:

(WebCore::TextureMapper::TextureMapper):

  • platform/graphics/texmap/TextureMapper.h:

(WebCore::TextureMapper::setMaskMode):
(TextureMapper):
(WebCore::TextureMapper::isInMaskMode):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawNumber):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::draw):
(WebCore):
(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
(WebCore::TextureMapperGL::drawFiltered):

  • platform/graphics/texmap/TextureMapperGL.h:

(TextureMapperGL):

  • platform/graphics/texmap/TextureMapperImageBuffer.cpp:

(WebCore::TextureMapperImageBuffer::drawTexture):
(WebCore::TextureMapperImageBuffer::drawSolidColor):

  • platform/graphics/texmap/TextureMapperImageBuffer.h:

(TextureMapperImageBuffer):

Instead of painting the mask together with the texture/color, paint the mask
by drawing with DestinationIn to an existing surface.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(TextureMapperPaintOptions):
(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::shouldBlend):
(WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
(WebCore::TextureMapperLayer::replicaTransform):
(WebCore):
(WebCore::applyFilters):
(WebCore::resolveOverlaps):
(WebCore::TextureMapperLayer::computeOverlapRegions):
(WebCore::TextureMapperLayer::paintUsingOverlapRegions):
(WebCore::TextureMapperLayer::applyMask):
(WebCore::TextureMapperLayer::paintIntoSurface):
(WebCore::commitSurface):
(WebCore::TextureMapperLayer::paintWithIntermediateSurface):
(WebCore::TextureMapperLayer::paintRecursive):

  • platform/graphics/texmap/TextureMapperLayer.h:

(WebCore):
(TextureMapperLayer):
(WebCore::TextureMapperLayer::hasFilters):

  • platform/graphics/texmap/TextureMapperShaderProgram.cpp:

(WebCore):
(WebCore::TextureMapperShaderProgram::create):

  • platform/graphics/texmap/TextureMapperShaderProgram.h:

LayoutTests:

Added a few ref-tests for correct overlap blending in accelearated compositing mode.
Skipping the new reflection test on Mac/Chromium since it's not rendered
properly on those platforms.

  • compositing/overlap-blending/children-opacity-huge-expected.html: Added.
  • compositing/overlap-blending/children-opacity-huge.html: Added.
  • compositing/overlap-blending/children-opacity-no-overlap-expected.html: Added.
  • compositing/overlap-blending/children-opacity-no-overlap.html: Added.
  • compositing/overlap-blending/reflection-opacity-huge-expected.html: Added.
  • compositing/overlap-blending/reflection-opacity-huge.html: Added.
8:13 AM Changeset in webkit [144189] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Template element support is already enabled in

development builds. Removing skip entries for related tests as they all pass.

8:11 AM Changeset in webkit [144188] by zandobersek@gmail.com
  • 5 edits
    3 adds in trunk/LayoutTests

Unreviewed GTK gardening.

Rebaselining after r144096.

  • platform/gtk/TestExpectations:
  • platform/gtk/css2.1/20110323/replaced-elements-001-expected.txt:
  • platform/gtk/css2.1/replaced-elements-001-expected.png: Added.
  • platform/gtk/css3/flexbox/button-expected.png: Added.
  • platform/gtk/css3/flexbox/button-expected.txt: Added.
  • platform/gtk/svg/custom/foreign-object-skew-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug92647-2-expected.txt:
8:03 AM Changeset in webkit [144187] by jochen@chromium.org
  • 2 edits in trunk/LayoutTests

Add plugins test expectations for content_shell

Unreviewed gardening.

  • platform/chromium/ContentShellTestExpectations:
7:48 AM Changeset in webkit [144186] by apavlov@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [REGRESSION] [Audits] Disabled "Run" button styling is the same as the enabled one
https://bugs.webkit.org/show_bug.cgi?id=110971

Reviewed by Yury Semikhatsky.

Split out PanelEnablerView-related rules into panelEnabledView.css and restored the missing rules
in inspector.css.

  • inspector/front-end/inspector.css:
  • inspector/front-end/panelEnablerView.css:
7:35 AM Changeset in webkit [144185] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

Unreviewed, rolling out r144179.
http://trac.webkit.org/changeset/144179
https://bugs.webkit.org/show_bug.cgi?id=110980

Breaks compilation (Requested by vsevik on #webkit).

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

  • public/WebTextInputType.h:
  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::textInputInfo):
(WebKit::WebViewImpl::textInputType):

7:29 AM Changeset in webkit [144184] by tkent@chromium.org
  • 8 edits in trunk

REGRESSION: INPUT_MULTIPLE_FIELDS_UI: Changing CSS display property on input[type=date] unexpectedly makes another line for ::-webkit-calendar-picker-indicator
https://bugs.webkit.org/show_bug.cgi?id=110974

Reviewed by Kentaro Hara.

Source/WebCore:

Input elements with the multiple fields UI require flexible box
layout. We should use RenderFlexibleBox regardless of display
property values.

Tests: Update fast/forms/date/date-apparance-basic.html

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::createRenderer):
Always use RenderFlexibleBox.

  • html/BaseMultipleFieldsDateAndTimeInputType.h:

(BaseMultipleFieldsDateAndTimeInputType): Declare createRenderer.

LayoutTests:

  • fast/forms/date/date-appearance-basic-expected.txt:
  • fast/forms/date/date-appearance-basic.html:
  • platform/chromium-mac/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium/TestExpectations:
7:27 AM Changeset in webkit [144183] by allan.jensen@digia.com
  • 3 edits in trunk/Source/WebCore

[TexMap] Flickering after transitions on Apple HTML5 demo
https://bugs.webkit.org/show_bug.cgi?id=102501

Reviewed by Noam Rosenthal.

Notify about animation start after the new animation is actually commited.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::GraphicsLayerTextureMapper::addAnimation):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

(GraphicsLayerTextureMapper):

7:11 AM Changeset in webkit [144182] by vivek.vg@samsung.com
  • 9 edits
    1 add in trunk

Web Inspector: Refactor AuditsPanel with AuditController as newly introduced entity
https://bugs.webkit.org/show_bug.cgi?id=110866

Reviewed by Alexander Pavlov.

Source/WebCore:

AuditController is being introduced in order to follow MVC pattern with the Audits.
This is the first step about the refactoring. Moving the methods from the AuditsPanel
into AuditController would ease the event driven approach to de-couple the AuditsPanel
and the AuditLauncherView.

No new tests as code refactoring.

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/AuditController.js: Added.

(WebInspector.AuditController):
(WebInspector.AuditController.prototype.ruleResultReadyCallback):
(WebInspector.AuditController.prototype.categoryDoneCallback):
(WebInspector.AuditController.prototype._executeAudit):
(WebInspector.AuditController.prototype._auditFinishedCallback):
(WebInspector.AuditController.prototype.startAuditWhenResourcesReady):
(WebInspector.AuditController.prototype.initiateAudit):
(WebInspector.AuditController.prototype._reloadResources):
(WebInspector.AuditController.prototype._didMainResourceLoad):

  • inspector/front-end/AuditLauncherView.js:

(WebInspector.AuditLauncherView):
(WebInspector.AuditLauncherView.prototype._startAudit):

  • inspector/front-end/AuditsPanel.js:

(WebInspector.AuditsPanel):
(WebInspector.AuditsPanel.prototype.auditFinishedCallback):

  • inspector/front-end/WebKit.qrc:

LayoutTests:

  • inspector/extensions/extensions-audits-tests.js:
7:11 AM Changeset in webkit [144181] by schenney@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] GIFImageDecoderTest.parseAndDecodeByteByByte failing on Android
https://bugs.webkit.org/show_bug.cgi?id=110922

Unreviewed build fix.

  • tests/GIFImageDecoderTest.cpp:

(WebKit):
(WebKit::TEST): Disable the entire test on Android.

7:00 AM Changeset in webkit [144180] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium test expectations update.

  • platform/chromium/TestExpectations:
6:54 AM Changeset in webkit [144179] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[Chromium] Should not return WebTextInputTypeNone for date input element.
https://bugs.webkit.org/show_bug.cgi?id=110740

Patch by Seigo Nonaka <nona@chromium.org> on 2013-02-27
Reviewed by Kent Tamura.

In the case of Windows 8, text input state including on-screen keyboard is controlled by the
value of WebTextInputType returned from WebViewImpl::textInputType().
In past, it returned WebTextInputTypeDate for date text input but now it returns
WebTextInputTypeNone.
WebTextInputTypeNone is used for non editable node, so on-screen keyboard will be hidden if
the date text input is focused. So there is no way to input on Windows 8 tablet without
physical keyboard except tapping small up/down arrow.

  • public/WebTextInputType.h: Introduces WebTextInputTypeDateTimeField.
  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::textInputInfo): Fills type filed regardless of editable or not. It is
safe because textInputType returns editable type only for known editable element.
(WebKit::WebViewImpl::textInputType): Returns WebTextInputTypeDateTimeField for the date
time field element.

6:50 AM Changeset in webkit [144178] by commit-queue@webkit.org
  • 3 edits
    8 adds in trunk

[CSS Regions] Region overset property is not properly computed when there is a region break
https://bugs.webkit.org/show_bug.cgi?id=92497

Patch by Mihai Maerean <Mihai Maerean> on 2013-02-27
Reviewed by David Hyatt.

Source/WebCore:

For "paginated" content in regions that has -webkit-region-break-after:always, the bottom margin was being passed
along for the next region in the chain, which shouldn't happen.

The fix is, at layout, to clear the bottom margin for the nodes (inside paginated contexts) that have
-webkit-region-break-after:always.

Tests: fast/multicol/break-after-always-bottom-margin.html

fast/regions/overset-break-nested.html
fast/regions/overset-break-with-sibling.html
fast/regions/overset-break.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::applyAfterBreak):

LayoutTests:

  • fast/multicol/break-after-always-bottom-margin-expected.txt: Added.
  • fast/multicol/break-after-always-bottom-margin.html: Added.
  • fast/regions/overset-break-expected.txt: Added.
  • fast/regions/overset-break-nested-expected.txt: Added.
  • fast/regions/overset-break-nested.html: Added.
  • fast/regions/overset-break-with-sibling-expected.txt: Added.
  • fast/regions/overset-break-with-sibling.html: Added.
  • fast/regions/overset-break.html: Added.
6:47 AM Changeset in webkit [144177] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium test expectations update.

  • platform/chromium/TestExpectations:
6:46 AM Changeset in webkit [144176] by schenney@chromium.org
  • 2 edits in trunk/Source/WebCore

Bindings test results update after r144126
https://bugs.webkit.org/show_bug.cgi?id=108196

Unreviewed test update.

  • bindings/scripts/test/JS/JSTestObj.cpp: Add include of CallbackFunction.h
5:49 AM Changeset in webkit [144175] by commit-queue@webkit.org
  • 5 edits in trunk/LayoutTests

[chromium] Adapt test expectations to V8 proto changes.
https://bugs.webkit.org/show_bug.cgi?id=110887

Patch by Michael Starzinger <mstarzinger@chromium.org> on 2013-02-27
Reviewed by Stephen Chenney.

ad window-custom-prototype) This is expected bahavior, consistent with
SpiderMonkey. The test expectation is broken. Assigning 'null' to
'proto' makes the accessor installed on Object.prototype disappear.

ad JSON-parse) The result of JSON.parse() doesn't match the result we
get when evaluating the same string through eval() as V8 still has
special handling of the proto property for object literals.

ad cyclic-prototypes) Test fully matches the WebKit expectation now and
no longer fails. However the exception message has a slightly different
format and hence causes a text diff.

  • platform/chromium/TestExpectations: Temporary mark tests failing.
  • platform/chromium/fast/dom/Window/window-custom-prototype-expected.txt:
  • platform/chromium/fast/js/JSON-parse-expected.txt:
  • platform/chromium/fast/js/cyclic-prototypes-expected.txt:
5:34 AM Changeset in webkit [144174] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Bug in atomicIncrement implementation for MIPS GCC
https://bugs.webkit.org/show_bug.cgi?id=110969

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-02-27
Reviewed by Csaba Osztrogonác.

Fix of sync_[add|sub]_and_fetch_8 for GCC patch.

  • wtf/Atomics.cpp:
5:07 AM Changeset in webkit [144173] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Unreviewed inspector front-end closure compilaiton fix.

  • inspector/front-end/ScriptsNavigator.js:

(WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
(WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.set _fileRenamed):

4:49 AM Changeset in webkit [144172] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium test expectations update.

  • platform/chromium/TestExpectations:
4:38 AM Changeset in webkit [144171] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium test expectations update.

  • platform/chromium/TestExpectations:
4:09 AM Changeset in webkit [144170] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

REGRESSION(r137994): It made JSC tests hang and layout tests fail on ARM Thumb2 / Linux
https://bugs.webkit.org/show_bug.cgi?id=108632

Patch by Simon Hausmann <simon.hausmann@digia.com> on 2013-02-27
Reviewed by Csaba Osztrogonác.

It appears that mprotect() is very slow on ARM/Linux, so disable the
approach of unreserved mappings there and fall back to overcomitting
memory, based on Uli Schlachter's recommendation.

  • wtf/OSAllocatorPosix.cpp:

(WTF::OSAllocator::reserveUncommitted):
(WTF::OSAllocator::decommit):

4:05 AM Changeset in webkit [144169] by Bruno de Oliveira Abinader
  • 3 edits in trunk/Source/WebCore

[texmap] Do not apply clip state if redundant
https://bugs.webkit.org/show_bug.cgi?id=110790

Reviewed by Noam Rosenthal.

Add a bool to check if clip state has changed since last apply.

No behavior changes, thus covered by existing tests.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::ClipStack::reset):
(WebCore::TextureMapperGL::ClipStack::pop):
(WebCore::TextureMapperGL::ClipStack::apply):

  • platform/graphics/texmap/TextureMapperGL.h:

(WebCore::TextureMapperGL::ClipStack::ClipStack):
(ClipStack):

4:05 AM Changeset in webkit [144168] by Simon Hausmann
  • 2 edits in trunk/Source/JavaScriptCore

[Qt][Mac] Fix massive parallel builds

Reviewed by Tor Arne Vestbø.

There exists a race condition that LLIntDesiredOffsets.h is written to
by two parllel instances of the ruby script. This patch ensures that similar to the output file,
the generated file is also prefixed according to the build configuration.

  • LLIntOffsetsExtractor.pro:
4:03 AM Changeset in webkit [144167] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium test expectations update.

  • platform/chromium/TestExpectations:
3:51 AM Changeset in webkit [144166] by li.yin@intel.com
  • 3 edits in trunk/LayoutTests

MediaStream constructor test should cover ended MediaStreamTrack.
https://bugs.webkit.org/show_bug.cgi?id=110941

Reviewed by Kentaro Hara.

Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastream
If tracks has ended, it should skip these tracks and continue with the next one.

  • fast/mediastream/MediaStreamConstructor-expected.txt:
  • fast/mediastream/MediaStreamConstructor.html:
3:40 AM Changeset in webkit [144165] by michael.bruning@digia.com
  • 7 edits in trunk/Source/WebKit2

[Qt][WK2] Replace use of WebPreferences with use of WKPrefences C API
https://bugs.webkit.org/show_bug.cgi?id=108952

Reviewed by Simon Hausmann.

Signed off for WebKit2 by Benjamin Poulain.

This patch moves the view classes and preferences in the Qt API
to use the C API for accessing and manipulating preferences as
part of the cleanup and move towards using the C API as base for
the Qt WebKit2 API.

Adds the function WebKit::adoptToQString for convenience when
dealing with QString and copied String objects.

Removes the ScrollAnimatorEnabled options from QWebPreferences.

  • UIProcess/API/cpp/qt/WKStringQt.cpp:

(WebKit::adoptToQString):

  • UIProcess/API/cpp/qt/WKStringQt.h:

(WebKit):

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::initialize):

  • UIProcess/API/qt/qwebpreferences.cpp:

(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
(QWebPreferencesPrivate::setFontFamily):
(QWebPreferencesPrivate::fontFamily):
(QWebPreferencesPrivate::setFontSize):
(QWebPreferencesPrivate::fontSize):

  • UIProcess/API/qt/qwebpreferences_p.h:
  • UIProcess/API/qt/qwebpreferences_p_p.h:
3:07 AM Changeset in webkit [144164] by thiago.santos@intel.com
  • 1 edit
    1 add in trunk/LayoutTests

[EFL] Unreviewed gardening

Updated tests baselines.

  • platform/efl/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt: Added.
2:53 AM Changeset in webkit [144163] by mkwst@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

XHR should fire 'abort' event when navigation interrupts a request.
https://bugs.webkit.org/show_bug.cgi?id=110867

Reviewed by Alexey Proskuryakov.

Adding a layout test to ensure that navigation-canceled XMLHttpRequests
fire an 'abort' event rather than an 'error' event.

  • http/tests/xmlhttprequest/navigation-should-abort-expected.txt: Added.
  • http/tests/xmlhttprequest/navigation-should-abort.html: Added.
2:16 AM Changeset in webkit [144162] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Build fix after r144155. The report page is located at /api/report, not /api/test/report.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._upload_json):

2:15 AM Changeset in webkit [144161] by eustas@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: timeline stops working on certain sites
https://bugs.webkit.org/show_bug.cgi?id=110955

Reviewed by Alexander Pavlov.

Analysis: "timerId" value is number,
so it is not wrapped to node as expected.

Solution: wrap values of all types except Node.

  • inspector/front-end/TimelinePresentationModel.js:

Wrap nonstring values to text nodes.

2:03 AM Changeset in webkit [144160] by thiago.santos@intel.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening

Mark custom elements tests as failures until we enable them.

  • platform/efl/TestExpectations:
1:22 AM Changeset in webkit [144159] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Remove test related to html5lib after r144032
https://bugs.webkit.org/show_bug.cgi?id=110946

Unreviewed, EFL gardening.

Test was removed after r144032. And remove it from TestExpectations.
html5lib/generated/run-template.html.

Patch by Seokju Kwon <Seokju Kwon> on 2013-02-27

  • platform/efl/TestExpectations:
1:21 AM Changeset in webkit [144158] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser can trigger ASSERT(m_speculations.isEmpty())
https://bugs.webkit.org/show_bug.cgi?id=110949

Reviewed by Eric Seidel.

We can hit this ASSERT if didReceiveParsedChunkFromBackgroundParser is
called from the background thread while we're processing
m_speculations (i.e., if processing m_speculations is taking a while
and we've yielded to the event loop).

It's hard to write a deterministic test for this patch, but it's hit
quite often with existing LayoutTests.

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):

1:09 AM Changeset in webkit [144157] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Generate a wrapper function for named constructor callbacks
https://bugs.webkit.org/show_bug.cgi?id=110794

Reviewed by Adam Barth.

This would be the final step of generating wrapper functions.
The patch generates the following wrapper function for named
constructor callbacks.

Handle<Value> namedConstructorCallback(...)
{

return namedConstructor(...);

}

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNamedConstructor):

  • bindings/scripts/test/V8/V8TestNamedConstructor.cpp:

(WebCore::namedConstructor):
(WebCore::namedConstructorCallback):
(WebCore):
(WebCore::V8TestNamedConstructorConstructor::GetTemplate):

  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore::namedConstructor):
(WebCore::namedConstructorCallback):
(WebCore):
(WebCore::V8HTMLImageElementConstructor::GetTemplate):

1:02 AM Changeset in webkit [144156] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium test expectations update.

  • platform/chromium/TestExpectations:
12:56 AM Changeset in webkit [144155] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Stop uploading results to webkit-perf.appspot.com
https://bugs.webkit.org/show_bug.cgi?id=110954

Reviewed by Benjamin Poulain.

When the specified test results server was webkit-perf.appspot.com, replace it by perf.webkit.org.
Also, always use the new JSON format. Removed the code to generate the old format.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._generate_and_show_results):
(PerfTestsRunner._generate_results_dict):
(PerfTestsRunner._merge_slave_config_json):
(PerfTestsRunner._generate_output_files):

12:37 AM Changeset in webkit [144154] by caseq@chromium.org
  • 12 edits in trunk

Web Inspector: show raster tasks on Timeline
https://bugs.webkit.org/show_bug.cgi?id=105851

  • add DeferPaint, Paint & RasterTask trace events handling to trace event processor;
  • upon begin frame, emit aggregated background event for all raster tasks related to inspected page.

Reviewed by Pavel Feldman.

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::willPaintImpl):
(InstrumentationEvents):
(InstrumentationEventArguments):

  • inspector/InspectorInstrumentation.h:

(InstrumentationEvents):
(WebCore):
(InstrumentationEventArguments):

  • inspector/InspectorTimelineAgent.cpp:

(TimelineRecordType):
(WebCore::InspectorTimelineAgent::stop):
(WebCore::InspectorTimelineAgent::didBeginFrame):

  • inspector/InspectorTimelineAgent.h:

(TimelineRecordType):
(WebCore):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createRasterData):
(WebCore):

  • inspector/TimelineRecordFactory.h:

(TimelineRecordFactory):

  • inspector/TimelineTraceEventProcessor.cpp:

(WebCore::TimelineTraceEventProcessor::TimelineTraceEventProcessor):
(WebCore::TimelineTraceEventProcessor::~TimelineTraceEventProcessor):
(WebCore):
(WebCore::TimelineTraceEventProcessor::registerHandler):
(WebCore::TimelineTraceEventProcessor::shutdown):
(WebCore::TimelineTraceEventProcessor::TraceEvent::findParameter):
(WebCore::TimelineTraceEventProcessor::TraceEvent::parameter):
(WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
(WebCore::TimelineTraceEventProcessor::onBeginFrame):
(WebCore::TimelineTraceEventProcessor::onPaintLayerBegin):
(WebCore::TimelineTraceEventProcessor::onPaintLayerEnd):
(WebCore::TimelineTraceEventProcessor::onRasterTaskBegin):
(WebCore::TimelineTraceEventProcessor::onRasterTaskEnd):
(WebCore::TimelineTraceEventProcessor::onLayerDeleted):
(WebCore::TimelineTraceEventProcessor::onPaint):
(WebCore::TimelineTraceEventProcessor::flushRasterizerStatistics):
(WebCore::TimelineTraceEventProcessor::sendTimelineRecord):
(WebCore::TimelineTraceEventProcessor::processBackgroundEvents):

  • inspector/TimelineTraceEventProcessor.h:

(WebCore::TimelineTraceEventProcessor::TraceEvent::TraceEvent):
(WebCore::TimelineTraceEventProcessor::TraceEvent::id):
(WebCore::TimelineTraceEventProcessor::TraceEvent::asInt):
(WebCore::TimelineTraceEventProcessor::TraceEvent::asUInt):
(TimelineTraceEventProcessor):

  • inspector/front-end/TimelineModel.js:
  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel._initRecordStyles):

12:33 AM Changeset in webkit [144153] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium test expectations update.

  • platform/chromium/TestExpectations:
12:23 AM Changeset in webkit [144152] by benjamin@webkit.org
  • 12 edits in trunk/LayoutTests

Fix the tests based on computedStyleIncludingVisitedInfo for asynchronous update of the visited style
https://bugs.webkit.org/show_bug.cgi?id=110708

Reviewed by Ryosuke Niwa.

The tests using computedStyleIncludingVisitedInfo were using the asumption that visited style
is updated synchronously with the loading of resources.
This assumption is valid for Mac WebKit1, but does not hold for multiprocess
WebKit because the list of visited URLs is maintained outside the WebProcess.

This patch changes the tests to use the 'shouldBecomeXXX' test functions in order to wait
for the asynchronous update. With the change, all the tests succeed reliably on WebKit2.

  • fast/history/multiple-classes-visited-expected.txt:
  • fast/history/multiple-classes-visited.html:
  • fast/history/nested-visited-test-expected.txt:
  • fast/history/nested-visited-test.html:
  • fast/history/self-is-visited-expected.txt:
  • fast/history/self-is-visited.html:
  • fast/history/sibling-visited-test-expected.txt:
  • fast/history/sibling-visited-test.html:
  • fast/js/resources/js-test-pre.js:

(.condition):
(.failureHandler):
(shouldBecomeDifferent):

  • platform/wk2/TestExpectations:
  • platform/chromium/TestExpectations: The tests can now also timeout due to

computedStyleIncludingVisitedInfo missing from Chromium's DRT.

12:09 AM Changeset in webkit [144151] by zandobersek@gmail.com
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed gardening.

  • platform/efl/TestExpectations: Removing expectation for html5lib/runner.html, the test was removed in r144032.
  • platform/gtk/TestExpectations: Ditto.
  • platform/gtk/http/tests/security/XFrameOptions/x-frame-options-allowall-expected.txt: Added. Required after r144105.
12:04 AM Changeset in webkit [144150] by commit-queue@webkit.org
  • 11 edits
    2 copies
    15 deletes in trunk

Unreviewed, rolling out r144136, r144143, and r144147.
http://trac.webkit.org/changeset/144136
http://trac.webkit.org/changeset/144143
http://trac.webkit.org/changeset/144147
https://bugs.webkit.org/show_bug.cgi?id=110950

Caused some timeouts and flaky crashes (Requested by abarth on
#webkit).

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

Tools:

  • DumpRenderTree/chromium/DumpRenderTree.cpp:

(main):

  • DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp:

(WebTestRunner::WebPreferences::reset):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::TestShell):

LayoutTests:

  • platform/chromium-mac/security/block-test-no-port-expected.txt: Copied from LayoutTests/platform/chromium/security/block-test-no-port-expected.txt.
  • platform/chromium-win/fast/images/support-broken-image-delegate-expected.txt:
  • platform/chromium-win/http/tests/loading/redirect-methods-expected.txt:
  • platform/chromium-win/security/block-test-no-port-expected.txt: Copied from LayoutTests/platform/chromium/security/block-test-no-port-expected.txt.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/images/support-broken-image-delegate-expected.txt:
  • platform/chromium/fast/loader/main-document-url-for-non-http-loads-expected.txt: Removed.
  • platform/chromium/http/tests/loading/307-after-303-after-post-expected.txt: Removed.
  • platform/chromium/http/tests/misc/favicon-loads-with-images-disabled-expected.txt: Removed.
  • platform/chromium/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt:
  • platform/chromium/http/tests/misc/window-dot-stop-expected.txt: Removed.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-allowall-expected.txt: Removed.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt: Removed.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Removed.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Removed.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow-expected.txt: Removed.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Removed.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-invalid-expected.txt: Removed.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow-expected.txt: Removed.
  • platform/chromium/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt: Removed.
  • platform/chromium/inspector/debugger/pause-in-inline-script-expected.txt: Removed.
  • platform/chromium/inspector/timeline/timeline-script-tag-1-expected.txt: Removed.
  • platform/chromium/security/block-test-no-port-expected.txt:
Note: See TracTimeline for information about the timeline view.