WebKit-https.git
7 years agoAllow blocking of IndexedDB in third-party contexts
mkwst@chromium.org [Thu, 31 Jan 2013 14:57:55 +0000 (14:57 +0000)]
Allow blocking of IndexedDB in third-party contexts
https://bugs.webkit.org/show_bug.cgi?id=94171

Reviewed by Jochen Eisinger.

Source/WebCore:

This patch ensures that the origin of the top window is passed into
SecurityOrigin::canAccessDatabase when working with IndexedDB. Giving
SecurityOrigin access to this data means that it can properly check
whether the database is being opened in a third-party context, and
therefore properly enforce the third-party access checks that were
added in http://trac.webkit.org/changeset/125736.

Third-party checks are added to IDBFactory::open,
IDBFactory::deleteDatabase, and IDBFactory::getDatabaseNames; each will
now throw a SECURITY_ERR exception when access in a third-party context
if third-party access checks are enabled.

To make this process slightly more clear, and avoid some ugly casting
logic, this patch adds a 'topOrigin'  method to ScriptExecutionContext,
and implements it on both WorkerContext and Document.

Tests: http/tests/security/cross-origin-indexeddb-allowed.html
       http/tests/security/cross-origin-indexeddb.html
       http/tests/security/cross-origin-worker-indexeddb-allowed.html
       http/tests/security/cross-origin-worker-indexeddb.html

* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::getDatabaseNames):
(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):
    Grab the SecurityOrigin of the current context's top-level origin,
    and pass it to SecurityOrigin::canAccessDatabase to ensure that
    access checks are properly applied to these three methods.
* dom/Document.cpp:
(WebCore::Document::topOrigin):
(WebCore):
* dom/Document.h:
(Document):
* dom/ScriptExecutionContext.h:
(ScriptExecutionContext):
    Add a topOrigin() method to ScriptExecutionContext, and implement it
    on Document in order to give callers access to the top document's
    SecurityOrigin without casting ScriptExecutionContext.
* workers/WorkerContext.h:
    Change the existing topOrigin() method to override the new method
    on ScriptExecutionContext.

LayoutTests:

Add tests to ensure that IndexedDB can be blocked in a third-party
context in both normal documents and in workers. These tests are
modeled after the existing cross-origin-websql* tests; it might be
possible to reuse some code in the future.

* http/tests/security/cross-origin-indexeddb-allowed-expected.txt: Added.
* http/tests/security/cross-origin-indexeddb-allowed.html: Added.
* http/tests/security/cross-origin-indexeddb-expected.txt: Added.
* http/tests/security/cross-origin-indexeddb.html: Added.
* http/tests/security/cross-origin-worker-indexeddb-allowed-expected.txt: Added.
* http/tests/security/cross-origin-worker-indexeddb-allowed.html: Added.
* http/tests/security/cross-origin-worker-indexeddb-expected.txt: Added.
* http/tests/security/cross-origin-worker-indexeddb.html: Added.
* http/tests/security/resources/cross-origin-iframe-for-indexeddb.html: Added.
* http/tests/security/resources/cross-origin-iframe-for-worker-indexeddb.html: Added.
* http/tests/security/resources/document-for-cross-origin-worker-indexeddb.html: Added.
* http/tests/security/resources/worker-for-indexeddb.js: Added.
(self.onmessage):
    Add exciting new tests, with more boilerplate than I expected!
* platform/efl/TestExpectations:
* platform/mac-snowleopard/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
    Skip these IndexedDB tests on platforms where the feature isn't
    enabled.

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

7 years agoWeb Inspector: [Network] Add cookie column to show presence of request/response cookies.
commit-queue@webkit.org [Thu, 31 Jan 2013 14:52:58 +0000 (14:52 +0000)]
Web Inspector: [Network] Add cookie column to show presence of request/response cookies.
https://bugs.webkit.org/show_bug.cgi?id=107441

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-31
Reviewed by Pavel Feldman.

In some use cases only responses that contain "set-cookie" headers
are interesting.

* English.lproj/localizedStrings.js: Added "Set-Cookies" string.
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._createTable): Added columns.
(WebInspector.NetworkLogView.prototype._createSortingFunctions): Ditto.
(WebInspector.NetworkDataGridNode.prototype.createCells): Ditto.
(WebInspector.NetworkDataGridNode.prototype.refreshRequest): Ditto.
(WebInspector.NetworkDataGridNode.prototype._refreshCookiesCell): Added.
(WebInspector.NetworkDataGridNode.prototype._refreshSetCookiesCell): Added.
(WebInspector.NetworkDataGridNode.RequestCookiesCountComparator): Added.
(WebInspector.NetworkDataGridNode.ResponseCookiesCountComparator): Added.

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

7 years ago[Qt] Unreviewed gardening. Skip two compositing tests, because They hit assertion...
kadam@inf.u-szeged.hu [Thu, 31 Jan 2013 14:30:49 +0000 (14:30 +0000)]
[Qt] Unreviewed gardening. Skip two compositing tests, because They hit assertion fail after 140999.
https://bugs.webkit.org/show_bug.cgi?id=108257.

* platform/qt/TestExpectations:

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

7 years agoWeb Inspector: Exception in HeapSnapshotView.js
aandrey@chromium.org [Thu, 31 Jan 2013 14:15:28 +0000 (14:15 +0000)]
Web Inspector: Exception in HeapSnapshotView.js
https://bugs.webkit.org/show_bug.cgi?id=108456

Reviewed by Yury Semikhatsky.

Listen "profile added" events in the HeapSnapshotView targeted only to the Heap Snapshot type.

* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotView.prototype._onProfileHeaderAdded):

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

7 years agoWeb Inspector: do not set any textContent in overlay highlight spans
commit-queue@webkit.org [Thu, 31 Jan 2013 14:10:36 +0000 (14:10 +0000)]
Web Inspector: do not set any textContent in overlay highlight spans
https://bugs.webkit.org/show_bug.cgi?id=108460

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

Source/WebCore:

Do not set any text content for overlay highlight spans to implicitly
set its height. Instead, measure its height in the same manner as its
done for "width" and "left" and set it explicitly.

No new tests: no change in behaviour.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
(WebInspector.TextEditorMainPanel.ElementMetrics):
* inspector/front-end/textEditor.css:
(.text-editor-token-highlight): Update highlight to correspond to
slightly different elements height.

LayoutTests:

Replace "height" pixel value with "<number>" to avoid difference in
test expectations on varioius platforms and correct test expectations.

* inspector/editor/editor-test.js:
(initialize_EditorTests.InspectorTest.dumpEditorHTML):
* inspector/editor/text-editor-highlight-api-expected.txt:
* inspector/editor/text-editor-highlight-token-expected.txt:

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

7 years ago[Qt] Box shadows on a transparency layer is very slow
allan.jensen@digia.com [Thu, 31 Jan 2013 14:07:58 +0000 (14:07 +0000)]
[Qt] Box shadows on a transparency layer is very slow
https://bugs.webkit.org/show_bug.cgi?id=107547

Reviewed by Noam Rosenthal.

Include the window boundaries in the clip returned by GraphicsContext,
since QPainter may remember clips larger than the destination, but
ShadowBlur uses the clipBounds to determine the size of the shadow layer.

* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::clipBounds):

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

7 years agoCoordinated Graphics: view the debug border/repaint count of the non composited layer.
commit-queue@webkit.org [Thu, 31 Jan 2013 14:07:22 +0000 (14:07 +0000)]
Coordinated Graphics: view the debug border/repaint count of the non composited layer.
https://bugs.webkit.org/show_bug.cgi?id=108401

Patch by Seulgi Kim <seulgikim@company100.net> on 2013-01-31
Reviewed by Noam Rosenthal.

Make non-compositing layer draw debug border and show repaint counter
accroding to settings.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):

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

7 years agoWeb Inspector: highlight backend languages as scripts
pfeldman@chromium.org [Thu, 31 Jan 2013 14:05:06 +0000 (14:05 +0000)]
Web Inspector: highlight backend languages as scripts
https://bugs.webkit.org/show_bug.cgi?id=108336

Reviewed by Vsevolod Vlasov.

Most languages have structure similar to js, so enabling default highlighter for them won't hurt.

* inspector/front-end/FileSystemWorkspaceProvider.js:
(WebInspector.FileSystemWorkspaceProvider.prototype._contentTypeForPath):

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

7 years agoUnjumble ChangeLog authors after r141407.
akling@apple.com [Thu, 31 Jan 2013 13:48:12 +0000 (13:48 +0000)]
Unjumble ChangeLog authors after r141407.

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

7 years agoWeb Inspector: [Profiles] show launcher view upon deleting last profile type's header
aandrey@chromium.org [Thu, 31 Jan 2013 13:42:42 +0000 (13:42 +0000)]
Web Inspector: [Profiles] show launcher view upon deleting last profile type's header
https://bugs.webkit.org/show_bug.cgi?id=108468

Reviewed by Pavel Feldman.

We should show launcher view and hide profile type sidebar section upon deleting last profile type's header from the sidebar.
Right now we only show launcher view upon deleting the last profile header (of any profile type).

* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype._removeProfileHeader):

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

7 years ago[Chromium] Unreviewed gardening.
fmalita@chromium.org [Thu, 31 Jan 2013 13:39:59 +0000 (13:39 +0000)]
[Chromium] Unreviewed gardening.

* platform/chromium-mac-snowleopard/fast/forms/basic-textareas-expected.png:

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

7 years agoVector should consult allocator about ideal size when choosing capacity.
akling@apple.com [Thu, 31 Jan 2013 13:34:32 +0000 (13:34 +0000)]
Vector should consult allocator about ideal size when choosing capacity.
<http://webkit.org/b/108410>
<rdar://problem/13124002>

Source/JavaScriptCore:

Patch by Filip Pizlo <fpizlo@apple.com> on 2013-01-30
Reviewed by Benjamin Poulain.

Remove assertion about Vector capacity that won't hold anymore since capacity()
may not be what you passed to reserveCapacity().

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):

Source/WTF:

Reviewed by Benjamin Poulain.

Added WTF::fastMallocGoodSize(), a workalike/wrapper for OS X's malloc_good_size().
It returns the actual size of the block that will get allocated for a given byte size.

Vector's internal buffer now checks with the allocator if the resulting allocation
could actually house more objects and updates its capacity to make use of the space.

* wtf/Deque.h:
(WTF::::expandCapacity):
* wtf/FastMalloc.cpp:
(WTF::fastMallocGoodSize):
* wtf/FastMalloc.h:
* wtf/Vector.h:
(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBufferBase::reallocateBuffer):

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

7 years agoWeb Inspector: [Network] Columns are misaligned as first row goes out of sight.
commit-queue@webkit.org [Thu, 31 Jan 2013 13:25:41 +0000 (13:25 +0000)]
Web Inspector: [Network] Columns are misaligned as first row goes out of sight.
https://bugs.webkit.org/show_bug.cgi?id=107933

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-31
Reviewed by Pavel Feldman.

For some reason if "td" elements in first table row have "display: none"
style, then column width calculation breaks.

* inspector/front-end/networkLogView.css:
(.network-log-grid.data-grid tr.offscreen > td > div):
Hide content instead of "td" element itself.

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

7 years agoformMethod to have empty string as default value and 'get' as invalid.
rgf748@motorola.com [Thu, 31 Jan 2013 13:01:58 +0000 (13:01 +0000)]
formMethod to have empty string as default value and 'get' as invalid.
https://bugs.webkit.org/show_bug.cgi?id=108263

Reviewed by Kent Tamura.

The spec says formmethod should only have an invalid value default, not a missing value default.
Spec: http://www.whatwg.org/specs/web-apps/current-work/#form-submission-0
      http://www.w3.org/html/wg/drafts/html/master/forms.html#attr-fs-formmethod

Source/WebCore:

Test: fast/forms/formmethod-attribute-test.html

* html/HTMLFormControlElement.cpp: For the missing formMethod attr return empty string.
(WebCore::HTMLFormControlElement::formMethod):

LayoutTests:

* fast/forms/formmethod-attribute-test-expected.txt: Added.
* fast/forms/formmethod-attribute-test.html: Added.
* fast/forms/submit-form-attributes-expected.txt:
* fast/forms/submit-form-attributes.html: Modified test to behave as expected.

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

7 years ago[Efl][WebGL] Add better support to track and free XResources.
commit-queue@webkit.org [Thu, 31 Jan 2013 12:47:22 +0000 (12:47 +0000)]
[Efl][WebGL] Add better support to track and free XResources.
https://bugs.webkit.org/show_bug.cgi?id=107397

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-01-20
Reviewed by Noam Rosenthal.

We leak Memory during config selection as we dont free temporary
allocated visuals, config etc. This patch ensures that we dont leak any
memory.

Covered by existing WebGL tests.

* platform/graphics/surfaces/egl/EGLSurface.cpp:
(WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
* platform/graphics/surfaces/glx/GLXConfigSelector.h:
(WebCore::GLXConfigSelector::GLXConfigSelector):
(WebCore::GLXConfigSelector::visualInfo):
(WebCore::GLXConfigSelector::pBufferContextConfig):
(WebCore::GLXConfigSelector::surfaceContextConfig):
(WebCore::GLXConfigSelector::createSurfaceConfig):
(GLXConfigSelector):
Removed XVisualInfo as member variable. Fixed memory leaks.

* platform/graphics/surfaces/glx/GLXSurface.cpp:
(WebCore::GLXTransportSurface::GLXTransportSurface):
* platform/graphics/surfaces/glx/OwnPtrX11.h: Added.
(OwnPtrX11):
(WebCore::OwnPtrX11::OwnPtrX11):
(WebCore::OwnPtrX11::~OwnPtrX11):
(WebCore::OwnPtrX11::operator=):
(WebCore::OwnPtrX11::operator T*):
(WebCore::OwnPtrX11::operator->):
(WebCore::OwnPtrX11::get):
Calls XFree on pointer to memory allocated by X when the class goes out of scope.
OwnPtr cannot be used here as GLXFBConfig is a pointer to an array of pointers.

* platform/graphics/surfaces/glx/X11WindowResources.cpp:
(WebCore::X11OffScreenWindow::X11OffScreenWindow):
(WebCore::X11OffScreenWindow::~X11OffScreenWindow):
(WebCore):
(WebCore::X11OffScreenWindow::createOffScreenWindow):
(WebCore::X11OffScreenWindow::destroyWindow):
(WebCore::X11OffScreenWindow::nativeSharedDisplay):
* platform/graphics/surfaces/glx/X11WindowResources.h:
(X11OffScreenWindow):
Removed unused code. Fixed memory leaks.

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

7 years agoWeb Inspector: [Canvas] remove invalid canvas profile trace logs upon frame navigation
aandrey@chromium.org [Thu, 31 Jan 2013 12:45:12 +0000 (12:45 +0000)]
Web Inspector: [Canvas] remove invalid canvas profile trace logs upon frame navigation
https://bugs.webkit.org/show_bug.cgi?id=108454

Reviewed by Pavel Feldman.

Source/WebCore:

When canvas profile trace logs stored in the backend get destroyed (for example, on frame navigation), send an event to frontend and update the UI.
Drive-by: replace String types to corresponding TypeBuilder::Canvas::* typedefs.
* inspector/InjectedScriptCanvasModule.cpp:
(WebCore::InjectedScriptCanvasModule::captureFrame):
(WebCore::InjectedScriptCanvasModule::startCapturing):
(WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
(WebCore::InjectedScriptCanvasModule::stopCapturing):
(WebCore::InjectedScriptCanvasModule::dropTraceLog):
(WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
(WebCore::InjectedScriptCanvasModule::traceLog):
(WebCore::InjectedScriptCanvasModule::replayTraceLog):
(WebCore::InjectedScriptCanvasModule::resourceInfo):
(WebCore::InjectedScriptCanvasModule::resourceState):
* inspector/InjectedScriptCanvasModule.h:
(InjectedScriptCanvasModule):
* inspector/Inspector.json:
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::dropTraceLog):
(WebCore::InspectorCanvasAgent::stopCapturing):
(WebCore::InspectorCanvasAgent::getTraceLog):
(WebCore::InspectorCanvasAgent::replayTraceLog):
(WebCore::InspectorCanvasAgent::getResourceInfo):
(WebCore::InspectorCanvasAgent::getResourceState):
(WebCore::InspectorCanvasAgent::frameNavigated):
* inspector/InspectorCanvasAgent.h:
(InspectorCanvasAgent):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::hasIdForFrame):
(WebCore):
* inspector/InspectorPageAgent.h:
(InspectorPageAgent):
* inspector/front-end/CanvasProfileView.js:
(WebInspector.CanvasProfileType.prototype._runSingleFrameCapturing):
(WebInspector.CanvasProfileType.prototype._startFrameCapturing):
(WebInspector.CanvasProfileType.prototype._didStartCapturingFrame):
(WebInspector.CanvasProfileType.prototype._traceLogsRemoved):
(WebInspector.CanvasDispatcher.prototype.contextCreated):
(WebInspector.CanvasDispatcher.prototype.traceLogsRemoved):
(WebInspector.CanvasProfileHeader):
(WebInspector.CanvasProfileHeader.prototype.frameId):

LayoutTests:

* inspector/profiler/canvas-profiler-test.js:
(initialize_CanvasWebGLProfilerTest.InspectorTest.enableCanvasAgent.InspectorBackend.registerCanvasDispatcher):

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

7 years ago[GTK] run-gtk-tests does not respect the -d argument
kov@webkit.org [Thu, 31 Jan 2013 12:43:15 +0000 (12:43 +0000)]
[GTK] run-gtk-tests does not respect the -d argument
https://bugs.webkit.org/show_bug.cgi?id=107822

Reviewed by Philippe Normand.

* Scripts/run-gtk-tests:
(TestRunner.__init__): use the value for the debug option to decide what
build_type to request a path for.
* gtk/common.py:
(get_build_path): now accepts a build_type argument instead of trying both
Release and Debug in order, defaults to release.
(build_path): takes and passes a build_type argument, no default value.

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

7 years agoWeb Inspector: DTE doesn't highlight words if the selected one is the last in the...
commit-queue@webkit.org [Thu, 31 Jan 2013 12:04:09 +0000 (12:04 +0000)]
Web Inspector: DTE doesn't highlight words if the selected one is the last in the line
https://bugs.webkit.org/show_bug.cgi?id=108344

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

Source/WebCore:

Fix error in _isWord function which made an erroneous line-end check.

Improved test: inspector/editor/text-editor-highlight-token.html

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._isWord):

LayoutTests:

Add a test to cover specific case which caused the bug.

* inspector/editor/text-editor-highlight-token-expected.txt:
* inspector/editor/text-editor-highlight-token.html:

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

7 years agoInjectedBundle is being built even with --disable-webkit2
commit-queue@webkit.org [Thu, 31 Jan 2013 12:01:16 +0000 (12:01 +0000)]
InjectedBundle is being built even with --disable-webkit2
https://bugs.webkit.org/show_bug.cgi?id=108364

Patch by PaweĊ‚ Forysiuk <tuxator@o2.pl> on 2013-01-31
Reviewed by Gustavo Noronha Silva.

* GNUmakefile.am: Wrap Injected bundle with ENABLE_WEBKIT2 condition

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

7 years agoWeb Inspector: text-editor-ctrl-movements.html timeouts on mac
commit-queue@webkit.org [Thu, 31 Jan 2013 12:01:01 +0000 (12:01 +0000)]
Web Inspector: text-editor-ctrl-movements.html timeouts on mac
https://bugs.webkit.org/show_bug.cgi?id=108440

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

Use "alt-arrows" key shortcuts to jump over words instead of
"ctrl-arrows" on Mac platform.

* inspector/editor/text-editor-word-jumps-expected.txt: Renamed from LayoutTests/inspector/editor/text-editor-ctrl-movements-expected.txt.
* inspector/editor/text-editor-word-jumps.html: Renamed from LayoutTests/inspector/editor/text-editor-ctrl-movements.html.
* platform/chromium/TestExpectations: Do not skip this test anymore.

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

7 years agoUnreviewed, Qt build fix after r141265.
philn@webkit.org [Thu, 31 Jan 2013 11:44:58 +0000 (11:44 +0000)]
Unreviewed, Qt build fix after r141265.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
Avoid uninitialized variable error when NATIVE_FULLSCREEN_VIDEO is disabled.

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

7 years agoUpdate Christophe Dumez's email address
mikhail.pozdnyakov@intel.com [Thu, 31 Jan 2013 11:44:49 +0000 (11:44 +0000)]
Update Christophe Dumez's email address
https://bugs.webkit.org/show_bug.cgi?id=108453

Patch by Christophe Dumez <dchris@gmail.com> on 2013-01-31
Reviewed by Kenneth Rohde Christiansen.

Update my email address in committers.py.

* Scripts/webkitpy/common/config/committers.py:

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

7 years agoWeb Inspector: test that references from DOM nodes to event listeners are presented...
yurys@chromium.org [Thu, 31 Jan 2013 11:25:30 +0000 (11:25 +0000)]
Web Inspector: test that references from DOM nodes to event listeners are presented in heap snapshots
https://bugs.webkit.org/show_bug.cgi?id=108322

Reviewed by Vsevolod Vlasov.

Test that links from DOM node wrappers to event listener functions are presented
in heap snapshots.

* inspector-protocol/heap-profiler/heap-snapshot-with-event-listener-expected.txt: Added.
* inspector-protocol/heap-profiler/heap-snapshot-with-event-listener.html: Added.

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

7 years agoClick on a label element won't select input[type=date]
tkent@chromium.org [Thu, 31 Jan 2013 11:17:40 +0000 (11:17 +0000)]
Click on a label element won't select input[type=date]
https://bugs.webkit.org/show_bug.cgi?id=108428

Reviewed by Kentaro Hara.

Source/WebCore:

date/time input types with INPUT_MULTIPLE_FIELDS_UI are not
mouse-focusable. <input> as a shadow host never gets focus and
sub-fields in its shadow tree are focusable. Howevever, the click
handling of <label> checked isMouseFocusable. We introduce new function
isFocusableByClickOnLabel to HTMLElement. It's default implementation is
same as isMouseFocusable, and we add special handling for
BaseMultipleFieldsDateAndTimeInputType::isFocusableByClickOnLabel.

Also, date/time input types without INPUT_MULTIPLE_FIELDS_UI were not
mouse-focusable by a mistake. It should be mouse-focusable.

Test: fast/forms/date/date-click-on-label.html

* html/HTMLElement.cpp:
(WebCore::HTMLElement::isFocusableByClickOnLabel):
Added. Just calls isMouseFocusable.
* html/HTMLElement.h:
(HTMLElement): Declare isFocusableByClickOnLabel.
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::defaultEventHandler):
Calls isFocusableByClickOnLabel instead of isMouseFocusable.

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isFocusableByClickOnLabel):
Delegate to InputType::isFocusableByClickOnLabel.
* html/HTMLInputElement.h:
(HTMLInputElement): Declare isFocusableByClickOnLabel.
* html/InputType.cpp:
(WebCore::InputType::isFocusableByClickOnLabel):
Added. Calls isMouseFocusable.
* html/InputType.h:
(InputType): Declare isFocusableByClickOnLabel.

* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::isFocusableByClickOnLabel):
Added. Use the same logic with textfields.
* html/BaseMultipleFieldsDateAndTimeInputType.h:
(BaseMultipleFieldsDateAndTimeInputType): Declare isFocusableByClickOnLabel.
* html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::isMouseFocusable):
Added. Use the same logic with textfields.
* html/BaseChooserOnlyDateAndTimeInputType.h:
(BaseChooserOnlyDateAndTimeInputType): Declare isMouseFocusable.

LayoutTests:

* fast/forms/date/date-click-on-label-expected.txt: Added.
* fast/forms/date/date-click-on-label.html: Added.

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

7 years agoRename WheelEvent::Granularity to WheelEvent::DeltaMode
haraken@chromium.org [Thu, 31 Jan 2013 11:10:44 +0000 (11:10 +0000)]
Rename WheelEvent::Granularity to WheelEvent::DeltaMode
https://bugs.webkit.org/show_bug.cgi?id=108434

Reviewed by Ryosuke Niwa.

Per the spec, WheelEvent::Granularity should be renamed to WheelEvent::DeltaMode.

Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-WheelEvent
https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#constructor-wheelevent

No tests. No change in behavior.

Source/WebCore:

* dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent):
(WebCore::WheelEvent::initWheelEvent):
(WebCore::deltaMode):
(WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
* dom/WheelEvent.h:
(WebCore::WheelEvent::create):
(WebCore::WheelEvent::deltaMode):
(WheelEvent):
* page/EventHandler.cpp:
(WebCore::wheelGranularityToScrollGranularity):
(WebCore::EventHandler::defaultWheelEventHandler):

Source/WebKit/chromium:

* src/WebInputEventConversion.cpp:
(WebKit::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
(WebKit::WebMouseWheelEventBuilder::WebMouseWheelEventBuilder):

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

7 years agoWeb Inspector: test that nodes from the same detached DOM tree will get into one...
yurys@chromium.org [Thu, 31 Jan 2013 10:52:41 +0000 (10:52 +0000)]
Web Inspector: test that nodes from the same detached DOM tree will get into one group in heap snapshot
https://bugs.webkit.org/show_bug.cgi?id=108202

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Test: inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree.html

* inspector/front-end/JSHeapSnapshot.js:
(WebInspector.JSHeapSnapshotNode.prototype.className): removed unnecessary i18n.

LayoutTests:

Test that JS wrappers for all DOM nodes from the same detached DOM tree will get into
single "Detached DOM Tree" entry in the JS heap snapshot.

* http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorTest.importScript):
* inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree-expected.txt: Added.
* inspector-protocol/heap-profiler/heap-snapshot-with-detached-dom-tree.html: Added. I started
with writing simplified version of WebInspector.JSHeapSnapshot just for tests
but it soon it became clear that we would need to reimplement too much functionality
of WebInspector.JSHeapSnapshot so I decided not to reinvent the wheel and just import
original heap snapshot model.
* inspector-protocol/heap-profiler/resources/heap-snapshot-common.js: Added.
(InspectorTest.takeHeapSnapshot):

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

7 years ago[chromium] move runModalBeforeUnloadDialog to TestRunner library
jochen@chromium.org [Thu, 31 Jan 2013 10:02:04 +0000 (10:02 +0000)]
[chromium] move runModalBeforeUnloadDialog to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=108442

Reviewed by Adam Barth.

* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebTestRunner::WebTestProxy::runModalBeforeUnloadDialog):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::runModalBeforeUnloadDialog):
* DumpRenderTree/chromium/WebViewHost.cpp:
* DumpRenderTree/chromium/WebViewHost.h:

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

7 years agoUnreviewed. Bump Chromium dependency to 179332
yurys@chromium.org [Thu, 31 Jan 2013 09:46:02 +0000 (09:46 +0000)]
Unreviewed. Bump Chromium dependency to 179332

* DEPS:

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

7 years ago[V8] Trace not only major DOM GCs but also minor DOM GCs
haraken@chromium.org [Thu, 31 Jan 2013 08:52:58 +0000 (08:52 +0000)]
[V8] Trace not only major DOM GCs but also minor DOM GCs
https://bugs.webkit.org/show_bug.cgi?id=108436

Reviewed by Adam Barth.

Currently only major DOM GCs are traced.
We should also trace minor DOM GCs.

No tests. No change in behavior.

* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::minorGCPrologue):
(WebCore::V8GCController::minorGCEpilogue):

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

7 years ago[EFL][WK2] RequestManagerClientEfl, DownloadManagerEfl and ContextHistoryClientEfl...
mikhail.pozdnyakov@intel.com [Thu, 31 Jan 2013 08:49:47 +0000 (08:49 +0000)]
[EFL][WK2] RequestManagerClientEfl, DownloadManagerEfl and ContextHistoryClientEfl should be based on C API
https://bugs.webkit.org/show_bug.cgi?id=107685

Reviewed by Benjamin Poulain.

RequestManagerClientEfl, DownloadManagerEfl and ContextHistoryClientEfl
should be based on C API so that API layering is not violated.

* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
* UIProcess/efl/ContextHistoryClientEfl.cpp:
(WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
(WebKit::ContextHistoryClientEfl::~ContextHistoryClientEfl):
* UIProcess/efl/ContextHistoryClientEfl.h:
(WebKit::ContextHistoryClientEfl::create):
(ContextHistoryClientEfl):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::DownloadManagerEfl):
(WebKit::DownloadManagerEfl::~DownloadManagerEfl):
* UIProcess/efl/DownloadManagerEfl.h:
(WebKit::DownloadManagerEfl::create):
(DownloadManagerEfl):
* UIProcess/efl/RequestManagerClientEfl.cpp:
(WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
* UIProcess/efl/RequestManagerClientEfl.h:
(WebKit::RequestManagerClientEfl::create):
(RequestManagerClientEfl):

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

7 years agoLayout Test inspector-protocol/take-heap-snapshot.html crashes in the Debug mode
yurys@chromium.org [Thu, 31 Jan 2013 08:45:50 +0000 (08:45 +0000)]
Layout Test inspector-protocol/take-heap-snapshot.html crashes in the Debug mode
https://bugs.webkit.org/show_bug.cgi?id=104800

Reviewed by Jochen Eisinger.

Source/WebCore:

The test crashed because during snapshot generation Profiler.reportHeapSnapshotProgress
events were sent to the inspector front-end, then parsed and dispatched there.
Since in case of layout tests the front-end resides in the same process
as the inspected page parsing the event broke an assumption that there are
no JS heap allocations while heap snapshot is being taken.

I added optional boolean parameter 'reportProgress' to Profiler.takeHeapSnapshot
command so that the protocol client can control whether progress events should
be sent during snapshot generation. The protocol test is not interested in the
progress events and sets reportProgress to false.

Test: inspector-protocol/heap-profiler/take-heap-snapshot.html

* inspector/Inspector.json:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::takeHeapSnapshot):
* inspector/InspectorProfilerAgent.h:
(InspectorProfilerAgent):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):

LayoutTests:

Marked the test as not crashing in the debug mode.

* inspector-protocol/heap-profiler/take-heap-snapshot.html:
* platform/chromium/TestExpectations:

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

7 years agoUnreviewed, rolling out r141110.
commit-queue@webkit.org [Thu, 31 Jan 2013 08:38:25 +0000 (08:38 +0000)]
Unreviewed, rolling out r141110.
http://trac.webkit.org/changeset/141110
https://bugs.webkit.org/show_bug.cgi?id=108349

This patch broke WK2-EFL unit tests (Requested by grzegorz on
#webkit).

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

Source/WebCore:

* platform/text/TextChecking.h:
(WebCore):

Source/WebKit/efl:

* WebCoreSupport/EditorClientEfl.h:

Source/WebKit2:

* UIProcess/efl/TextCheckerEfl.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:

LayoutTests:

* platform/efl-wk2/TestExpectations:

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

7 years agoAdd composition-event-constructor.html, which I forgot to add in r141028
haraken@chromium.org [Thu, 31 Jan 2013 08:33:21 +0000 (08:33 +0000)]
Add composition-event-constructor.html, which I forgot to add in r141028
https://bugs.webkit.org/show_bug.cgi?id=107919

Reviewed by Adam Barth.

r141028 implemented a CompositionEvent constructor, but I forgot to add a test
when I landed the patch manually. This patch adds the test.

* fast/events/constructors/composition-event-constructor-expected.txt: Added.
* fast/events/constructors/composition-event-constructor.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:

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

7 years ago[chromium] move postMessage related methods to TestRunner library
jochen@chromium.org [Thu, 31 Jan 2013 08:30:52 +0000 (08:30 +0000)]
[chromium] move postMessage related methods to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=108343

Reviewed by Adam Barth.

* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebKit):
(WebTestProxyBase):
(WebTestRunner::WebTestProxy::willCheckAndDispatchMessageEvent):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::willCheckAndDispatchMessageEvent):
(WebTestRunner):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::willCheckAndDispatchMessageEvent):

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

7 years agoCoordinated Graphics : Remove WebCoordinatedSurface dependency from CoordinatedSurface
commit-queue@webkit.org [Thu, 31 Jan 2013 08:29:44 +0000 (08:29 +0000)]
Coordinated Graphics : Remove WebCoordinatedSurface dependency from CoordinatedSurface
https://bugs.webkit.org/show_bug.cgi?id=108259

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-01-31
Reviewed by Noam Rosenthal.

This is a preparation patch for Threaded Coordinated Graphics.

WebCoordinatedSurface dependency should be removed from
CoordinatedSurface so as to share CoordinatedSurface between
WebCoordinatedSurface and CoordinatedSurface of WebKit1, which will be
implemented for Threaded Coordinated Graphics.

This patch introduces CoordinatedSurface::Factory, which is a function
pointer that creates CoordinatedSurfaces. CoordinatedLayerTreeHost sets
static CoordinatedSurface::Factory member variable. Classes that use
CoordinatedSurface, which are CoordinatedImageBacking and UpdateAtlas,
create CoordinatedSurfaces by calling CoordinatedSurface::create, which
will call the function set by CoordinatedLayerTreeHost.

This way, we can remove the WebCoordinatedSurface dependency from
CoordinatedSurface and be able to share the code in Threaded Coordinated
Graphics.

No new tests. No change in behavior.

* CMakeLists.txt:
* Shared/CoordinatedGraphics/CoordinatedSurface.cpp: Added.
(WebKit):
(WebKit::CoordinatedSurface::setFactory):
(WebKit::CoordinatedSurface::create):
* Shared/CoordinatedGraphics/CoordinatedSurface.h:
(CoordinatedSurface):
* Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
* Target.pri:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::createCoordinatedSurface):
(WebKit):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:

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

7 years ago[V8] 'new MouseEvent("click", {relatedTarget: window}).window' should return window
haraken@chromium.org [Thu, 31 Jan 2013 08:12:20 +0000 (08:12 +0000)]
[V8] 'new MouseEvent("click", {relatedTarget: window}).window' should return window
https://bugs.webkit.org/show_bug.cgi?id=108432

Reviewed by Adam Barth.

In V8 'new MouseEvent("click", {relatedTarget: window}).window'
returns null. JSC returns window, which is a correct behavior.
V8 should also return window.

Source/WebCore:

The point is that we need to handle a DOMWindow wrapper specially
before converting it to an EventTarget object. A wrapper returned by
Dictionary::get("relatedTarget") is not an expected DOMWindow wrapper.
To get the expected DOMWindow wrapper, we need to look up a prototype
chain of the DOMWindow wrapper.

In JSC, this special handling is done by JSEventTargetCustom::toEventTarget().

Test: fast/events/constructors/mouse-event-constructor.html

* bindings/v8/Dictionary.cpp:
(WebCore::Dictionary::get):

LayoutTests:

* fast/events/constructors/mouse-event-constructor-expected.txt:
* fast/events/constructors/mouse-event-constructor.html:

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

7 years ago[Chromium] Move MediaPlayerPrivateChromium to WebCore
pilgrim@chromium.org [Thu, 31 Jan 2013 08:05:11 +0000 (08:05 +0000)]
[Chromium] Move MediaPlayerPrivateChromium to WebCore
https://bugs.webkit.org/show_bug.cgi?id=108415

Reviewed by Adam Barth.

Part of a larger refactoring series; see tracking bug 106829.

Source/WebCore:

* WebCore.gypi:
* platform/graphics/chromium/MediaPlayerPrivateChromium.cpp: Added.
(WebCore):
(WebCore::MediaPlayerPrivate::registerMediaEngine): call
registerMediaEngine through static function pointer that was set
during WebKit initializeWithoutV8
(WebCore::MediaPlayerPrivate::setMediaEngineRegisterSelfFunction):
new setter function that takes a function pointer that is used by registerMediaEngine
* platform/graphics/chromium/MediaPlayerPrivateChromium.h:
(WebCore):
(MediaPlayerPrivate):

Source/WebKit/chromium:

* WebKit.gyp:
* src/MediaPlayerPrivateChromium.cpp: Removed.
* src/WebKit.cpp:
(WebKit::initializeWithoutV8): call new setter function in
WebCore::MediaPlayerPrivate

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

7 years ago[chromium] move remaining resource load related methods to TestRunner library
jochen@chromium.org [Thu, 31 Jan 2013 08:00:54 +0000 (08:00 +0000)]
[chromium] move remaining resource load related methods to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=108334

Reviewed by Adam Barth.

* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestRunner::WebTestDelegate::allowExternalPages):
* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebKit):
(WebTestProxyBase):
(WebTestRunner::WebTestProxy::canHandleRequest):
(WebTestRunner::WebTestProxy::cannotHandleRequestError):
(WebTestRunner::WebTestProxy::didCreateDataSource):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::canHandleRequest):
(WebTestRunner):
(WebTestRunner::WebTestProxyBase::cannotHandleRequestError):
(WebTestRunner::WebTestProxyBase::didCreateDataSource):
(WebTestRunner::WebTestProxyBase::willSendRequest):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::canHandleRequest):
(WebViewHost::didCreateDataSource):
(WebViewHost::willSendRequest):
(WebViewHost::allowExternalPages):
* DumpRenderTree/chromium/WebViewHost.h:

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

7 years ago[Chromium] Unreviewed, rebaselining expectations.
morrita@google.com [Thu, 31 Jan 2013 07:24:43 +0000 (07:24 +0000)]
[Chromium] Unreviewed, rebaselining expectations.

* platform/chromium-mac-snowleopard/fast/forms/basic-textareas-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/basic-textareas-expected.txt: Removed.
* platform/chromium/TestExpectations:

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

7 years ago[Chromium] Unreviewed, marking video-error-does-not-exist.html as a fail.
morrita@google.com [Thu, 31 Jan 2013 06:05:23 +0000 (06:05 +0000)]
[Chromium] Unreviewed, marking video-error-does-not-exist.html as a fail.

* platform/chromium/TestExpectations:

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

7 years agoPort DragImageWin.cpp to WinCE
paroga@webkit.org [Thu, 31 Jan 2013 06:00:52 +0000 (06:00 +0000)]
Port DragImageWin.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=108329

Reviewed by Brent Fulgham.

Add #if !OS(WINCE) around a few lines of the code, so it can be used by the WinCE port too.

* PlatformWinCE.cmake:
* platform/win/DragImageWin.cpp:
(WebCore::dragLabelFont):
* platform/wince/DragImageWinCE.cpp: Removed.

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

7 years agoUnreviewed build fix after http://trac.webkit.org/changeset/141372.
timothy_horton@apple.com [Thu, 31 Jan 2013 05:27:42 +0000 (05:27 +0000)]
Unreviewed build fix after trac.webkit.org/changeset/141372.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::performDictionaryLookupAtLocation):

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

7 years agoCoordinated Graphics : Remove CoordinatedLayerTreeHostProxy dependency from LayerTree...
commit-queue@webkit.org [Thu, 31 Jan 2013 05:22:01 +0000 (05:22 +0000)]
Coordinated Graphics : Remove CoordinatedLayerTreeHostProxy dependency from LayerTreeRenderer
https://bugs.webkit.org/show_bug.cgi?id=108164

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-01-30
Reviewed by Benjamin Poulain.

This is a preparation patch for Threaded Coordinated Graphics.

LayerTreeRenderer should not depend on CoordinatedLayerTreeHostProxy so that it
can be moved to WebCore.  This patch introduces LayerTreeRendererClient which
is implemented in CoordinatedLayerTreeHostProxy. LayerTreeRenderer uses this
client, instead of using CoordinatedLayerTreeHostProxy directly.

* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::animationFrameReady):
(WebKit::LayerTreeRenderer::updateViewport):
(WebKit::LayerTreeRenderer::renderNextFrame):
(WebKit::LayerTreeRenderer::purgeBackingStores):
(WebKit::LayerTreeRenderer::detach):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebKit):
(LayerTreeRendererClient):
(LayerTreeRenderer):

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

7 years agoVersioning.
lforschler@apple.com [Thu, 31 Jan 2013 05:15:30 +0000 (05:15 +0000)]
Versioning.

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

7 years agoSplit CSSOMWrapper data and functions out from StyleResolver into its own class.
hayato@chromium.org [Thu, 31 Jan 2013 05:03:58 +0000 (05:03 +0000)]
Split CSSOMWrapper data and functions out from StyleResolver into its own class.
https://bugs.webkit.org/show_bug.cgi?id=107779

Reviewed by Dimitri Glazkov.

Factored CSSOMWrapper logic and data out from StyleResolver into a
InspectorCSSOMWrappers class.  Since InspectorCSSOMWrappers
depends on static variables defined in StyleResolver.cpp, this
patch does not extract a new class into a new file, which makes a
review easier since it produces readable diffs.

After we factor static variables related to default style sheets
in a following patch (bug 107780), I'll move
InspectorCSSOMWrappers into a its own file.

No new tests, refactoring only.

* css/StyleResolver.cpp:
(WebCore):
(WebCore::StyleResolver::appendAuthorStyleSheets):
(WebCore::InspectorCSSOMWrappers::collectFromStyleSheetIfNeeded):
(WebCore::InspectorCSSOMWrappers::collect):
(WebCore::InspectorCSSOMWrappers::collectFromStyleSheetContents): Name it explicitly rather than overloading.
(WebCore::InspectorCSSOMWrappers::collectFromStyleSheets): Name it explicitly rather than overloading.
(WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection): Name it explicitly rather than overloading.
(WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets): Renamed from ensureFullCSSOMWrapperForInspector().
(WebCore::InspectorCSSOMWrappers::reportMemoryUsage):
(WebCore::StyleResolver::reportMemoryUsage):
* css/StyleResolver.h:
(InspectorCSSOMWrappers):
(WebCore):
(StyleResolver):
(WebCore::StyleResolver::inspectorCSSOMWrappers):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::willMatchRule):
(WebCore::InspectorCSSAgent::willProcessRule):
(WebCore::InspectorCSSAgent::buildObjectForRule):

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

7 years agoPDFPlugin: Should respond to three-finger tap for dictionary definitions
timothy_horton@apple.com [Thu, 31 Jan 2013 05:02:03 +0000 (05:02 +0000)]
PDFPlugin: Should respond to three-finger tap for dictionary definitions
https://bugs.webkit.org/show_bug.cgi?id=108418
<rdar://problem/13121409>

Reviewed by Simon Fraser.

* WebProcess/Plugins/Netscape/NetscapePlugin.h: Add default implementation of performDictionaryLookupAtLocation.
* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add getSelectionForWordAtPoint and searchInDictionaryWithSelection.
* WebProcess/Plugins/PDF/PDFPlugin.h: Add performDictionaryLookupAtLocation.
* WebProcess/Plugins/PDF/PDFPlugin.mm: Grab a PDFSelection representing the word encompassing the given point, and
throw up a dictionary popover.
(WebKit::PDFPlugin::performDictionaryLookupAtLocation):
* WebProcess/Plugins/PDF/SimplePDFPlugin.h:  Add default implementation of performDictionaryLookupAtLocation.
* WebProcess/Plugins/Plugin.h:  Add performDictionaryLookupAtLocation.
* WebProcess/Plugins/PluginProxy.h: Add default implementation of performDictionaryLookupAtLocation.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performDictionaryLookupAtLocation): Forward performDictionaryLookupAtLocation to the plugin.
* WebProcess/Plugins/PluginView.h: Add performDictionaryLookupAtLocation.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performDictionaryLookupAtLocation): Intercept performDictionaryLookupAtLocation, and give
the main-frame plugin (if it exists) a chance to handle it.

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

7 years agoUnreviewed, rolling out r141358.
commit-queue@webkit.org [Thu, 31 Jan 2013 04:57:50 +0000 (04:57 +0000)]
Unreviewed, rolling out r141358.
http://trac.webkit.org/changeset/141358
https://bugs.webkit.org/show_bug.cgi?id=108421

breaks android builder (Requested by morrita on #webkit).

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

Source/WebCore:

* bindings/v8/custom/V8IntentCustom.cpp:

Source/WebKit/chromium:

* WebKit.gyp:
* features.gypi:
* src/WebFrameImpl.cpp:

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

7 years agoVersioning.
lforschler@apple.com [Thu, 31 Jan 2013 04:46:43 +0000 (04:46 +0000)]
Versioning.

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

7 years agoUnreviewed test failure fix for r141341.
morrita@google.com [Thu, 31 Jan 2013 04:42:29 +0000 (04:42 +0000)]
Unreviewed test failure fix for r141341.

* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):
* Scripts/webkitpy/tool/steps/runtests_unittest.py:

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

7 years ago[V8] Use state->isolate() when state is not 0
haraken@chromium.org [Thu, 31 Jan 2013 04:32:21 +0000 (04:32 +0000)]
[V8] Use state->isolate() when state is not 0
https://bugs.webkit.org/show_bug.cgi?id=107674

Reviewed by Adam Barth.

No tests. No change in behavior.

* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::start):
(WebCore::ScriptProfiler::stop):

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

7 years ago[Chromium] Rebaline for form-related tests
tkent@chromium.org [Thu, 31 Jan 2013 04:07:38 +0000 (04:07 +0000)]
[Chromium] Rebaline for form-related tests
https://bugs.webkit.org/show_bug.cgi?id=105574
https://bugs.webkit.org/show_bug.cgi?id=108069

* platform/chromium-linux-x86/fast/forms/time/time-appearance-pseudo-elements-expected.png: Added.
* platform/chromium-linux/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-linux/fast/forms/date/date-appearance-pseudo-elements-expected.png:
* platform/chromium-linux/fast/forms/month/month-appearance-pseudo-elements-expected.png:
* platform/chromium-linux/fast/forms/time/time-appearance-pseudo-elements-expected.png:
* platform/chromium-linux/fast/forms/week/week-appearance-pseudo-elements-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-mac-lion/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-mac-lion/fast/forms/date/date-appearance-pseudo-elements-expected.png:
* platform/chromium-mac-lion/fast/forms/month/month-appearance-pseudo-elements-expected.png:
* platform/chromium-mac-lion/fast/forms/time/time-appearance-pseudo-elements-expected.png:
* platform/chromium-mac-lion/fast/forms/week/week-appearance-pseudo-elements-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-pseudo-elements-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-pseudo-elements-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-pseudo-elements-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-pseudo-elements-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-mac/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-mac/fast/forms/date/date-appearance-pseudo-elements-expected.png:
* platform/chromium-mac/fast/forms/month/month-appearance-pseudo-elements-expected.png:
* platform/chromium-mac/fast/forms/time/time-appearance-pseudo-elements-expected.png:
* platform/chromium-mac/fast/forms/week/week-appearance-pseudo-elements-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-win-xp/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-win/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-win/fast/forms/date/date-appearance-pseudo-elements-expected.png:
* platform/chromium-win/fast/forms/month/month-appearance-pseudo-elements-expected.png:
* platform/chromium-win/fast/forms/time/time-appearance-pseudo-elements-expected.png:
* platform/chromium-win/fast/forms/week/week-appearance-pseudo-elements-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium/TestExpectations:

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

7 years ago[WK2] Cleanup MessageID parameter after r141332
gyuyoung.kim@samsung.com [Thu, 31 Jan 2013 03:57:05 +0000 (03:57 +0000)]
[WK2] Cleanup MessageID parameter after r141332
https://bugs.webkit.org/show_bug.cgi?id=108419

Unreviewed to fix build breaks.

r141332 didn't remove MessageID parameter on some features.
(battery, vibration, coordinate graphics, network info and so on)

* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
* UIProcess/WebBatteryManagerProxy.h:
(WebBatteryManagerProxy):
* UIProcess/WebNetworkInfoManagerProxy.h:
(WebNetworkInfoManagerProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
* UIProcess/WebVibrationProxy.h:
(WebVibrationProxy):
* UIProcess/soup/WebSoupRequestManagerProxy.h:
(WebSoupRequestManagerProxy):
* WebProcess/Battery/WebBatteryManager.h:
(WebBatteryManager):
* WebProcess/NetworkInfo/WebNetworkInfoManager.h:
(WebNetworkInfoManager):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):
* WebProcess/soup/WebSoupRequestManager.h:
(WebSoupRequestManager):

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

7 years ago[Chromium] Re-enabling fast/workers/storage tests after fix(r141320).
keishi@webkit.org [Thu, 31 Jan 2013 03:38:18 +0000 (03:38 +0000)]
[Chromium] Re-enabling fast/workers/storage tests after fix(r141320).

Unreviewed. Gardening.

* platform/chromium/TestExpectations:

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

7 years agoDFG bytecode parser should have more assertions about the status of local accesses
fpizlo@apple.com [Thu, 31 Jan 2013 03:14:21 +0000 (03:14 +0000)]
DFG bytecode parser should have more assertions about the status of local accesses
https://bugs.webkit.org/show_bug.cgi?id=108417

Reviewed by Mark Hahnenberg.

Assert some things that we already know to be true, just to reassure ourselves that they are true.
This is meant as a prerequisite for https://bugs.webkit.org/show_bug.cgi?id=108414, which will
make these rules even stricter.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::getArgument):

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

7 years agoThe background HTML parser should be able to parse speculatively
abarth@webkit.org [Thu, 31 Jan 2013 02:40:33 +0000 (02:40 +0000)]
The background HTML parser should be able to parse speculatively
https://bugs.webkit.org/show_bug.cgi?id=107753

Reviewed by Eric Seidel.

Source/WebCore:

This patch adds the ability for the foreground HTML parser to
invalidate speculative parsing done by the background HTML parser.
Currently, we're a bit overly agressive an invalidate all speculations
on document.write. We plan to refine that in the future.

Test: fast/parser/document-write-partial-script.html

* WebCore.gypi:
* html/parser/BackgroundHTMLInputStream.cpp: Added.
(WebCore):
(WebCore::BackgroundHTMLInputStream::BackgroundHTMLInputStream):
(WebCore::BackgroundHTMLInputStream::append):
(WebCore::BackgroundHTMLInputStream::close):
(WebCore::BackgroundHTMLInputStream::createCheckpoint):
(WebCore::BackgroundHTMLInputStream::rewindTo):
* html/parser/BackgroundHTMLInputStream.h: Added.
(WebCore):
(BackgroundHTMLInputStream):
(WebCore::BackgroundHTMLInputStream::current):
(WebCore::BackgroundHTMLInputStream::Checkpoint::Checkpoint):
(Checkpoint):
* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::append):
(WebCore):
(WebCore::BackgroundHTMLParser::resumeFrom):
(WebCore::BackgroundHTMLParser::markEndOfFile):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
(WebCore::BackgroundHTMLParser::resumeFromPartial):
* html/parser/BackgroundHTMLParser.h:
(BackgroundHTMLParser):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
(WebCore::HTMLDocumentParser::didFailSpeculation):
(WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
* html/parser/HTMLDocumentParser.h:
(ParsedChunk):
(HTMLDocumentParser):

LayoutTests:

* fast/parser/document-write-partial-script-expected.txt: Added.
* fast/parser/document-write-partial-script.html: Added.

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

7 years ago[Mac Lion] [WK2] tiled-drawing tests are being run when they shouldn't be
jberlin@webkit.org [Thu, 31 Jan 2013 02:38:45 +0000 (02:38 +0000)]
[Mac Lion] [WK2] tiled-drawing tests are being run when they shouldn't be
https://bugs.webkit.org/show_bug.cgi?id=106187

Reviewed by Ryosuke Niwa.

Since the feature is mac-wk2 only, move the tests from platform mac to platform mac-wk2 and just
skip the tests on Lion entirely.

* platform/mac-lion/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-background-no-image-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-background-no-image.html.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.png: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.png.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer.html.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.png: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-expected.png.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.png: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.png.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html.html.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.png: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.png.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-positioned.html.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.png: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.png.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html.html.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.png: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.png.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed.html.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-body-background.html.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.png: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-html-background-expected.png.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-html-background-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-html-background.html.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.png: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.png.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background.html.
* platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/absolute-inside-fixed-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/absolute-inside-fixed.html.
* platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/absolute-inside-out-of-view-fixed.html.
* platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/fixed-in-overflow-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/fixed-in-overflow.html.
* platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex.html.
* platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/fixed-position-out-of-view.html.
* platform/mac-wk2/tiled-drawing/fixed/four-bars-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/four-bars-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed/four-bars-zoomed-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/four-bars-zoomed-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed/four-bars-zoomed.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/four-bars-zoomed.html.
* platform/mac-wk2/tiled-drawing/fixed/four-bars.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/four-bars.html.
* platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/negative-scroll-offset-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/negative-scroll-offset-in-view.html.
* platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/negative-scroll-offset.html.
* platform/mac-wk2/tiled-drawing/fixed/nested-fixed-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/nested-fixed-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed/nested-fixed.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/nested-fixed.html.
* platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/percentage-inside-fixed-expected.txt.
* platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed.html: Renamed from LayoutTests/platform/mac/tiled-drawing/fixed/percentage-inside-fixed.html.
* platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/scrolling-tree-after-scroll-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll.html: Renamed from LayoutTests/platform/mac/tiled-drawing/scrolling-tree-after-scroll.html.
* platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/scrolling-tree-slow-scrolling-expected.txt.
* platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling.html: Renamed from LayoutTests/platform/mac/tiled-drawing/scrolling-tree-slow-scrolling.html.
* platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/sticky/negative-scroll-offset-expected.txt.
* platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset.html: Renamed from LayoutTests/platform/mac/tiled-drawing/sticky/negative-scroll-offset.html.
* platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/sticky/sticky-horizontal-expected.txt.
* platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal.html: Renamed from LayoutTests/platform/mac/tiled-drawing/sticky/sticky-horizontal.html.
* platform/mac-wk2/tiled-drawing/sticky/sticky-vertical-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/sticky/sticky-vertical-expected.txt.
* platform/mac-wk2/tiled-drawing/sticky/sticky-vertical.html: Renamed from LayoutTests/platform/mac/tiled-drawing/sticky/sticky-vertical.html.
* platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/tile-coverage-after-scroll-expected.txt.
* platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll.html: Renamed from LayoutTests/platform/mac/tiled-drawing/tile-coverage-after-scroll.html.
* platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt.
* platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom.html: Renamed from LayoutTests/platform/mac/tiled-drawing/tile-coverage-scroll-to-bottom.html.
* platform/mac-wk2/tiled-drawing/tile-coverage-slow-scrolling-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/tile-coverage-slow-scrolling-expected.txt.
* platform/mac-wk2/tiled-drawing/tile-coverage-slow-scrolling.html: Renamed from LayoutTests/platform/mac/tiled-drawing/tile-coverage-slow-scrolling.html.
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/tiled-drawing-zoom-expected.txt.
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt.
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled.html: Renamed from LayoutTests/platform/mac/tiled-drawing/tiled-drawing-zoom-scrolled.html.
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom.html: Renamed from LayoutTests/platform/mac/tiled-drawing/tiled-drawing-zoom.html.
* platform/mac-wk2/tiled-drawing/use-tiled-drawing-expected.txt: Renamed from LayoutTests/platform/mac/tiled-drawing/use-tiled-drawing-expected.txt.
* platform/mac-wk2/tiled-drawing/use-tiled-drawing.html: Renamed from LayoutTests/platform/mac/tiled-drawing/use-tiled-drawing.html.
* platform/mac/TestExpectations:

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

7 years agoRemove MessageID from MessageSender
andersca@apple.com [Thu, 31 Jan 2013 02:30:09 +0000 (02:30 +0000)]
Remove MessageID from MessageSender
https://bugs.webkit.org/show_bug.cgi?id=108413

Reviewed by Andreas Kling.

This is another step towards eliminating MessageID.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkConnectionToWebProcess.h:
(NetworkConnectionToWebProcess):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::processIncomingMessage):
(CoreIPC::Connection::dispatchSyncMessage):
(CoreIPC::Connection::dispatchMessage):
* Platform/CoreIPC/Connection.h:
(QueueClient):
(CoreIPC::Connection::waitForAndDispatchImmediately):
* Platform/CoreIPC/MessageReceiver.h:
(MessageReceiver):
(CoreIPC::MessageReceiver::didReceiveSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::dispatchMessage):
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
(MessageReceiverMap):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::didReceiveMessage):
* PluginProcess/PluginProcess.h:
(PluginProcess):
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):
* PluginProcess/WebProcessConnection.h:
(WebProcessConnection):
* Scripts/webkit2/messages.py:
(forward_declarations_and_headers):
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveMessage):
* Shared/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::sendMessage):
* Shared/ChildProcessProxy.h:
(ChildProcessProxy):
(WebKit::ChildProcessProxy::send):
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(WebKit::CustomProtocolManager::didReceiveMessage):
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
* Shared/Plugins/NPRemoteObjectMap.h:
(NPRemoteObjectMap):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::didReceiveMessage):
* Shared/WebConnection.h:
(WebConnection):
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
* Shared/mac/SecItemShim.h:
(SecItemShim):
* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::didReceiveMessage):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveMessage):
(WebKit::DownloadProxy::didReceiveSyncMessage):
* UIProcess/Downloads/DownloadProxy.h:
(DownloadProxy):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::didReceiveCoordinatedLayerTreeHostProxyMessage):
* UIProcess/DrawingAreaProxy.h:
(DrawingAreaProxy):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
* UIProcess/DrawingAreaProxyImpl.h:
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
(CustomProtocolManagerProxy):
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
(WebKit::CustomProtocolManagerProxy::didReceiveMessage):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didReceiveSyncMessage):
* UIProcess/Network/NetworkProcessProxy.h:
(NetworkProcessProxy):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
(WebNotificationManagerProxy):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didReceiveMessage):
* UIProcess/Plugins/PluginProcessProxy.h:
(PluginProcessProxy):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
(WebKit::SharedWorkerProcessProxy::didReceiveMessage):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
(SharedWorkerProcessProxy):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
* UIProcess/WebApplicationCacheManagerProxy.h:
(WebApplicationCacheManagerProxy):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::dispatchMessage):
(WebKit::WebContext::dispatchSyncMessage):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::didReceiveMessage):
* UIProcess/WebCookieManagerProxy.h:
(WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didReceiveMessage):
* UIProcess/WebDatabaseManagerProxy.h:
(WebDatabaseManagerProxy):
* UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::didReceiveMessage):
(WebKit::WebFullScreenManagerProxy::didReceiveSyncMessage):
* UIProcess/WebFullScreenManagerProxy.h:
(WebFullScreenManagerProxy):
* UIProcess/WebGeolocationManagerProxy.h:
(WebGeolocationManagerProxy):
* UIProcess/WebIconDatabase.h:
(WebIconDatabase):
* UIProcess/WebKeyValueStorageManagerProxy.h:
(WebKeyValueStorageManagerProxy):
* UIProcess/WebMediaCacheManagerProxy.h:
(WebMediaCacheManagerProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
(WebKit::WebPageProxy::didReceiveSyncMessage):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
(WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/WebResourceCacheManagerProxy.h:
(WebResourceCacheManagerProxy):
* UIProcess/mac/RemoteLayerTreeHost.h:
(RemoteLayerTreeHost):
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::didReceiveMessage):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/mac/SecItemShimProxy.h:
(SecItemShimProxy):
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::didReceiveMessage):
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
(WebApplicationCacheManager):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::didReceiveMessage):
* WebProcess/Cookies/WebCookieManager.h:
(WebCookieManager):
* WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::didReceiveMessage):
* WebProcess/FullScreen/WebFullScreenManager.h:
(WebFullScreenManager):
* WebProcess/Geolocation/WebGeolocationManager.h:
(WebGeolocationManager):
* WebProcess/IconDatabase/WebIconDatabaseProxy.h:
(WebIconDatabaseProxy):
* WebProcess/MediaCache/WebMediaCacheManager.h:
(WebMediaCacheManager):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
* WebProcess/Network/NetworkProcessConnection.h:
(NetworkProcessConnection):
* WebProcess/Notifications/WebNotificationManager.h:
(WebNotificationManager):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveMessage):
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
* WebProcess/Plugins/PluginProcessConnection.h:
(PluginProcessConnection):
* WebProcess/ResourceCache/WebResourceCacheManager.h:
(WebResourceCacheManager):
* WebProcess/Storage/WebKeyValueStorageManager.h:
(WebKeyValueStorageManager):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::didReceiveMessage):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebPage/EventDispatcher.h:
(EventDispatcher):
* WebProcess/WebPage/LayerTreeHost.h:
(LayerTreeHost):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPageGroupProxy.h:
(WebPageGroupProxy):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebProcess.h:
(WebProcess):

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

7 years ago[V8] Add IDL 'enum' support to CodeGeneratorV8.pm
commit-queue@webkit.org [Thu, 31 Jan 2013 02:21:05 +0000 (02:21 +0000)]
[V8] Add IDL 'enum' support to CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=106553

Patch by Nils Barth <nbarth@google.com> on 2013-01-30
Reviewed by Kentaro Hara.

Add partial support for Web IDL enumerations in V8 bindings

Binding generators currently cannot handle IDL enumerations.
(An enumeration is an DOMString with a limited set of values, thus
treated internally as DOMString, with validation code added in
bindings.)
This adds support for enumerations in V8, adding validation checking
to setters.
It does not add validation checking to operations (no test case), and
does not add support in JSC.

Test: bindings/scripts/test/TestObj.idl (run-bindings-test)

* bindings/scripts/IDLParser.pm:
 - Parser assumes all IDL definitions are interfaces; add support for
   other definitions
 - Parser parses but discards enum definitions; instead, record
   parsed data
(Parse): Sort definitions into interfaces and enums.
Remove "@definitions eq (someIdlDocument)" test, as this never
happens (fossil code) -- parseDefinitions returns list of definitions,
never a one-item list consisting of a document (no nested documents).
(unquoteString): new utility function to unquote StringToken (token
itself still quoted)
(parseEnum):
(parseEnumValueList):
(parseEnumValues):
(parseEnumOld):

* bindings/scripts/CodeGenerator.pm:
 - Expose parsed enum data to backends (detect enums, list valid
   values)
 - Enums treated as DOMString type in internal function
(ProcessDocument):
(IsEnumType):
(ValidEnumValues):
(IsRefPtrType):
* bindings/scripts/CodeGeneratorV8.pm:
 - Enums treated as DOMString type in internal functions
 - Add validation to setter
(GenerateNormalAttrSetter):
(GetNativeType):
(JSValueToNative):
(NativeToJSValue):
(ConvertToV8StringResource):
* bindings/scripts/test/TestObj.idl:
 - New enum type and enum variable test for IDL enumeration support
* bindings/scripts/test/V8/V8TestObj.cpp:
 - Generated code, desired behavior
(WebCore::TestObjV8Internal::enumAttrAttrGetter):
(TestObjV8Internal):
(WebCore::TestObjV8Internal::enumAttrAttrSetter):
(WebCore):
* bindings/scripts/test/JS/JSTestObj.cpp:
 - Generated code, currently incorrect
(WebCore):
(WebCore::jsTestObjEnumAttr):
(WebCore::setJSTestObjEnumAttr):
* bindings/scripts/test/JS/JSTestObj.h:
 - Generated code, currently incorrect
(WebCore):

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

7 years agoPDFPlugin: Update scrollbars if PDFLayerController's display mode changes
timothy_horton@apple.com [Thu, 31 Jan 2013 02:19:23 +0000 (02:19 +0000)]
PDFPlugin: Update scrollbars if PDFLayerController's display mode changes
https://bugs.webkit.org/show_bug.cgi?id=108412
<rdar://problem/13002261>

Reviewed by Simon Fraser.

* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add pdfLayerController:didChangeDisplayMode:
* WebProcess/Plugins/PDF/PDFPlugin.h: Add notifyDisplayModeChanged().
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate pdfLayerController:didChangeDisplayMode:]): Forward didChangeDisplayMode to notifyDisplayModeChanged.
(WebKit::PDFPlugin::notifyDisplayModeChanged): Update content size and scrollbar size when display mode changes.

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

7 years ago[chromium] Build webkit with enable_web_intents set to 0.
thakis@chromium.org [Thu, 31 Jan 2013 02:17:35 +0000 (02:17 +0000)]
[chromium] Build webkit with enable_web_intents set to 0.
https://bugs.webkit.org/show_bug.cgi?id=108408

Reviewed by Kentaro Hara.

I'll then make chromium build fine with that, then switch
enable_web_intents to 0, roll that into webkit, and then
actually remove the code hidden behind this flag.

Source/WebCore:

* bindings/v8/custom/V8IntentCustom.cpp:

Source/WebKit/chromium:

* WebKit.gyp:
* features.gypi:
* src/WebFrameImpl.cpp:

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

7 years ago[Chromium] WebPluginContainerImpl adding imbalanced touch handler refs
leviw@chromium.org [Thu, 31 Jan 2013 02:15:03 +0000 (02:15 +0000)]
[Chromium] WebPluginContainerImpl adding imbalanced touch handler refs
https://bugs.webkit.org/show_bug.cgi?id=108381

Reviewed by James Robinson.

Source/WebKit/chromium:

WebPluginContainerImpl would call Document::didAddTouchEventHandler every time the plugin requested
touch events. Some plugins make this request more than once, leading to an imbalance in Document's
touch event handler map, and a stale node pointer when the plugin is destroyed. This change
has WebPluginContainerImpl only add one ref for the plugin at a time.

* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::requestTouchEventType):

Tools:

* DumpRenderTree/chromium/TestRunner/src/WebTestPlugin.cpp: Adding an attribute that
tickles the case in WebPluginContainerImpl that imbalanced touch handler refs in Document.

LayoutTests:

* platform/chromium/plugins/re-request-touch-events-crash-expected.txt: Added.
* platform/chromium/plugins/re-request-touch-events-crash.html: Added.

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

7 years agoStart sending scrollType as NonBubblingGesture for flings
commit-queue@webkit.org [Thu, 31 Jan 2013 02:13:12 +0000 (02:13 +0000)]
Start sending scrollType as NonBubblingGesture for flings
https://bugs.webkit.org/show_bug.cgi?id=108372

Patch by Yusuf Ozuysal <yusufo@google.com> on 2013-01-30
Reviewed by James Robinson.

Source/Platform:

Using the newly defined scrollType layerTreeHostImpl will stop bubbling flings to
parent layers. It will only bubble if the child layer is at the end of its scroll
range

* chromium/public/WebInputHandlerClient.h:

Source/WebKit/chromium:

* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::handleGestureFling):

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

7 years agoAdd a concept of dashboard parameters that invalidate others
jparent@chromium.org [Thu, 31 Jan 2013 02:11:47 +0000 (02:11 +0000)]
Add a concept of dashboard parameters that invalidate others
https://bugs.webkit.org/show_bug.cgi?id=108362

Reviewed by Dirk Pranke.

There are certain parameters to the dashboards, that when selected,
invalidate others, such as selecting the test type invalidates the
builder group. Add this concept to dashboard_base and allow specifc
dashboard to add their own invalidating parameters.

The result is that when the user takes a specific action, like changing
the test type, the builder would get reset to the default for the new
test type, rather than erroring or not matching the query param, as is
the current behavior.

Also deletes some unused code (selectBuilder).

* TestResultServer/static-dashboards/dashboard_base.js:
(invalidateQueryParameters):
(setQueryParameter):
* TestResultServer/static-dashboards/flakiness_dashboard.js:
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
* TestResultServer/static-dashboards/timeline_explorer.html:
* TestResultServer/static-dashboards/treemap.html:

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

7 years agoTests for spellcheck behavior
commit-queue@webkit.org [Thu, 31 Jan 2013 02:07:58 +0000 (02:07 +0000)]
Tests for spellcheck behavior
https://bugs.webkit.org/show_bug.cgi?id=108405

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-01-30
Reviewed by Tony Chang.

* editing/spelling/resources/util.js: Added. Boilerplate for spellcheck tests.
* editing/spelling/spelling-double-clicked-word.html: Added. Spelling should work for double-clicked misspellings.
* editing/spelling/spelling-double-clicked-word-with-underscores.html: Added. Underscores should be treated as whitespace: spelling should ignore them.
* editing/spelling/spelling-exactly-selected-multiple-words.html: Added. Spelling should work when the user selects a multi-word misspelling exactly.
* editing/spelling/spelling-exactly-selected-word.html: Added. Spelling should work when the user selects the misspelled word exactly.
* editing/spelling/spelling-multiword-selection.html: Added. Spelling should be disabled when user selects multiple words that are not a single misspelling.
* editing/spelling/spelling-should-select-multiple-words.html: Added. Spellcheck should select multi-word misspellings on context click.
* editing/spelling/spelling-should-select-single-word.html: Added. Spellcheck should select the misspelled word on context click.
* editing/spelling/spelling-subword-selection.html: Added. Spelling should be disabled when user selects a part of misspelling.
* editing/spelling/spelling-with-punctuation-selection.html: Added. Punctuation marks should be treated as whitespace: spelling should ignore them.
* editing/spelling/spelling-with-underscore-selection.html: Added. Underscores should be treated as whitespace: spelling should ignore them.
* editing/spelling/spelling-with-whitespace-selection.html: Added. Spelling should ignore whitespace.
* editing/spelling/spelling-double-clicked-word-expected.txt: Added.
* editing/spelling/spelling-double-clicked-word-with-underscores-expected.txt: Added.
* editing/spelling/spelling-exactly-selected-multiple-words-expected.txt: Added.
* editing/spelling/spelling-exactly-selected-word-expected.txt: Added.
* editing/spelling/spelling-multiword-selection-expected.txt: Added.
* editing/spelling/spelling-should-select-multiple-words-expected.txt: Added.
* editing/spelling/spelling-should-select-single-word-expected.txt: Added.
* editing/spelling/spelling-subword-selection-expected.txt: Added.
* editing/spelling/spelling-with-punctuation-selection-expected.txt: Added.
* editing/spelling/spelling-with-underscore-selection-expected.txt: Added.
* editing/spelling/spelling-with-whitespace-selection-expected.txt: Added.
* platform/chromium/TestExpectations: Skip the tests until the platform implements the behavior.
* platform/efl/TestExpectations: Skip the tests until the platform implements the behavior.
* platform/gtk/TestExpectations: Skip the tests until the platform implements the behavior.
* platform/mac/TestExpectations: Skip the tests until the platform implements the behavior.
* platform/qt/TestExpectations: Skip the tests until the platform implements the behavior.
* platform/wincairo/TestExpectations: Skip the tests until the platform implements the behavior.
* platform/win/TestExpectations: Skip the tests until the platform implements the behavior.
* platform/wk2/TestExpectations: Skip the tests until the platform implements the behavior.

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

7 years agoDisable process suppression of DumpRenderTree on Mac
commit-queue@webkit.org [Thu, 31 Jan 2013 02:07:15 +0000 (02:07 +0000)]
Disable process suppression of DumpRenderTree on Mac
https://bugs.webkit.org/show_bug.cgi?id=108400

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-01-30
Reviewed by Jessie Berlin.

* DumpRenderTree/mac/DumpRenderTree.mm:
(prepareConsistentTestingEnvironment): Take assertion to prevent
process suppression.

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

7 years ago[chromium] Add WebFrame::visibleContentRect()
commit-queue@webkit.org [Thu, 31 Jan 2013 01:39:37 +0000 (01:39 +0000)]
[chromium] Add WebFrame::visibleContentRect()
https://bugs.webkit.org/show_bug.cgi?id=108311

Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-01-30
Reviewed by James Robinson.

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

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

7 years agoIndexedDB: Remove speculative dispatchEvent crash fix now that root cause is addressed
jsbell@chromium.org [Thu, 31 Jan 2013 01:31:12 +0000 (01:31 +0000)]
IndexedDB: Remove speculative dispatchEvent crash fix now that root cause is addressed
https://bugs.webkit.org/show_bug.cgi?id=108131

Reviewed by Tony Chang.

A patch was landed in r140027 to prevent a null pointer crash in
IDBRequest::dispatchEvent and confirm the source of the crash (which
we couldn't repro locally). Following confirmation from user reports,
the root cause was tracked down to a race condition in MessageQueue,
and was fixed in r140483. This patch is no longer needed, and there's
always been an ASSERT in place to catch regressions while debugging.

No new tests - no behavior change.

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent): Remove extraneous test.

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

7 years ago[BlackBerry] Store both proxy and host credentials simultaneously for NetworkJob
commit-queue@webkit.org [Thu, 31 Jan 2013 01:26:22 +0000 (01:26 +0000)]
[BlackBerry] Store both proxy and host credentials simultaneously for NetworkJob
https://bugs.webkit.org/show_bug.cgi?id=108388

Patch by Joe Mason <jmason@rim.com> on 2013-01-30
Reviewed by Yong Li.

The platform NetworkRequest interface has been updated again, to store both a proxy and host
credential for each request (to prevent an infinite loop when a request authenticates against a
proxy but fails the host authentication, and then the followup contains the host credential but not
the proxy credential so it fails proxy authentication, so the next followup contains the proxy
credential but not the host credential...)

Complying with the new interface requires the host and proxy challenge to be stored separately in
webkit so they can both be added to the same NetworkRequest.

Internal PR: 281172
Internal Reviewer: Leo Yang

* platform/network/ResourceHandleInternal.h:
(ResourceHandleInternal):
* platform/network/blackberry/AuthenticationChallenge.h:
(WebCore::AuthenticationChallenge::hasCredentials):
(AuthenticationChallenge):
* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::notifyAuthReceived):
(WebCore::NetworkJob::handleRedirect):
(WebCore::NetworkJob::sendRequestWithCredentials):
(WebCore::NetworkJob::storeCredentials):
(WebCore):
(WebCore::NetworkJob::purgeCredentials):
(WebCore::NetworkJob::notifyChallengeResult):
(WebCore::NetworkJob::updateCurrentWebChallenge):
* platform/network/blackberry/NetworkJob.h:
(NetworkJob):
* platform/network/blackberry/NetworkManager.cpp:
(WebCore::setAuthCredentials):
(WebCore):
(WebCore::NetworkManager::startJob):

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

7 years agoEnable tests for Windows EWS!
roger_fong@apple.com [Thu, 31 Jan 2013 01:22:30 +0000 (01:22 +0000)]
Enable tests for Windows EWS!
https://bugs.webkit.org/show_bug.cgi?id=107968.
Patch by Lucas Forschler.

Reviewed by Adam Barth.

* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(WinEWS):

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

7 years agoMake JSEventListener more robust in the event of the compiled handler being released.
oliver@apple.com [Thu, 31 Jan 2013 01:08:25 +0000 (01:08 +0000)]
Make JSEventListener more robust in the event of the compiled handler being released.
https://bugs.webkit.org/show_bug.cgi?id=108390

Reviewed by Michael Saboff.

It shouldn't be possible for a handler to be collected for any object that
might still trigger an event.  Nonetheless it does still happen, and the
only point of failure that currently exists is compiling the handler.

This patch is mostly just assertions, but also removes a bunch of field
clearing that was previously being performed.  Given we do seem to periodically
end up needing to recompile a handler this appears to be necessary.  That
said there does not appear to be a memory hit from this as the event handlers
that make us use JSLazyEventListener are not frequently compiled, and the bulk
of the functions that are compiled end up causing us to keep the strings around
anyway.

* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::JSLazyEventListener):
(WebCore::JSLazyEventListener::initializeJSFunction):

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

7 years ago[chromium] Unreviewed, update expectations on Mac for textarea change.
tony@chromium.org [Thu, 31 Jan 2013 01:05:34 +0000 (01:05 +0000)]
[chromium] Unreviewed, update expectations on Mac for textarea change.

* platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch-expected.txt:

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

7 years agoImplement KeyboardEvent constructor
haraken@chromium.org [Thu, 31 Jan 2013 00:56:32 +0000 (00:56 +0000)]
Implement KeyboardEvent constructor
https://bugs.webkit.org/show_bug.cgi?id=108320

Reviewed by Adam Barth.

Source/WebCore:

This patch implements KeyboardEvent constructor under a DOM4_EVENTS_CONSTRUCTOR flag,
which is enabled on Chromium and Safari.

This significantly simplifies a code to construct a KeyboardEvent.

Before:
  e = document.createEvent("KeyboardEvent");
  e.initKeyboardEvent("keypress", true, true, null, false, false, false, false, 0, 0);

After:
  e = new KeyboardEvent("keypress");

Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm

- 'char' and 'code' are not yet supported due to lack of WebCore implementation.

- 'altGraphKey' is not supported because it's an extended attribute in WebKit
and is not speced.

- Renamed keyboard event constant variables to avoid style errors.

Test: fast/events/constructors/keyboard-event-constructor.html

* dom/KeyboardEvent.cpp:
(WebCore::keyLocationCode):
(WebCore::KeyboardEventInit::KeyboardEventInit):
(WebCore):
(WebCore::KeyboardEvent::KeyboardEvent):
* dom/KeyboardEvent.h:
(WebCore):
(WebCore::KeypressCommand::KeypressCommand):
(KeypressCommand):
(KeyboardEventInit):
(KeyboardEvent):
(WebCore::KeyboardEvent::create):
(WebCore::KeyboardEvent::keyIdentifier):
(WebCore::KeyboardEvent::keyLocation):
(WebCore::KeyboardEvent::altGraphKey):
(WebCore::KeyboardEvent::keyEvent):
(WebCore::KeyboardEvent::keypressCommands):
* dom/KeyboardEvent.idl:

Source/WebKit/chromium:

Renamed keyboard event constant variables to avoid style errors.

* src/WebInputEventConversion.cpp:
(WebKit::WebKeyboardEventBuilder::WebKeyboardEventBuilder):
* tests/WebInputEventConversionTest.cpp:
* tests/WebInputEventFactoryTestGtk.cpp:

LayoutTests:

Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm

This patch implements KeyboardEvent constructor under a DOM4_EVENTS_CONSTRUCTOR flag,
which is enabled on Chromium and Safari.

* fast/dom/constructed-objects-prototypes-expected.txt:
* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:
* fast/events/constructors/keyboard-event-constructor-expected.txt: Added.
* fast/events/constructors/keyboard-event-constructor.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

7 years ago[chromium] Unreviewed, update expectations Linux 32 textarea tests.
tony@chromium.org [Thu, 31 Jan 2013 00:54:23 +0000 (00:54 +0000)]
[chromium] Unreviewed, update expectations Linux 32 textarea tests.

* platform/chromium-linux-x86/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png: Removed.
* platform/chromium-linux-x86/fast/forms/form-element-geometry-expected.png: Removed.

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

7 years agoAdd a StringTypeAdapter for ASCIILiteral
christophe.dumez@intel.com [Thu, 31 Jan 2013 00:50:24 +0000 (00:50 +0000)]
Add a StringTypeAdapter for ASCIILiteral
https://bugs.webkit.org/show_bug.cgi?id=108338

Reviewed by Benjamin Poulain.

Source/WTF:

Add StringTypeAdapter for ASCIILiteral type so that concatenation of an
ASCIILiteral and a String using + operator is efficiently handled.

* wtf/text/StringConcatenate.h:
* wtf/text/StringOperators.h:
(WTF::operator+): Inline some of the operator+ functions that were not
yet.
(WTF):

Tools:

Add API tests for operator+() taking an ASCIILiteral.

* TestWebKitAPI/Tests/WTF/StringOperators.cpp:
(TestWebKitAPI::TEST):

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

7 years agoModify runtests.py script so that --skip-failing-tests option is not added when platf...
roger_fong@apple.com [Thu, 31 Jan 2013 00:49:05 +0000 (00:49 +0000)]
Modify runtests.py script so that --skip-failing-tests option is not added when platform is cygwin.

Rubberstamped by Timothy Horton.

* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):

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

7 years ago[chromium] Unreviewed, update expectations for Win/Mac
tony@chromium.org [Thu, 31 Jan 2013 00:32:17 +0000 (00:32 +0000)]
[chromium] Unreviewed, update expectations for Win/Mac
Rebaseline one more textarea test on Linux.

* platform/chromium-linux/fast/forms/placeholder-position-expected.png:
* platform/chromium/TestExpectations:

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

7 years agoMark tests as failing after r141303.
pdr@google.com [Thu, 31 Jan 2013 00:28:04 +0000 (00:28 +0000)]
Mark tests as failing after r141303.

These tests were rebaselined before the bots had correct results. This change
marks these tests as [ ImageOnlyFailure Pass ] again while the bots catch up.

Unreviewed test expectations update.

* platform/chromium/TestExpectations:

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

7 years agoIndexedDB: IDBKeyRange::isOnlyKey() does pointer equality comparison
jsbell@chromium.org [Thu, 31 Jan 2013 00:25:37 +0000 (00:25 +0000)]
IndexedDB: IDBKeyRange::isOnlyKey() does pointer equality comparison
https://bugs.webkit.org/show_bug.cgi?id=107582

Reviewed by Tony Chang.

Per the bug title, IDBKeyRange::isOnlyKey() was testing the upper/lower pointers to
determine if this was a "trivial" range, which can be used to fast-path lookups. This
is insufficient in multi-process ports where range values may be thrown across the wire.
This is addressed by using the existing key equality tests.

In addition, the bounds type check incorrectly checked m_lowerType == LowerBoundOpen, which
meant the function could never return true (since upper == lower implies closed bounds).
Therefore, the fast-path case wasn't used even in single-process ports (e.g. DRT). The
slow-path case contructed a backing store cursor over the range, and exited early if the
cursor yielded nothing. The fast-path case doesn't need to create a cursor, so needs to
deal with lookup misses. This revealed two similar (but trivial) lurking bugs in the
fast-path.

No new behavior; covered by tests such as: storage/indexeddb/get-keyrange.html

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::getRecord): Handle backing store read miss case.
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::GetOperation::perform): Handle backing store read miss case.
* Modules/indexeddb/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::isOnlyKey): Compare keys by value, not pointer, correct
type checks, add assertions.
* Modules/indexeddb/IDBKeyRange.h:
(IDBKeyRange): Move implementation to CPP file.

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

7 years agoUnreviewed, rolling out r141205.
commit-queue@webkit.org [Thu, 31 Jan 2013 00:05:31 +0000 (00:05 +0000)]
Unreviewed, rolling out r141205.
http://trac.webkit.org/changeset/141205
https://bugs.webkit.org/show_bug.cgi?id=108353

Command for running tests on windows needs to be investigated.
(Requested by lforschler on #webkit).

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

* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(WinEWS):

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

7 years ago[BlackBerry] Never store empty credentials in NetworkJob::storeCredentials
commit-queue@webkit.org [Thu, 31 Jan 2013 00:03:07 +0000 (00:03 +0000)]
[BlackBerry] Never store empty credentials in NetworkJob::storeCredentials
https://bugs.webkit.org/show_bug.cgi?id=108387

Patch by Joe Mason <jmason@rim.com> on 2013-01-30
Reviewed by Yong Li.

There is a code path that can cause NetworkJob::storeCredentials to be called with empty
credentials, causing the existing credentials to be overwritten even though authentication
succeeded.  PR 287791 has been filed to investigate why this happens; in the meantime, ignore empty
credentials.

Internal PR: 281172
Internally Reviewed By: Leo Yang

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::storeCredentials):

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

7 years ago <rdar://problem/12695827> PPT: Make loading file URLs work with a sandboxed...
ap@apple.com [Wed, 30 Jan 2013 23:52:53 +0000 (23:52 +0000)]
    <rdar://problem/12695827> PPT: Make loading file URLs work with a sandboxed NetworkProcess

        Reviewed by Sam Weinig.

        * DerivedSources.make: Preprocess a .sb.in file to build the profile.

        * NetworkProcess/mac/NetworkProcessMac.mm:
        Don't prevent entering the sandbox. Override sandbox path, because service
        gets a differnt one by default.

        * WebKit2.xcodeproj/project.pbxproj:
        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: Added.

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

7 years agoContentFilter should be a ref-counted class
aestes@apple.com [Wed, 30 Jan 2013 23:45:27 +0000 (23:45 +0000)]
ContentFilter should be a ref-counted class
https://bugs.webkit.org/show_bug.cgi?id=108392

Reviewed by David Kilzer.

* loader/MainResourceLoader.h:
(MainResourceLoader): Store a RefPtr to m_contentFilter.
* platform/ContentFilter.h: Inherit from RefCounted<ContentFilter>.
* platform/mac/ContentFilterMac.mm:
(WebCore::ContentFilter::create): Return a PassRefPtr.

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

7 years ago[mac] ImageBuffer should create accelerated buffers for small canvases, but we should...
timothy_horton@apple.com [Wed, 30 Jan 2013 23:34:57 +0000 (23:34 +0000)]
[mac] ImageBuffer should create accelerated buffers for small canvases, but we shouldn't force them to create compositing layers
https://bugs.webkit.org/show_bug.cgi?id=107804
<rdar://problem/11752381>

Reviewed by Simon Fraser.

Make all canvases IOSurface-backed if requested, instead of having a size threshold
under which we won't use accelerated canvas.

Make requiresCompositingForCanvas take the size of the canvas into account, using
the threshold which was previously in ImageBuffer to determine whether or not a
canvas should be forced into a compositing layer.

This improves canvas performance on some benchmarks
(http://www.mikechambers.com/html5/javascript/QuadTree/examples/collision.html, for example)
significantly, in cases where canvases which fall below the size limit
(and thus are unaccelerated) are being drawn rapidly into either accelerated
tiles or another accelerated canvas, by preventing excessive copying to/from the GPU.

* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore):
(WebCore::ImageBuffer::ImageBuffer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForCanvas):

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

7 years agoIndexedDB: clean up scheduleTask return type
alecflett@chromium.org [Wed, 30 Jan 2013 23:30:39 +0000 (23:30 +0000)]
IndexedDB: clean up scheduleTask return type
https://bugs.webkit.org/show_bug.cgi?id=108361

Reviewed by Tony Chang.

This is just a code simplification now that the
synchronous consumers of scheduleTask are gone.

No new tests: pure refactor.

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::setIndexesReady):
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::scheduleTask):
* Modules/indexeddb/IDBTransactionBackendImpl.h:
(WebCore::IDBTransactionBackendImpl::scheduleTask):
(IDBTransactionBackendImpl):

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

7 years ago[Chromium] Enable textarea resize corner for tests
tony@chromium.org [Wed, 30 Jan 2013 23:27:05 +0000 (23:27 +0000)]
[Chromium] Enable textarea resize corner for tests
https://bugs.webkit.org/show_bug.cgi?id=108385

Reviewed by Ojan Vafai.

Tools:

We should test what we ship. Also, this makes us pass more tests in content_shell.

* DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp:
(WebTestRunner::WebPreferences::reset): Turn on resize corner.

LayoutTests:

* compositing/overflow/textarea-scroll-touch-expected.txt:
* fast/dom/shadow/shadowdom-for-textarea-with-placeholder-expected.html:
This ref test would overlay 2 textarea on top of each other. Turn off the resize corner on one of them.
* fast/dom/shadow/shadowdom-for-textarea-without-shadow.html: Turn off the resize corner since the reference
file doesn't use a textarea.
* fast/repaint/textarea-set-disabled-expected.png:
* platform/chromium-linux/editing/inserting/4960120-1-expected.png:
* platform/chromium-linux/editing/pasteboard/pasting-tabs-expected.png:
* platform/chromium-linux/fast/block/float/overhanging-tall-block-expected.png:
* platform/chromium-linux/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
* platform/chromium-linux/fast/forms/basic-textareas-expected.png:
* platform/chromium-linux/fast/forms/basic-textareas-quirks-expected.png:
* platform/chromium-linux/fast/forms/form-element-geometry-expected.png:
* platform/chromium-linux/fast/forms/linebox-overflow-in-textarea-padding-expected.png:
* platform/chromium-linux/fast/forms/negativeLineHeight-expected.png:
* platform/chromium-linux/fast/forms/textAreaLineHeight-expected.png:
* platform/chromium-linux/fast/forms/textarea-align-expected.png:
* platform/chromium-linux/fast/forms/textarea-placeholder-pseudo-style-expected.png:
* platform/chromium-linux/fast/forms/textarea-placeholder-visibility-1-expected.png:
* platform/chromium-linux/fast/forms/textarea-placeholder-visibility-2-expected.png:
* platform/chromium-linux/fast/forms/textarea-scroll-height-expected.png:
* platform/chromium-linux/fast/forms/textarea-scrollbar-expected.png:
* platform/chromium-linux/fast/forms/textarea-scrolled-type-expected.png:
* platform/chromium-linux/fast/forms/textarea-setinnerhtml-expected.png:
* platform/chromium-linux/fast/forms/textarea-width-expected.png:
* platform/chromium-linux/fast/overflow/overflow-x-y-expected.png:
* platform/chromium-linux/fast/parser/entity-comment-in-textarea-expected.png:
* platform/chromium-linux/fast/parser/open-comment-in-textarea-expected.png:
* platform/chromium-linux/fast/replaced/width100percent-textarea-expected.png:
* platform/chromium-linux/fast/table/003-expected.png:
* platform/chromium-linux/fast/text/international/rtl-white-space-pre-wrap-expected.png:
* platform/chromium-linux/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug194024-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug30559-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug30692-expected.png:
* platform/chromium/TestExpectations: Mark image failures for Mac and Win.

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

7 years agoElements that dynamically become fixed sometimes jump to the top left on scrolling
simon.fraser@apple.com [Wed, 30 Jan 2013 23:22:25 +0000 (23:22 +0000)]
Elements that dynamically become fixed sometimes jump to the top left on scrolling
https://bugs.webkit.org/show_bug.cgi?id=108389

Source/WebCore:

Reviewed by Beth Dakin.

When an element became position:fixed and gained a compositing layer
as a result, we would compute its viewport constraints (including the
last GraphicsLayer position) before we had actually updated the GraphicsLayer
geometry for the first time. This would cause a jump to 0,0 on scrolling.

Fix by removing the call to updateViewportConstraintStatus() just after
creating the backing. Instead, hook in to registerScrollingLayers(),
which is called on every geometry update, to update the viewport
constraints for this layer.

Tested via existing tests, which now show correct positions at last
layout.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::registerScrollingLayers):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):

LayoutTests:

Reviewed by Beth Dakin.

Update test results; these results now correctly reflect the last layout
positions.

* platform/mac/tiled-drawing/fixed/absolute-inside-fixed-expected.txt:
* platform/mac/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt:
* platform/mac/tiled-drawing/fixed/fixed-in-overflow-expected.txt:
* platform/mac/tiled-drawing/fixed/four-bars-expected.txt:
* platform/mac/tiled-drawing/fixed/nested-fixed-expected.txt:
* platform/mac/tiled-drawing/fixed/percentage-inside-fixed-expected.txt:
* platform/mac/tiled-drawing/sticky/sticky-horizontal-expected.txt:
* platform/mac/tiled-drawing/sticky/sticky-vertical-expected.txt:

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

7 years agoRevert r138912, the right fix for https://bugs.webkit.org/show_bug.cgi?id=106187...
jberlin@webkit.org [Wed, 30 Jan 2013 23:19:21 +0000 (23:19 +0000)]
Revert r138912, the right fix for https://bugs.webkit.org/show_bug.cgi?id=106187 is in
r141323.

* platform/mac-wk2/TestExpectations:

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

7 years agoHTMLDocumentParser::insert should be aware of threaded parsing
abarth@webkit.org [Wed, 30 Jan 2013 23:16:03 +0000 (23:16 +0000)]
HTMLDocumentParser::insert should be aware of threaded parsing
https://bugs.webkit.org/show_bug.cgi?id=107764

Reviewed by Eric Seidel.

This patch is an incremental step towards recovering from
document.write invalidating our speculative parsing buffer. The
approach I've taken is to make it possible to transfer the
HTMLDocumentParser's HTMLTokenizer and HTMLToken to the background
thread. To make that possible, I've taught the HTMLDocumentParser how
to operate without a tokenizer or a token.

Not having a tokenizer or a token while parsing in the background also
helps us avoid accidentially feeding input to the main thread's
tokenizer when we're supposed to feed it to the background thread.

This patch shouldn't have any behavior change (other than possibly
fixing a crash in fast/parser when threading parsing is enabled).

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::didFailSpeculation):
(WebCore):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::finish):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTree):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
* html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::TextDocumentParser):

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

7 years ago[HTMLTemplateElement] prevent the parser from removing nodes from the content when...
rafaelw@chromium.org [Wed, 30 Jan 2013 23:11:52 +0000 (23:11 +0000)]
[HTMLTemplateElement] prevent the parser from removing nodes from the content when the foster agency is processing formatting elements
https://bugs.webkit.org/show_bug.cgi?id=108377

Reviewed by Adam Barth.

Source/WebCore:

https://dvcs.w3.org/hg/webcomponents/raw-file/50ce1f368c1a/spec/templates/index.html#in-body-addition

callTheAdoptionAgency now appends to the template's content when it previously would have appended to the template element itself.

New test added to html5lib.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::parserAppendChild):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

LayoutTests:

Note that dump-as-markup.js is modified here to put both template content and its direct children. This was an oversight and fixing it will make it
easier to spot parse errors like ones that arise from this bug, where nodes are appended directly to the template element.

* html5lib/resources/template.dat:
* resources/dump-as-markup.js:
(Markup._get):

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

7 years agoUpdate fast/backgrounds/size/contain-and-cover-zoomed test expectations.
pdr@google.com [Wed, 30 Jan 2013 23:06:34 +0000 (23:06 +0000)]
Update fast/backgrounds/size/contain-and-cover-zoomed test expectations.

Unreviewed update of test expectations.

* platform/chromium-linux-x86/fast/backgrounds/size/contain-and-cover-zoomed-expected.png: Removed.
* platform/chromium-linux/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
* platform/chromium-mac-lion/fast/backgrounds/size/contain-and-cover-zoomed-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/backgrounds/size/contain-and-cover-zoomed-expected.png: Removed.
* platform/chromium-mac/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
* platform/chromium-win-xp/fast/backgrounds/size/contain-and-cover-zoomed-expected.png: Removed.
* platform/chromium-win/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
* platform/chromium/TestExpectations:

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

7 years agoCoordinated Graphics: LayerTreeRenderer manages the surface of UpdateAtlas.
commit-queue@webkit.org [Wed, 30 Jan 2013 23:00:20 +0000 (23:00 +0000)]
Coordinated Graphics: LayerTreeRenderer manages the surface of UpdateAtlas.
https://bugs.webkit.org/show_bug.cgi?id=107224

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-30
Reviewed by Benjamin Poulain.

Currently, CoordinatedLayerTreeHostProxy manages the surface of UpdateAtlas, but
all other resources are managed by LayerTreeRenderer. This patch matches the
surface of UpdateAtlas to other resources.

* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::updateTileForLayer):
(WebKit::CoordinatedLayerTreeHostProxy::createUpdateAtlas):
(WebKit::CoordinatedLayerTreeHostProxy::removeUpdateAtlas):
(WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::updateTile):
(WebKit::LayerTreeRenderer::createUpdateAtlas):
(WebKit):
(WebKit::LayerTreeRenderer::removeUpdateAtlas):
(WebKit::LayerTreeRenderer::purgeGLResources):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(TileUpdate):
(WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
(LayerTreeRenderer):

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

7 years agoUpdate chromium-mac svg/zoom test expectations after r141303
pdr@google.com [Wed, 30 Jan 2013 22:58:08 +0000 (22:58 +0000)]
Update chromium-mac svg/zoom test expectations after r141303

Unreviewed update of test expectations.

* platform/chromium-mac-lion/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:

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

7 years agoDon't run the tiled-drawing tests on Lion WK2.
jberlin@webkit.org [Wed, 30 Jan 2013 22:49:56 +0000 (22:49 +0000)]
Don't run the tiled-drawing tests on Lion WK2.

* platform/mac-wk2/TestExpectations:
Even though the platform/mac/tiled-drawing tests were skipped in the Lion TestExpectations
file, the Pass value in the mac-wk2 TestExpectations file was causing them to be run on
Lion WK2. Explicity skip the tests on Lion here as well.

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

7 years agoRemove MessageID parameter from generated message receivers
andersca@apple.com [Wed, 30 Jan 2013 22:48:09 +0000 (22:48 +0000)]
Remove MessageID parameter from generated message receivers
https://bugs.webkit.org/show_bug.cgi?id=108379

Reviewed by Beth Dakin.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkConnectionToWebProcess.h:
(NetworkConnectionToWebProcess):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* PluginProcess/PluginControllerProxy.h:
(PluginControllerProxy):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::didReceiveMessage):
* PluginProcess/PluginProcess.h:
(PluginProcess):
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):
* PluginProcess/WebProcessConnection.h:
(WebProcessConnection):
* Scripts/webkit2/messages.py:
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveMessage):
* Shared/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(WebKit::CustomProtocolManager::didReceiveMessage):
* Shared/Plugins/NPObjectMessageReceiver.h:
(NPObjectMessageReceiver):
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::didReceiveMessage):
* Shared/WebConnection.h:
(WebConnection):
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
* Shared/mac/SecItemShim.h:
(SecItemShim):
* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::didReceiveMessage):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveMessage):
(WebKit::DownloadProxy::didReceiveSyncMessage):
* UIProcess/Downloads/DownloadProxy.h:
(DownloadProxy):
* UIProcess/DrawingAreaProxy.h:
(DrawingAreaProxy):
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
(CustomProtocolManagerProxy):
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
(WebKit::CustomProtocolManagerProxy::didReceiveMessage):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveMessage):
* UIProcess/Network/NetworkProcessProxy.h:
(NetworkProcessProxy):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didReceiveMessage):
* UIProcess/Plugins/PluginProcessProxy.h:
(PluginProcessProxy):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
(WebKit::SharedWorkerProcessProxy::didReceiveMessage):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
(SharedWorkerProcessProxy):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
* UIProcess/WebApplicationCacheManagerProxy.h:
(WebApplicationCacheManagerProxy):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::didReceiveMessage):
* UIProcess/WebCookieManagerProxy.h:
(WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didReceiveMessage):
* UIProcess/WebDatabaseManagerProxy.h:
(WebDatabaseManagerProxy):
* UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::didReceiveMessage):
(WebKit::WebFullScreenManagerProxy::didReceiveSyncMessage):
* UIProcess/WebFullScreenManagerProxy.h:
(WebFullScreenManagerProxy):
* UIProcess/WebInspectorProxy.h:
(WebInspectorProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
(WebKit::WebPageProxy::didReceiveSyncMessage):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
(WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/mac/RemoteLayerTreeHost.h:
(RemoteLayerTreeHost):
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::didReceiveMessage):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/mac/SecItemShimProxy.h:
(SecItemShimProxy):
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::didReceiveMessage):
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
(WebApplicationCacheManager):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::didReceiveMessage):
* WebProcess/Cookies/WebCookieManager.h:
(WebCookieManager):
* WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::didReceiveMessage):
* WebProcess/FullScreen/WebFullScreenManager.h:
(WebFullScreenManager):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
* WebProcess/Network/WebResourceLoader.h:
(WebResourceLoader):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveMessage):
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
* WebProcess/Plugins/PluginProcessConnection.h:
(PluginProcessConnection):
* WebProcess/Plugins/PluginProxy.h:
(PluginProxy):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::didReceiveMessage):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebPage/EventDispatcher.h:
(EventDispatcher):
* WebProcess/WebPage/WebInspector.h:
(WebInspector):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebProcess.h:
(WebProcess):

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

7 years agoObjective-C API: JSContext's dealloc causes ASSERT due to ordering of releases
mhahnenberg@apple.com [Wed, 30 Jan 2013 22:46:54 +0000 (22:46 +0000)]
Objective-C API: JSContext's dealloc causes ASSERT due to ordering of releases
https://bugs.webkit.org/show_bug.cgi?id=107978

Reviewed by Filip Pizlo.

We need to add the Identifier table save/restore in JSContextGroupRelease so that we
have the correct table if we end up destroying the JSGlobalData/Heap.

* API/JSContextRef.cpp:
(JSContextGroupRelease):

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

7 years agoDatabaseContext should implement ThreadSafeRefCounted.
mark.lam@apple.com [Wed, 30 Jan 2013 22:45:33 +0000 (22:45 +0000)]
DatabaseContext should implement ThreadSafeRefCounted.
https://bugs.webkit.org/show_bug.cgi?id=108285.

Reviewed by Alexey Proskuryakov.

DatabaseManager::interruptAllDatabasesForContext() can ref a
DatabaseContext from another thread. Hence, the DatabaseContext needs
to be a ThreadSafeRefCounted instead of a RefCounted.

No new tests.

* Modules/webdatabase/DatabaseContext.h:

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

7 years ago[WK2][UNIX] g_spawn_sync() generates warning in PluginProcessProxy::scanPlugin()
commit-queue@webkit.org [Wed, 30 Jan 2013 22:44:52 +0000 (22:44 +0000)]
[WK2][UNIX] g_spawn_sync() generates warning in PluginProcessProxy::scanPlugin()
https://bugs.webkit.org/show_bug.cgi?id=108371

Patch by Christophe Dumez <dchris@gmail.com> on 2013-01-30
Reviewed by Martin Robinson.

g_spawn_sync() was sometimes displaying a warning about the SIGCHLD
signal disposition not being set to SIG_DFL, despite the fix in r133755.
The reason was that the code was only setting the disposition to SIG_DFL
if the previous disposition was SIG_IGN.

In this patch, we set the SIGCHLD signal disposition to SIG_DFL, no
matter what its previous disposition was. Also, the signal disposition
is now restored to its previous state after the call to g_spawn_sync()
to avoid side effects. Finally, we now use SIGCHLD instead of SIDCLD
since this is the more compatible POSIX name.

* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::spawnProcessSync):
(WebKit):
(WebKit::PluginProcessProxy::scanPlugin):

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

7 years agoImplement WheelEvent constructor
haraken@chromium.org [Wed, 30 Jan 2013 22:43:57 +0000 (22:43 +0000)]
Implement WheelEvent constructor
https://bugs.webkit.org/show_bug.cgi?id=108303

Reviewed by Adam Barth.

Source/WebCore:

Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm

This patch implements UIEvent constructor under a DOM4_EVENTS_CONSTRUCTOR flag,
which is enabled on Chromium and Safari.

Test: fast/events/constructors/wheel-event-constructor.html

* dom/WheelEvent.cpp:
(WebCore::WheelEventInit::WheelEventInit):
(WebCore):
(WebCore::WheelEvent::WheelEvent):
(WebCore::WheelEvent::initWheelEvent):
* dom/WheelEvent.h:
(WheelEventInit):
(WebCore):
(WheelEvent):
(WebCore::WheelEvent::create):
(WebCore::WheelEvent::wheelDelta):
(WebCore::WheelEvent::wheelDeltaX):
(WebCore::WheelEvent::wheelDeltaY):
(WebCore::WheelEvent::rawDeltaX):
(WebCore::WheelEvent::rawDeltaY):
(WebCore::WheelEvent::granularity):
(WebCore::WheelEvent::webkitDirectionInvertedFromDevice):
(WebCore::WheelEvent::isHorizontal):
* dom/WheelEvent.idl:

Source/WebKit/chromium:

This patch just renames an enum value to avoid style check error.

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

LayoutTests:

Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm

This patch implements UIEvent constructor under a DOM4_EVENTS_CONSTRUCTOR flag,
which is enabled on Chromium and Safari.

Test: fast/events/constructors/wheel-event-constructor.html

* fast/events/constructors/wheel-event-constructor-expected.txt: Added.
* fast/events/constructors/wheel-event-constructor.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

7 years ago[CSS Grid Layout] Support 'auto' sized grid items
jchaffraix@webkit.org [Wed, 30 Jan 2013 22:41:59 +0000 (22:41 +0000)]
[CSS Grid Layout] Support 'auto' sized grid items
https://bugs.webkit.org/show_bug.cgi?id=103332

Reviewed by Tony Chang.

Source/WebCore:

Tests: fast/css-grid-layout/auto-content-resolution-columns.html
       fast/css-grid-layout/auto-content-resolution-rows.html

The specification interprets 'auto' as minmax(min-content, max-content).
Because we stored the grid definitions as an 'auto' length, we wouldn't
handle it properly during layout.

This change makes us do the translation when we query the information for
layout.

* rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::minTrackBreadth):
(WebCore::GridTrackSize::maxTrackBreadth):
Translate 'auto' to minmax(min-content, max-content). This works as getComputedStyle
still sees the GridTrackSize as a single length and thus query length() instead of the
individual component of minmax().

LayoutTests:

* fast/css-grid-layout/auto-content-resolution-columns-expected.txt: Added.
* fast/css-grid-layout/auto-content-resolution-columns.html: Added.
* fast/css-grid-layout/auto-content-resolution-rows-expected.txt: Added.
* fast/css-grid-layout/auto-content-resolution-rows.html: Added.

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

7 years agoIndexedDB: Avoid crashing when deleting indexes
alecflett@chromium.org [Wed, 30 Jan 2013 22:39:41 +0000 (22:39 +0000)]
IndexedDB: Avoid crashing when deleting indexes
https://bugs.webkit.org/show_bug.cgi?id=108356

Reviewed by Tony Chang.

Source/WebCore:

It is reasonable that the backend aborts a transaction before
the frontend is aware, depending on the timing of events. This
allows the transactionId to be invalid rather than asserting.

Test: storage/indexeddb/createIndex-after-failure.html

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
(WebCore::IDBDatabaseBackendImpl::createIndex):
(WebCore::IDBDatabaseBackendImpl::deleteIndex):
(WebCore::IDBDatabaseBackendImpl::get):
(WebCore::IDBDatabaseBackendImpl::put):
(WebCore::IDBDatabaseBackendImpl::setIndexKeys):
(WebCore::IDBDatabaseBackendImpl::setIndexesReady):
(WebCore::IDBDatabaseBackendImpl::openCursor):
(WebCore::IDBDatabaseBackendImpl::count):
(WebCore::IDBDatabaseBackendImpl::deleteRange):
(WebCore::IDBDatabaseBackendImpl::clear):

LayoutTests:

This test works on an edge case around the asynchronous
creation/deletion of indexes that used to crash. It doesn't fail/crash even
without this patch but was the test condition that uncovered the overall problem
before https://bugs.webkit.org/show_bug.cgi?id=107311 changed the timing of
some of the events.

* storage/indexeddb/createIndex-after-failure.html: Added.
* storage/indexeddb/resources/createIndex-after-failure.js: Added.
(sleep):
(prepareDatabase):
(deleteIndexAfterGet):
* storage/indexeddb/resources/shared.js:
(.requests.forEach):
(waitForRequests):

* storage/indexeddb/createIndex-after-failure.html: Added.
* storage/indexeddb/resources/createIndex-after-failure.js: Added.
(prepareDatabase):
(deleteIndexAfterGet):
* storage/indexeddb/resources/shared.js:
(.requests.forEach):
(waitForRequests):

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