WebKit-https.git
7 years agoPrettyDiff.rb fails to render image diffs with Ruby 1.9.3p194
mrobinson@webkit.org [Sun, 30 Dec 2012 21:22:04 +0000 (21:22 +0000)]
PrettyDiff.rb fails to render image diffs with Ruby 1.9.3p194
https://bugs.webkit.org/show_bug.cgi?id=104932

Reviewed by Eric Seidel.

Ruby 1.9 added the concept of string encodings, so the use of `match' with binary data
treats it as UTF-8. Forcing the png_bytes string to have the "binary" encoding avoids
this error.

* PrettyPatch/PrettyPatch.rb: Use force_encoding.

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

7 years agoUnreviewed EFL gardening.
christophe.dumez@intel.com [Sun, 30 Dec 2012 17:51:43 +0000 (17:51 +0000)]
Unreviewed EFL gardening.

Add several webaudio tests to TestExpectations since
they sometimes hit !m_finishedNodes.size() assertion
in AudioContext destructor.

* platform/efl/TestExpectations:

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

7 years agoUnreviewed EFL gardening.
christophe.dumez@intel.com [Sun, 30 Dec 2012 17:37:18 +0000 (17:37 +0000)]
Unreviewed EFL gardening.

Unskip XSS Auditor test case that has been consistently
passing on EFL port for a while.

* platform/efl/TestExpectations:

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

7 years agoUnreviewed EFL gardening.
christophe.dumez@intel.com [Sun, 30 Dec 2012 17:08:14 +0000 (17:08 +0000)]
Unreviewed EFL gardening.

Unskip fast/dom/shadow/host-wrapper-reclaimed.html
since it is passing after r137978.

* platform/efl/TestExpectations:

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

7 years agoUnreviewed EFL gardening.
christophe.dumez@intel.com [Sun, 30 Dec 2012 17:05:27 +0000 (17:05 +0000)]
Unreviewed EFL gardening.

Update expectations for 2 fast/dom test cases so
that they are not reported as unexpected passes.

Those tests are passing because their generated
expectations are wrong.

* platform/efl/TestExpectations:

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

7 years ago[GStreamer] webaudio/decode-audio-data-basic.html fails
philn@webkit.org [Sun, 30 Dec 2012 16:57:45 +0000 (16:57 +0000)]
[GStreamer] webaudio/decode-audio-data-basic.html fails
https://bugs.webkit.org/show_bug.cgi?id=105298

Reviewed by Martin Robinson.

Source/WebCore:

* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::createBus): Return a null pointer if an
error happened while processing a media file.

LayoutTests:

* platform/efl/TestExpectations: Unflag fixed test.

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

7 years agoUnreviewed EFL gardening.
christophe.dumez@intel.com [Sun, 30 Dec 2012 16:55:22 +0000 (16:55 +0000)]
Unreviewed EFL gardening.

Unskip text-decoration-style tests passing after
r126054 and r132076.

* platform/efl/TestExpectations:

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

7 years agoUnreviewed EFL gardening.
christophe.dumez@intel.com [Sun, 30 Dec 2012 15:55:51 +0000 (15:55 +0000)]
Unreviewed EFL gardening.

Unskip cairo-related tests that are now consistently
passing on both WK1 and WK2 EFL.

* platform/efl/TestExpectations:

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

7 years agoUnreviewed EFL gardening.
christophe.dumez@intel.com [Sun, 30 Dec 2012 15:45:55 +0000 (15:45 +0000)]
Unreviewed EFL gardening.

Unskip several compositing test cases that are passing
consistently on EFL WK2.

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

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

7 years agoRegression(r138545): Makes WebAudio tests crash
christophe.dumez@intel.com [Sun, 30 Dec 2012 14:57:20 +0000 (14:57 +0000)]
Regression(r138545): Makes WebAudio tests crash
https://bugs.webkit.org/show_bug.cgi?id=105869

Reviewed by Philippe Normand.

Stop using smart pointers and adoptGRef() for the
GstBus object and call gst_object_unref() manually.
This fixes assertions hits when calling adoptGRef()
since the GstBus object has a floating reference.

Alternatively, we could keep using smart pointers
and stop calling adoptGRef() so that
gst_object_ref_sink() is called and the floating
flag is cleared but I think it is clearer to do
it manually here.

No new tests, already covered by existing tests.

* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::messageCallback):
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::~AudioFileReader):
(WebCore::AudioFileReader::decodeAudioForBusCreation):

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

7 years agoUnreviewed gardening, unskip a now passing test.
ossy@webkit.org [Sun, 30 Dec 2012 14:52:13 +0000 (14:52 +0000)]
Unreviewed gardening, unskip a now passing test.

* platform/qt/TestExpectations:

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

7 years ago[EFL][WK2] Invalid use of temporary object in ProcessLauncher::launchProcess()
christophe.dumez@intel.com [Sun, 30 Dec 2012 11:56:40 +0000 (11:56 +0000)]
[EFL][WK2] Invalid use of temporary object in ProcessLauncher::launchProcess()
https://bugs.webkit.org/show_bug.cgi?id=105867

Reviewed by Kenneth Rohde Christiansen.

Fix invalid use of temporary object in ProcessLauncher::launchProcess()
for prefixedExecutablePath.

* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):

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

7 years agoUnreviewed GTK gardening of the unit tests.
zandobersek@gmail.com [Sun, 30 Dec 2012 09:51:21 +0000 (09:51 +0000)]
Unreviewed GTK gardening of the unit tests.

Skip the TestInspectorServer unit test that's timing out completely.

* Scripts/run-gtk-tests:
(TestRunner):

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

7 years agoRename StyleResolver's member variable that holds SelectorChecker to a proper name.
dglazkov@chromium.org [Sun, 30 Dec 2012 01:22:48 +0000 (01:22 +0000)]
Rename StyleResolver's member variable that holds SelectorChecker to a proper name.
https://bugs.webkit.org/show_bug.cgi?id=105864

In https://bugs.webkit.org/show_bug.cgi?id=105660#c11, Antti suggested renaming m_checker to
m_selectorChecker. I've forgotten about that, but now I remembered it.

Reviewed by Eric Seidel.

No change in functionality, covered by existing tests.

* css/StyleResolver.cpp/h: Renamed all instances of m_checker to m_selectorChecker.

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

7 years agoMove pointer to Document up from SelectorChecker to StyleResolver.
dglazkov@chromium.org [Sun, 30 Dec 2012 00:29:52 +0000 (00:29 +0000)]
Move pointer to Document up from SelectorChecker to StyleResolver.
https://bugs.webkit.org/show_bug.cgi?id=105863

Now that SelectorChecker is mostly stateless, it no longer needs to keep a pointer to Document, which
makes all the code in StyleResolver that reaches for it sort of weird.

Reviewed by Eric Seidel.

No change in functionality, covered by existing tests.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::SelectorChecker): Changed to take document as argument (only used to set bit fields).
(WebCore::SelectorChecker::checkOneSelector): Changed to use element document.
(WebCore::SelectorChecker::checkScrollbarPseudoClass): Ditto.
* css/SelectorChecker.h:
(WebCore): Removed unnecessary Document forward declaration.
(SelectorChecker): Changed constructor declaration, and removed m_document member.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver): Adjusted SelectorChecker initializer accordingly.
(WebCore::StyleResolver::initElement): Changed to use own document accessor.
(WebCore::StyleResolver::initForStyleResolve): Ditto.
(WebCore::StyleResolver::matchUARules): Ditto.
(WebCore::StyleResolver::styleForPage): Ditto.
(WebCore::StyleResolver::applyProperty): Ditto.
(WebCore::StyleResolver::checkForGenericFamilyChange): Ditto.
(WebCore::StyleResolver::initializeFontStyle): Ditto.
(WebCore::StyleResolver::setFontSize): Ditto.
* css/StyleResolver.h:
(WebCore::StyleResolver::document): Changed to use own member.
(WebCore::StyleResolver::documentSettings): Ditto.
(StyleResolver): Added m_document member.
* dom/SelectorQuery.cpp:
(WebCore::SelectorQuery::matches): Changed callsite to reflect new constructor signature.
(WebCore::SelectorQuery::queryAll): Ditto.
(WebCore::SelectorQuery::queryFirst): Ditto.
* html/shadow/ContentSelectorQuery.cpp:
(WebCore::ContentSelectorChecker::ContentSelectorChecker): Ditto.
(WebCore::ContentSelectorQuery::ContentSelectorQuery): Ditto.
* html/shadow/ContentSelectorQuery.h:
(ContentSelectorChecker): Removed unnecessary argument.

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

7 years agoWindows build fix.
weinig@apple.com [Sat, 29 Dec 2012 22:17:42 +0000 (22:17 +0000)]
Windows build fix.

* win/WebKit2Common.vsprops:

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

7 years agoAdd supplementability to the NetworkProcess
weinig@apple.com [Sat, 29 Dec 2012 21:58:13 +0000 (21:58 +0000)]
Add supplementability to the NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=105838

Reviewed by Dan Bernstein.

This patch adds a NetworkProcessSupplement, which is almost identical to
WebProcessSupplement, but has a different initialization override. It also
stops WebProcessSupplement from inheriting from MessageReceiver (and makes
everything that is a WebProcessSupplement also a MessageReceiver) as keeping
that would cause classes that need to be both WebProcessSupplements and
NetworkProcessSupplements inherit from MessageReceiver twice.

* GNUmakefile.list.am:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::downloadsAuthenticationManager):
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/NetworkProcess.h:
(WebKit):
(NetworkProcess):
(WebKit::NetworkProcess::supplement):
(WebKit::NetworkProcess::addSupplement):
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/Network/NetworkProcessSupplement.h: Added.
(WebKit):
(NetworkProcessSupplement):
(WebKit::NetworkProcessSupplement::~NetworkProcessSupplement):
(WebKit::NetworkProcessSupplement::initialize):
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
* WebProcess/Authentication/AuthenticationManager.h:
* WebProcess/Cookies/WebCookieManager.h:
* WebProcess/Geolocation/WebGeolocationManager.h:
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
* WebProcess/MediaCache/WebMediaCacheManager.h:
* WebProcess/Notifications/WebNotificationManager.h:
* WebProcess/ResourceCache/WebResourceCacheManager.h:
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
* WebProcess/WebProcessSupplement.h:
* win/WebKit2.vcproj:

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

7 years ago[BlackBerry] Cookies with an IP domain are not being loaded properly into memory
commit-queue@webkit.org [Sat, 29 Dec 2012 19:10:56 +0000 (19:10 +0000)]
[BlackBerry] Cookies with an IP domain are not being loaded properly into memory
https://bugs.webkit.org/show_bug.cgi?id=105859

PR 271597

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-12-29
Reviewed by George Staikos.

The isIP flag isn't persistented in the database. We need to check it
again when we load it into memory.

* platform/blackberry/CookieManager.cpp:
(WebCore::CookieManager::getBackingStoreCookies):

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

7 years ago[EFL][WebGL] Refactor GLXImplementation.
commit-queue@webkit.org [Sat, 29 Dec 2012 18:11:57 +0000 (18:11 +0000)]
[EFL][WebGL] Refactor GLXImplementation.
https://bugs.webkit.org/show_bug.cgi?id=105825

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-29
Reviewed by Kenneth Rohde Christiansen.

This patch decouples native window management and logic to find surface configuration in GLX implementation.

* platform/graphics/opengl/GLDefs.h:
* platform/graphics/surfaces/glx/GLXConfigSelector.h: Renamed from Source/WebCore/platform/graphics/surfaces/glx/GLXWindowResources.h.
(WebCore):
(GLXConfigSelector):
(WebCore::GLXConfigSelector::GLXConfigSelector):
(WebCore::GLXConfigSelector::~GLXConfigSelector):
(WebCore::GLXConfigSelector::visualInfo):
(WebCore::GLXConfigSelector::pBufferContextConfig):
(WebCore::GLXConfigSelector::surfaceContextConfig):
(WebCore::GLXConfigSelector::reset):
(WebCore::GLXConfigSelector::createConfig):

Helper class to find surface configuration.

* platform/graphics/surfaces/glx/GLXContext.h:
(GLXOffScreenContext):
* platform/graphics/surfaces/glx/GLXSurface.cpp:
(WebCore::GLXTransportSurface::GLXTransportSurface):
(WebCore::GLXTransportSurface::configuration):
(WebCore::GLXTransportSurface::setGeometry):
(WebCore::GLXTransportSurface::destroy):
(WebCore::GLXPBuffer::GLXPBuffer):
(WebCore::GLXPBuffer::initialize):
(WebCore::GLXPBuffer::configuration):
* platform/graphics/surfaces/glx/GLXSurface.h:
(GLXTransportSurface):
(GLXPBuffer):

Inheritance changed from X11OffScreenWindow to GLPlatformSurface.

* platform/graphics/surfaces/glx/X11WindowResources.cpp:
(WebCore):
(WebCore::X11OffScreenWindow::X11OffScreenWindow):
(WebCore::X11OffScreenWindow::reSizeWindow):
(WebCore::X11OffScreenWindow::createOffscreenWindow):
(WebCore::X11OffScreenWindow::destroyWindow):
(WebCore::X11OffScreenWindow::nativeSharedDisplay):
(WebCore::X11OffScreenWindow::setVisualInfo):
(WebCore::X11OffScreenWindow::isXRenderExtensionSupported):
* platform/graphics/surfaces/glx/X11WindowResources.h:
(WebCore::SharedX11Resources::create):
(SharedX11Resources):
(X11OffScreenWindow):

 Removed code related to surface configiration.

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

7 years ago[GTK] Change bug for some inspector tests
commit-queue@webkit.org [Sat, 29 Dec 2012 17:02:21 +0000 (17:02 +0000)]
[GTK] Change bug for some inspector tests
https://bugs.webkit.org/show_bug.cgi?id=105842

Unreviewed gardening.

Bug 43332 was landed. But these tests still fail on GTK port.
And change bug to track the failures.

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2012-12-29

* platform/gtk/TestExpectations:

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

7 years agoWeb Inspector: Mac WK1 Inspector can't save/load timeline data
aroben@webkit.org [Sat, 29 Dec 2012 16:14:21 +0000 (16:14 +0000)]
Web Inspector: Mac WK1 Inspector can't save/load timeline data
https://bugs.webkit.org/show_bug.cgi?id=105547

Reviewed by Pavel Feldman.

* WebCoreSupport/WebInspectorClient.h: Declared new overrides and
member variables necessary for save support.

* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::save):
(WebInspectorFrontendClient::append):
Implemented these to make saving timeline data work. (It seems to me
the InspectorFrontendClient API could be cleaned up a bit. I had to
look at Chromium source code to determine that I needed to call back
into the InspectorFrontendAPI JS object after saving/appending, and
that I needed to keep a map of passed URLs -> chosen URLs.)

(-[WebInspectorWindowController window:willPositionSheet:usingRect:]):
Tweaked the position of the sheet so that open/save sheets look a
little bette.r

(-[WebInspectorWindowController webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]):
Implemented to make loading timeline data work.

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

7 years agoWeb Inspector: [Timeline] cpu bar popover shows wrong duration / cpu time.
commit-queue@webkit.org [Sat, 29 Dec 2012 12:41:05 +0000 (12:41 +0000)]
Web Inspector: [Timeline] cpu bar popover shows wrong duration / cpu time.
https://bugs.webkit.org/show_bug.cgi?id=105854

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-29
Reviewed by Vsevolod Vlasov.

Problem: CPU task indexes are already incremented before written to
data structure.

* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._refreshMainThreadBars):
Use for loop to get correct indexes.

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

7 years agoWeb Inspector: Native Memory Instrumentation plugin: do not generate 'not instrumente...
loislo@chromium.org [Sat, 29 Dec 2012 11:38:05 +0000 (11:38 +0000)]
Web Inspector: Native Memory Instrumentation plugin: do not generate 'not instrumented' warning for instrumented mutable members.
https://bugs.webkit.org/show_bug.cgi?id=105855

Reviewed by Vsevolod Vlasov.

Extract MemberExpr from ImplicitCastExpr. It happens when we instrument a mutable member because
addMember expects const T& and the mutable ref to member implicitly converts into const ref to member.

* clang/ReportMemoryUsagePlugin/ReportMemoryUsage.cpp:
(ReportMemoryUsageVisitor):
(clang::AddMemberCallVisitor::VisitCallExpr):
(clang::ReportMemoryUsageVisitor::VisitCXXMethodDecl):
(clang::ReportMemoryUsageVisitor::checkMembersCoverage):

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

7 years agoWeb Inspector: Native Memory Instrumentation plugin: move function bodies out of...
loislo@chromium.org [Sat, 29 Dec 2012 10:53:10 +0000 (10:53 +0000)]
Web Inspector: Native Memory Instrumentation plugin: move function bodies out of class declarations.
https://bugs.webkit.org/show_bug.cgi?id=105852

Reviewed by Alexander Pavlov.

* clang/ReportMemoryUsagePlugin/ReportMemoryUsage.cpp:
(clang):
(AddMemberCallVisitor):
(ReportMemoryUsageVisitor):
(clang::ReportMemoryUsageAction::ParseArgs):
(clang::AddMemberCallVisitor::VisitCallExpr):
(clang::ReportMemoryUsageVisitor::VisitCXXMethodDecl):
(clang::ReportMemoryUsageVisitor::emitWarning):
(clang::ReportMemoryUsageVisitor::findInstrumentationMethod):
(clang::ReportMemoryUsageVisitor::needsToBeInstrumented):
(clang::ReportMemoryUsageVisitor::CheckMembersCoverage):

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

7 years agoWeb Inspector: Native Memory Instrumentation: instrument not instrumented members.
loislo@chromium.org [Sat, 29 Dec 2012 09:27:01 +0000 (09:27 +0000)]
Web Inspector: Native Memory Instrumentation: instrument not instrumented members.
https://bugs.webkit.org/show_bug.cgi?id=105830

Reviewed by Vsevolod Vlasov.

In some cases we don't want to visit some class members.
As example we decided to skip pointers to interface classes such as GraphicLayerClient.
We could use addWeakPointer for them but it can't be used for nonpointer members.
In the offline discussion we came to a conclusion that we need a new instrumentation
method ignoreMember, which will be used for all the members which we won't like to visit/instrument.

DriveBy: Also I instrumented not yet instrumented members.

Source/WebCore:

* bindings/v8/DOMWrapperMap.h:
(WebCore::DOMWrapperMap::reportMemoryUsage):
* bindings/v8/ScriptWrappable.h:
(WebCore::ScriptWrappable::reportMemoryUsage):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::reportMemoryUsage):
* platform/KURLGoogle.cpp:
(WebCore::KURLGooglePrivate::reportMemoryUsage):
* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::reportMemoryUsage):
* platform/audio/AudioArray.h:
(WebCore::AudioArray::reportMemoryUsage):
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::reportMemoryUsage):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::reportMemoryUsage):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::reportMemoryUsage):
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::reportMemoryUsage):

Source/WTF:

* wtf/MemoryInstrumentation.h:
(MemoryClassInfo):
(WTF::MemoryClassInfo::ignoreMember):

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

7 years agoSource/WebCore: Web Inspector: refactor DefaultTextEditor - annotate handlers and...
commit-queue@webkit.org [Sat, 29 Dec 2012 09:19:35 +0000 (09:19 +0000)]
Source/WebCore: Web Inspector: refactor DefaultTextEditor - annotate handlers and fix getters style
https://bugs.webkit.org/show_bug.cgi?id=105829

Patch by Andrey Lushnikov <lushnikov@chromium.com> on 2012-12-29
Reviewed by Pavel Feldman.

Refactor DefaultTextEditor.js: improve handler method annotations,
remove "get" prefix from method names, get rid of unnecessary
delegation (e.g. see _handleCut).

No new tests: no change in behaviour.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.DefaultTextEditor):
(WebInspector.DefaultTextEditor.prototype._contextMenu):
(WebInspector.DefaultTextEditor.prototype.selection):
(WebInspector.DefaultTextEditor.prototype.lastSelection):
(WebInspector.DefaultTextEditor.prototype.wasShown):
(WebInspector.DefaultTextEditor.prototype.willHide):
(WebInspector.TextEditorChunkedPanel.prototype.createNewChunk):
(WebInspector.TextEditorMainPanel):
(WebInspector.TextEditorMainPanel.prototype.wasShown):
(WebInspector.TextEditorMainPanel.prototype.willHide):
(WebInspector.TextEditorMainPanel.prototype.populateContextMenu):
(WebInspector.TextEditorMainPanel.prototype.splitChunkOnALine):
(WebInspector.TextEditorMainPanel.prototype.expandChunks):
(WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
(WebInspector.TextEditorMainPanel.prototype.selection):
(WebInspector.TextEditorMainPanel.prototype.lastSelection):
(WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
(WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
(WebInspector.TextEditorMainPanel.prototype._handleTextInput):
(WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
(WebInspector.TextEditorMainPanel.prototype._handleCut):

LayoutTests: Web Inspector: refactor DefaultTextEditor
https://bugs.webkit.org/show_bug.cgi?id=105829

Patch by Andrey Lushnikov <lushnikov@chromium.com> on 2012-12-29
Reviewed by Pavel Feldman.

Fix test to correlate with refactoring of DefaultTextEditor.

* inspector/editor/text-editor-selection.html:

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

7 years ago[webkitpy] Omit webkitpy/thirdparty/BeautifulSoup.py from code coverage checking
zandobersek@gmail.com [Sat, 29 Dec 2012 08:02:50 +0000 (08:02 +0000)]
[webkitpy] Omit webkitpy/thirdparty/BeautifulSoup.py from code coverage checking
https://bugs.webkit.org/show_bug.cgi?id=105835

Reviewed by Dirk Pranke.

The BeautifulSoup module is a third-party import and as such we don't have much control
over its testing. Because of that it should be omitted from code coverage checking.

* Scripts/webkitpy/test/main.py:
(Tester._run_tests):

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

7 years agoREGRESSION: r138555 asserts on Linux EFL/Qt debug builds
commit-queue@webkit.org [Sat, 29 Dec 2012 05:42:38 +0000 (05:42 +0000)]
REGRESSION: r138555 asserts on Linux EFL/Qt debug builds
https://bugs.webkit.org/show_bug.cgi?id=105848

Unreviewed test fix.

Patch by No'am Rosenthal <noam@webkit.org> on 2012-12-28

* platform/graphics/texmap/TextureMapperShaderManager.cpp:
    Added parameter name to noop shader.

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

7 years ago[EFL][WK2] MiniBrowser could not be launched on specific machine
ryuan.choi@samsung.com [Sat, 29 Dec 2012 05:30:37 +0000 (05:30 +0000)]
[EFL][WK2] MiniBrowser could not be launched on specific machine
https://bugs.webkit.org/show_bug.cgi?id=105844

Reviewed by Gyuyoung Kim.

* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
Modified to avoid bad use of temporary object.

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

7 years ago[Texmap] Use a transform uniform instead of u_flip/u_textureSize
commit-queue@webkit.org [Sat, 29 Dec 2012 05:10:22 +0000 (05:10 +0000)]
[Texmap] Use a transform uniform instead of u_flip/u_textureSize
https://bugs.webkit.org/show_bug.cgi?id=105809

Patch by No'am Rosenthal <noam@webkit.org> on 2012-12-28
Reviewed by Martin Robinson.

In order to support tiled-patterns, we'd have to apply texture-space transformations in the
vertex shader.
This patch cleans up the current texture-space transformations, and uses
single matrix uniform instead of the current uniforms.

No new tests, refactor only.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
* platform/graphics/texmap/TextureMapperShaderManager.cpp:
(WebCore):
* platform/graphics/texmap/TextureMapperShaderManager.h:
(TextureMapperShaderProgram):

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

7 years ago[Texmap] Edge antialiasing in TextureMapper could be done with less per-pixel calls
commit-queue@webkit.org [Sat, 29 Dec 2012 03:05:32 +0000 (03:05 +0000)]
[Texmap] Edge antialiasing in TextureMapper could be done with less per-pixel calls
https://bugs.webkit.org/show_bug.cgi?id=105377

Patch by No'am Rosenthal <noam@webkit.org> on 2012-12-28
Reviewed by Kenneth Rohde Christiansen.

Instead of passing 8 quad edge coefficients as uniforms and analyze the distance in the
fragment shader, we render the antialiased quad as 4 edge triangles, which originate in the
center of the quad.

The vertex shader expands the quad based on the screen transform, and applies a value to each vertex to be interpolated by the GPU.

It is very difficult to test performance gain; However, the following is apparent:
- The matrix multiplications and inversions done before in the quad inflation code were
  always visible in instruments/valgrind and they are now gone.
- We now perform a single smoothstep() command per pixel instead of 8 clamp(dot()) commands.
- It should now be possible to antialias individual edges.

Covered by existing tests.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGLData::getStaticVBO):
    Cache the unit-rect and edge-triangle vertex data in a VBO.

(WebCore::TextureMapperGLData::~TextureMapperGLData):
    Clear the cached VBOs upon destruction.

(WebCore::TextureMapperGL::drawBorder):
(WebCore::TextureMapperGL::drawTexture):
    Removed call to useProgram, since it's already called in drawTexturedQuadWithProgram.

(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
(WebCore::TextureMapperGL::drawSolidColor):
    Use the new signature "draw" instead of "drawQuad".

(WebCore::TextureMapperGL::drawEdgeTriangles):
(WebCore::TextureMapperGL::drawUnitRect):
(WebCore::TextureMapperGL::draw):
    Removed DrawQuad, instead draw either a unit rect or edge triangles.

(WebCore::TextureMapperGL::beginClip):
    Use the new setMatrix function.

* platform/graphics/texmap/TextureMapperGL.h:
    Added a paint flag for antialiasing.

* platform/graphics/texmap/TextureMapperShaderManager.cpp:
(WebCore::TextureMapperShaderProgram::setMatrix):
    Since we now set the matrix in multiple locations, added a convenience
    function for matrix uniform.

(WebCore::getShaderSpec):
    Update the vertex and fragment shader to account for the new antialiasing
    mechanism.
* platform/graphics/texmap/TextureMapperShaderManager.h:
(TextureMapperShaderProgram):

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

7 years ago[EFL][WK2] Implement ewk_context_resource_cache_clear
joone.hur@intel.com [Sat, 29 Dec 2012 02:25:34 +0000 (02:25 +0000)]
[EFL][WK2] Implement ewk_context_resource_cache_clear
https://bugs.webkit.org/show_bug.cgi?id=104782

The purpose of this API is to clear HTTP caches in local storage and
all resources cached in memory such as images, CSS, JavaScript, XSL,
and fonts.

Reviewed by Kenneth Rohde Christiansen.

* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::clearResourceCache): Call WebResourceCacheManager::ClearCacheForAllOrigins.
(ewk_context_resource_cache_clear):
* UIProcess/API/efl/ewk_context.h: Add ewk_context_resource_cache_clear.
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):

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

7 years agoMove logic for extracting the OS X marketing version in to WebCore
mrowe@apple.com [Sat, 29 Dec 2012 02:05:38 +0000 (02:05 +0000)]
Move logic for extracting the OS X marketing version in to WebCore
<http://webkit.org/b/105841> / <rdar://problem/10736041>

Reviewed by Dan Bernstein.

Source/WebCore:

The logic for extracting the OS X markerting version is moved in to systemMarketingVersion
from WebKitSystemInterface (post-10.8) and WebKit (pre-10.8).

* WebCore.exp.in: Export systemMarketingVersion and remove the old WKSI symbol.
* WebCore.xcodeproj/project.pbxproj: Add the new files.
* platform/mac/SystemVersionMac.h: Added.
* platform/mac/SystemVersionMac.mm: Added.
(WebCore::createSystemMarketingVersion): Read the marketing version out of SystemVersion.plist
(WebCore::callGestalt):
(WebCore::createSystemMarketingVersion): Build the marketing version by piecing together the results
of calls to Gestalt.
(WebCore::systemMarketingVersion): Return the cached string.
* platform/mac/WebCoreSystemInterface.h: Remove the old WKSI symbol.
* platform/mac/WebCoreSystemInterface.mm: Ditto.

Source/WebKit/mac:

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Remove the code related to the WKSI symbol.
* WebView/WebView.mm:
(systemMarketingVersionForUserAgentString): Call the WebCore function instead of the WKSI function.
(+[WebView _standardUserAgentWithApplicationName:]): Retain the result now that our helper doesn't
do that for us.

Source/WebKit2:

* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::systemMarketingVersionForUserAgentString): Call the WebCore function instead
of the WKSI function.
(WebKit::WebPageProxy::standardUserAgent):
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Remove the code related to the WKSI symbol.

WebKitLibraries:

* WebKitSystemInterface.h:

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

7 years agoUnreviewed rebaseline.
fsamuel@chromium.org [Sat, 29 Dec 2012 00:29:47 +0000 (00:29 +0000)]
Unreviewed rebaseline.

* platform/chromium-win-xp/inspector/extensions/extensions-resources-expected.txt: Removed.

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

7 years agoUnreviewed updated test expectations
fsamuel@chromium.org [Sat, 29 Dec 2012 00:10:36 +0000 (00:10 +0000)]
Unreviewed updated test expectations

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed updated TestExpectations. Mark test as fail on XP only.
fsamuel@chromium.org [Fri, 28 Dec 2012 23:51:17 +0000 (23:51 +0000)]
Unreviewed updated TestExpectations. Mark test as fail on XP only.

* platform/chromium/TestExpectations:

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

7 years ago[Templates]: Fix assert in colgroup parse handling
fsamuel@chromium.org [Fri, 28 Dec 2012 23:32:07 +0000 (23:32 +0000)]
[Templates]: Fix assert in colgroup parse handling
https://bugs.webkit.org/show_bug.cgi?id=105837

Patch by Rafael Weinstein <rafaelw@chromium.org> on 2012-12-28
Reviewed by Eric Seidel.

* html5lib/resources/template.dat:

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

7 years agoRoll Chromium DEPS to r174739
fsamuel@chromium.org [Fri, 28 Dec 2012 22:03:20 +0000 (22:03 +0000)]
Roll Chromium DEPS to r174739
https://bugs.webkit.org/show_bug.cgi?id=105813

Unreviewed.

* DEPS:

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

7 years agoFix assert seen when adding a custom protocol handler before an initial
weinig@apple.com [Fri, 28 Dec 2012 21:48:30 +0000 (21:48 +0000)]
Fix assert seen when adding a custom protocol handler before an initial
web process has been created.

* UIProcess/WebContext.h:
(WebKit::WebContext::sendToNetworkingProcess):

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

7 years ago[Templates]: Fix assert in colgroup parse handling
rafaelw@chromium.org [Fri, 28 Dec 2012 21:07:30 +0000 (21:07 +0000)]
[Templates]: Fix assert in colgroup parse handling
https://bugs.webkit.org/show_bug.cgi?id=105837

Reviewed by Eric Seidel.

Source/WebCore:

Tests added to html5lib.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):

LayoutTests:

* html5lib/resources/template.dat:

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

7 years ago[GStreamer] GstMessage handler in AudioDestination
philn@webkit.org [Fri, 28 Dec 2012 21:04:18 +0000 (21:04 +0000)]
[GStreamer] GstMessage handler in AudioDestination
https://bugs.webkit.org/show_bug.cgi?id=105292

Reviewed by Martin Robinson.

Handle GStreamer warnings and errors coming from the playback
pipeline. For now we only display warnings on the console.

* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::messageCallback):
(WebCore):
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady):
(WebCore::AudioDestinationGStreamer::handleMessage):
* platform/audio/gstreamer/AudioDestinationGStreamer.h:
(AudioDestinationGStreamer):

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

7 years ago[GTK][WK2] Add support for IME Composition
mrobinson@webkit.org [Fri, 28 Dec 2012 20:32:06 +0000 (20:32 +0000)]
[GTK][WK2] Add support for IME Composition
https://bugs.webkit.org/show_bug.cgi?id=65093

Reviewed by Carlos Garcia Campos.

Source/WebCore:

No new tests. The GtkInputMethodFilter is covered by unit tests in TestWebKitAPI.
Doing functional tests for this behavior is much more complex.

* platform/gtk/GtkInputMethodFilter.cpp:
(WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents): Now
pass along whether or not an event was faked.
* platform/gtk/GtkInputMethodFilter.h: Ditto.

Source/WebKit/gtk:

Update the method signatures for concrete WebKit1 implementation of
the GtkInputMethodFilter.

* WebCoreSupport/WebViewInputMethodFilter.cpp:
(WebKit::WebViewInputMethodFilter::sendSimpleKeyEvent):
(WebKit::WebViewInputMethodFilter::sendKeyEventWithCompositionResults):
* WebCoreSupport/WebViewInputMethodFilter.h:
(WebViewInputMethodFilter):

Source/WebKit2:

Add a WebKit2 implementation of the GtkInputMethodFilter and provide
the necessary plumbing to pass composition information along with
input method events.

* GNUmakefile.list.am: Add new files to the source list.
* Shared/EditorState.cpp: The cursorRect is now passed for GTK+ as well as
Qt, so update the encode and decode methods to pass that along.
* Shared/EditorState.h: Add the cursorRect member for GTK+ as well.
* Shared/NativeWebKeyboardEvent.h:
(NativeWebKeyboardEvent): Keyboard events should also have knowledge of
the compositionResults and whether or not the event was faked for composition
purposes.
* Shared/gtk/NativeWebKeyboardEventGtk.cpp: Ditto.
* Shared/gtk/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebKeyboardEvent): Copy the logic of PlatformKeyEvent,
for properly setting the windows key code and the event text from the composition
results.
* Shared/gtk/WebEventFactory.h: The createWebKeyboardEvent factory now takes a
CompositionResults argument.
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::doneWithKeyEvent): Don't forward keyboard events that
were faked for composition reasons. These events originated from WebKit and should
never be passed to parent classes.
(WebKit::PageClientImpl::updateTextInputState): Plumb through the updateTextInputState
method to the WebViewBase.
* UIProcess/API/gtk/PageClientImpl.h:
(PageClientImpl): Add a updateTextInputState method.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(_WebKitWebViewBasePrivate): Instead of having an input method context as a member
keep a WebViewBaseInputMethodFilter.
(webkitWebViewBaseRealize): Set the filter widget when the WebViewBase is realized.
(webkit_web_view_base_init): No longer create a input method context during init.
(webkitWebViewBaseFocusInEvent): Pass along focus in events to the filter.
(webkitWebViewBaseFocusOutEvent): Pass along focus out events to the filter.
(webkitWebViewBaseKeyPressEvent): Instead of passing key presses directly to the WebProcess,
filter them through the input method filter.
(webkitWebViewBaseKeyReleaseEvent): Ditto.
(webkitWebViewBaseButtonPressEvent): Notify the input method filter about button press events.
(webkitWebViewBaseGetIMContext): The input method filter owns the input method now.
(webkitWebViewBaseSetInputMethodState): Add a bit of plumbing for the PageClient.
(webkitWebViewBaseUpdateTextInputState): Ditto.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add plumbing declarations.
* UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp: Added. An implementation of GtkInputMethodFilter for WebKit2.
* UIProcess/API/gtk/WebViewBaseInputMethodFilter.h: Copied from Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.h.
* UIProcess/PageClient.h:
(PageClient): updateInputMethod state is now for both Qt and GTK+.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::editorStateChanged): Pass the editor state for GTK+ as well as Qt.
(WebKit::WebPageProxy::setComposition): Moved this method from WebPageProxyQt as it's used for GTK+ now as well.
(WebKit::WebPageProxy::confirmComposition): Ditto.
(WebKit::WebPageProxy::cancelComposition): Ditto.
* UIProcess/WebPageProxy.h:
(WebPageProxy): The setInputMethodState message is for GTK+ as well as Qt now.
* UIProcess/WebPageProxy.messages.in: Ditto.
* UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::setInputMethodState): Ditto.
* UIProcess/qt/WebPageProxyQt.cpp: Move some methods to the platform-independent file.
* WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: More closely match the WebKit1
logic for dealing with key events so that composition events will be handled properly.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState): Properly pass the cursorRect for GTK+.
(WebKit::targetFrameForEditing): Moved from the Qt file, because its used by GTK+ as well. They
now pass along the updated EditorState as well, just like the Mac versions.
(WebKit::WebPage::confirmComposition): Ditto.
(WebKit::WebPage::setComposition): Ditto.
(WebKit::WebPage::cancelComposition): Ditto.
* WebProcess/WebPage/WebPage.h: The above messages are now for GTK+ as well as Qt.
* WebProcess/WebPage/WebPage.messages.in: Ditto.
* WebProcess/WebPage/qt/WebPageQt.cpp: Moved some methods to the platform-independent file.

Tools:

Update unit tests for GtkInputMethodFilter to note whether or not an event
was a fake event synthesized for composition purposes. This is now used
for WebKit2.

* TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp:
(TestWebKitAPI::TestInputMethodFilter::sendSimpleKeyEvent):
(TestWebKitAPI::TestInputMethodFilter::sendKeyEventWithCompositionResults):
(TestWebKitAPI::TEST):
* gtk/generate-gtkdoc:
(get_webkit2_options): Skip new files in the WebKit2 source directory for documentation
generation.

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

7 years agoREGRESSION (r138196): Regions with text-overflow: ellipsis; are being ellipsized...
eae@chromium.org [Fri, 28 Dec 2012 18:32:08 +0000 (18:32 +0000)]
REGRESSION (r138196): Regions with text-overflow: ellipsis; are being ellipsized unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=105600

Source/WebCore:

Reviewed by Darin Adler.

Pixel-snap lineBoxEdge before comparing with the block edge as
the lineBox edge isn't guaranteed to be snapped to device pixels
on all platforms.

Test: fast/sub-pixel/ellipsis-table.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::checkLinesForTextOverflow):

LayoutTests:

Reviewed by Darin Adler.

Add test for text-overflow: ellipsis inside a table.

* fast/sub-pixel/ellipsis-table-expected.html: Added.
* fast/sub-pixel/ellipsis-table.html: Added.

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

7 years ago[chromium] DrawingBuffer initialization loop breaks if completely out of memory
commit-queue@webkit.org [Fri, 28 Dec 2012 17:45:18 +0000 (17:45 +0000)]
[chromium] DrawingBuffer initialization loop breaks if completely out of memory
https://bugs.webkit.org/show_bug.cgi?id=105732

Patch by Brandon Jones <bajones@chromium.org> on 2012-12-28
Reviewed by Kenneth Russell.

When DrawingBuffer allocation fails because s_currentResourceUsePixels is maxed out
it now forces WebGLRenderingContext creation to fail gracefully.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::create): On Chromium, check for failure to allocate a DrawingBuffer

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

7 years agoSlightly clean up WebCore's Base.xcconfig
mitz@apple.com [Fri, 28 Dec 2012 17:02:29 +0000 (17:02 +0000)]
Slightly clean up WebCore's Base.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=105808

Reviewed by Sam Weinig.

* Configurations/Base.xcconfig: Simplify the definition of GCC_GENERATE_DEBUGGING_SYMBOLS,
which is always YES.

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

7 years agoUnreviewed rebaseline
fsamuel@chromium.org [Fri, 28 Dec 2012 16:52:57 +0000 (16:52 +0000)]
Unreviewed rebaseline

* platform/chromium-win-xp/svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop-expected.png: Added.

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

7 years ago[BlackBerry] Remove unused BackingStorePrivate::m_defersBlit
charles.wei@torchmobile.com.cn [Fri, 28 Dec 2012 16:49:39 +0000 (16:49 +0000)]
[BlackBerry] Remove unused BackingStorePrivate::m_defersBlit
https://bugs.webkit.org/show_bug.cgi?id=105811
RIM PR 272067

Reviewed by George Staikos.
Internally Reviewed by Jakob Petsovits.

BackingStorePrivate::m_defersBlit is not used anywhere, it should
be removed to simplify the code and to avoid confusion.
* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
* Api/BackingStore.h:
* Api/BackingStore_p.h:
(BackingStorePrivate):

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

7 years agoAppease the Windows Gods.
weinig@apple.com [Fri, 28 Dec 2012 16:36:00 +0000 (16:36 +0000)]
Appease the Windows Gods.

* WebProcess/Notifications/WebNotificationManager.cpp:

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

7 years agoHeap-use-after-free in WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement
rafaelw@chromium.org [Fri, 28 Dec 2012 16:30:31 +0000 (16:30 +0000)]
Heap-use-after-free in WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement
https://bugs.webkit.org/show_bug.cgi?id=105780

Reviewed by Eric Seidel.

Source/WebCore:

This was regression was created by the HTMLTemplateElement implementation. The issue was a missed instance of
"fragment or template contents" case related to the parsing of colgroups.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
(WebCore::HTMLTreeBuilder::processEndOfFile):

LayoutTests:

* html5lib/resources/template.dat:

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

7 years agoWeb Inspector: Introduce uri as a UISourceCode unique identifier in workspace.
vsevik@chromium.org [Fri, 28 Dec 2012 16:11:09 +0000 (16:11 +0000)]
Web Inspector: Introduce uri as a UISourceCode unique identifier in workspace.
https://bugs.webkit.org/show_bug.cgi?id=105799

Reviewed by Pavel Feldman.

Source/WebCore:

Added uri field to UISourceCode.
Debugger and LiveEdit uiSourceCodes are now created through WorkspaceProviders (not projects yet though)
which are responsible for unique uri generation.
Extracted generic content provider based WorkspaceProvider functionality and url-to-uri conversion logic to ContentProviderWorkspaceProvider class.

* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.sourceFileId):
* inspector/front-end/CompilerScriptMapping.js:
* inspector/front-end/DebuggerScriptMapping.js:
(WebInspector.DebuggerScriptMapping):
* inspector/front-end/DefaultScriptMapping.js:
(WebInspector.DefaultScriptMapping):
(WebInspector.DefaultScriptMapping.prototype.addScript):
(WebInspector.DebuggerWorkspaceProvider):
(WebInspector.DebuggerWorkspaceProvider.prototype.addDebuggerFile):
* inspector/front-end/LiveEditSupport.js:
(WebInspector.LiveEditSupport):
(WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
(WebInspector.LiveEditWorkspaceProvider):
(WebInspector.LiveEditWorkspaceProvider.prototype.addLiveEditFile):
* inspector/front-end/NetworkUISourceCodeProvider.js:
(WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
* inspector/front-end/NetworkWorkspaceProvider.js:
(WebInspector.ContentProviderWorkspaceProvider):
(WebInspector.ContentProviderWorkspaceProvider.uriForURL):
(WebInspector.ContentProviderWorkspaceProvider.prototype.addFile):
(WebInspector.ContentProviderWorkspaceProvider.prototype.uniqueURI):
(WebInspector.NetworkWorkspaceProvider):
(WebInspector.NetworkWorkspaceProvider.prototype.addNetworkFile):
* inspector/front-end/SASSSourceMapping.js:
(_bindUISourceCode):
* inspector/front-end/ScriptSnippetModel.js:
(WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
* inspector/front-end/TabbedEditorContainer.js:
(WebInspector.TabbedEditorContainer):
(WebInspector.TabbedEditorContainer.prototype._scrollChanged):
(WebInspector.TabbedEditorContainer.prototype._selectionChanged):
(WebInspector.TabbedEditorContainer.prototype._editorClosedByUserAction):
(WebInspector.TabbedEditorContainer.prototype._updateHistory.tabIdToURI):
(WebInspector.TabbedEditorContainer.prototype._updateHistory):
(WebInspector.TabbedEditorContainer.prototype._appendFileTab):
(WebInspector.TabbedEditorContainer.prototype.reset):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode):
(WebInspector.UISourceCode.prototype.uri):
* inspector/front-end/Workspace.js:
(WebInspector.FileDescriptor):
(WebInspector.Project.prototype._fileAdded):
(WebInspector.Project.prototype._fileRemoved):
(WebInspector.Project.prototype.uiSourceCodeForURI):
(WebInspector.Workspace):
(WebInspector.Workspace.prototype.uiSourceCodeForURI):
(WebInspector.Workspace.prototype.addTemporaryUISourceCode):
(WebInspector.Workspace.prototype.removeTemporaryUISourceCode):
(WebInspector.Workspace.prototype.requestFileContent):
(WebInspector.Workspace.prototype.setFileContent):
(WebInspector.Workspace.prototype.searchInFileContent):
(WebInspector.Workspace.prototype.reset):
* inspector/front-end/inspector.js:

LayoutTests:

* http/tests/inspector/compiler-script-mapping.html:
* http/tests/inspector/workspace-test.js:
(initialize_WorkspaceTest.InspectorTest.createWorkspace):
(initialize_WorkspaceTest.InspectorTest.addMockUISourceCodeToWorkspace):
* inspector/debugger/breakpoint-manager.html:
* inspector/debugger/resource-script-mapping.html:
* inspector/debugger/scripts-file-selector.html:
* inspector/debugger/scripts-panel.html:
* inspector/debugger/scripts-sorting.html:
* inspector/debugger/ui-source-code-display-name.html:
* inspector/debugger/ui-source-code.html:
* inspector/uisourcecode-revisions.html:

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

7 years ago[Qt,EFL,GTK] Unreviewed gardening.
mkwst@chromium.org [Fri, 28 Dec 2012 16:09:03 +0000 (16:09 +0000)]
[Qt,EFL,GTK] Unreviewed gardening.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:
    Skipping http/tests/security/sandboxed-iframe-form-top.html
    as it's leaking state (console messages) into the next test.
    See wkbug.com/105819 and wkbug.com/85522 for details.

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

7 years agoWeb Inspector: debugger should step into event handler on event dispatch
yurys@chromium.org [Fri, 28 Dec 2012 14:42:15 +0000 (14:42 +0000)]
Web Inspector: debugger should step into event handler on event dispatch
https://bugs.webkit.org/show_bug.cgi?id=105827

Reviewed by Pavel Feldman.

Source/WebCore:

Added m_pauseInNextEventListener to InspectorDOMDebuggerAgent. The flag is set
to true when "step into" is pressed and reset to false when either JS execution
pauses, the agent gets disabled or JS call stack becomes empty. If the flag is
true and the next JS stetement to be executed belongs to a JS event listener we
will stop in that listener, otherwise we have two options:
  1) Control flow directly(without comming through the native bindings) reaches some JS
     statement and will pause in the corresponding JS function, in which case the
     flag will be reset;
  2) JS call stack becomes empty and execution will continue in the native code. We
     use didProcessTask to detect such cases and reset the flag to false every time
     event queue finishes next task.

Test: inspector/debugger/debugger-step-into-event-listener.html

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::reportMemoryUsage):
(WebCore::InspectorController::didProcessTask):
* inspector/InspectorController.h:
(WebCore):
(InspectorController):
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
(WebCore::InspectorDOMDebuggerAgent::stepInto):
(WebCore):
(WebCore::InspectorDOMDebuggerAgent::didPause):
(WebCore::InspectorDOMDebuggerAgent::cancelStepIntoEventListener):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::clear):
* inspector/InspectorDOMDebuggerAgent.h:
(InspectorDOMDebuggerAgent):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::stepInto):
(WebCore::InspectorDebuggerAgent::didPause):
* inspector/InspectorDebuggerAgent.h:
(Listener):

LayoutTests:

* inspector/debugger/debugger-step-into-event-listener-expected.txt: Added.
* inspector/debugger/debugger-step-into-event-listener.html: Added.

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

7 years agoMake CustomProtocolManager a WebProcessSupplement
weinig@apple.com [Fri, 28 Dec 2012 14:26:00 +0000 (14:26 +0000)]
Make CustomProtocolManager a WebProcessSupplement
https://bugs.webkit.org/show_bug.cgi?id=105814

Reviewed by Dan Bernstein.

This converts CustomProtocolManager from a global singleton, to be a
supplement of the WebProcess. Since it also needs to act as a supplement
of the NetworkProcess, it adds an initialization function for the NetworkProcess
as well, while we await the arrival of the forthcoming NetworkProcessSupplement.

In addition, this moves the handling of registering and unregistering schemes
directly to the CustomProtocolManager, instead of requiring an unnecessary trip
in the ChildProcess.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(+[WKCustomProtocol canInitWithRequest:]):
(-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
(-[WKCustomProtocol startLoading]):
(-[WKCustomProtocol stopLoading]):
(WebKit::CustomProtocolManager::supplementName):
(WebKit::CustomProtocolManager::CustomProtocolManager):
(WebKit::CustomProtocolManager::initialize):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::registerSchemeForCustomProtocol):
(WebKit::WebContext::unregisterSchemeForCustomProtocol):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

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

7 years agoWeb Inspector: enable mutation observer in LayoutTests
commit-queue@webkit.org [Fri, 28 Dec 2012 12:51:41 +0000 (12:51 +0000)]
Web Inspector: enable mutation observer in LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=105826

Patch by Andrey Lushnikov <lushnikov@chromium.com> on 2012-12-28
Reviewed by Pavel Feldman.

Enable mutation observer in LayoutTests.

No new tests: no change in behaviour.

* inspector/front-end/DOMExtension.js:

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

7 years agoUnreviewed EFL gardening.
sudarsana.nagineni@linux.intel.com [Fri, 28 Dec 2012 10:45:22 +0000 (10:45 +0000)]
Unreviewed EFL gardening.

Skip http/tests/security/sandboxed-iframe-form-top.html which
started failing after r138525.

* platform/efl/TestExpectations:

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

7 years agoWeb Inspector: Native Memory Instrumentation. Update clang plugin according to the...
loislo@chromium.org [Fri, 28 Dec 2012 09:49:25 +0000 (09:49 +0000)]
Web Inspector: Native Memory Instrumentation. Update clang plugin according to the current state of memory instrumentation code.
https://bugs.webkit.org/show_bug.cgi?id=105800

Reviewed by Yury Semikhatsky.

* clang/ReportMemoryUsagePlugin/ReportMemoryUsage.cpp:
(clang::ReportMemoryUsageConsumer::ReportMemoryUsageConsumer):
(clang):

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

7 years ago[GTK] Some GStreamer-related files don't need to be in libWebCoreGTK
philn@webkit.org [Fri, 28 Dec 2012 09:43:56 +0000 (09:43 +0000)]
[GTK] Some GStreamer-related files don't need to be in libWebCoreGTK
https://bugs.webkit.org/show_bug.cgi?id=105807

Reviewed by Martin Robinson.

* GNUmakefile.list.am: Move some modules not using GTK nor Cairo
to libWebCorePlatform.

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

7 years agoWeb Inspector: rename distanceToWindow to distance
yurys@chromium.org [Fri, 28 Dec 2012 09:26:02 +0000 (09:26 +0000)]
Web Inspector: rename distanceToWindow to distance
https://bugs.webkit.org/show_bug.cgi?id=105823

Reviewed by Pavel Feldman.

PerformanceTests:

Updated heap profiler performance test after renaming distanceToWindow to distance.

* inspector/heap-snapshot-performance-test.js:

Source/WebCore:

Renamed distanceToWindow to distance. Introduced a method on HeapSnapshot
that allows to check if given node should be displayed to the user as having
distance 1.

* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshotEdge.prototype.serialize):
(WebInspector.HeapSnapshotRetainerEdge.prototype.serialize):
(WebInspector.HeapSnapshotNode.prototype.distance):
(WebInspector.HeapSnapshotNode.prototype.serialize):
(WebInspector.HeapSnapshot.prototype._init):
(WebInspector.HeapSnapshot.prototype.dispose):
(WebInspector.HeapSnapshot.prototype.canHaveDistanceOne):
(WebInspector.HeapSnapshot.prototype._calculateDistances):
(WebInspector.HeapSnapshot.prototype._bfs):
(WebInspector.HeapSnapshot.prototype._buildAggregates):
* inspector/front-end/HeapSnapshotDataGrids.js:
(WebInspector.HeapSnapshotRetainmentDataGrid):
(WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
(WebInspector.HeapSnapshotConstructorsDataGrid):
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype._sortFields):
* inspector/front-end/HeapSnapshotGridNodes.js:
(WebInspector.HeapSnapshotGenericObjectNode):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
(WebInspector.HeapSnapshotObjectNode):
(WebInspector.HeapSnapshotObjectNode.prototype.comparator):
(WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
(WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
(WebInspector.HeapSnapshotConstructorNode):
(WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
(WebInspector.HeapSnapshotConstructorNode.prototype.get data):
* inspector/front-end/JSHeapSnapshot.js:
(WebInspector.JSHeapSnapshot.prototype.canHaveDistanceOne):

LayoutTests:

Updated tests after renaming distanceToWindow to distance.

* inspector/profiler/heap-snapshot-summary-sorting-fields.html:
* inspector/profiler/heap-snapshot-summary-sorting-instances.html:
* inspector/profiler/heap-snapshot-summary-sorting.html:

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

7 years agoWeb Inspector: refactor DefaultTextEditor's private methods
commit-queue@webkit.org [Fri, 28 Dec 2012 09:08:19 +0000 (09:08 +0000)]
Web Inspector: refactor DefaultTextEditor's private methods
https://bugs.webkit.org/show_bug.cgi?id=105797

Patch by Andrey Lushnikov <lushnikov@chromium.com> on 2012-12-28
Reviewed by Pavel Feldman.

Source/WebCore:

- Refactor private methods to public if they are called from external classes
- Get rid of external private variable access.

No tests: no change in behaviour.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.DefaultTextEditor.prototype.freeCachedElements):
(WebInspector.DefaultTextEditor.prototype._handleTextInput):
(WebInspector.DefaultTextEditor.prototype._handleKeyDown):
(WebInspector.DefaultTextEditor.prototype._handleCut):
(WebInspector.DefaultTextEditor.prototype._contextMenu):
(WebInspector.DefaultTextEditor.prototype._handleScrollChanged):
(WebInspector.DefaultTextEditor.prototype.selection):
(WebInspector.DefaultTextEditor.prototype.lastSelection):
(WebInspector.DefaultTextEditor.prototype.setSelection):
(WebInspector.DefaultTextEditor.prototype.wasShown):
(WebInspector.DefaultTextEditor.prototype._handleFocused):
(WebInspector.DefaultTextEditor.prototype.willHide):
(WebInspector.DefaultTextEditor.prototype.highlightExpression):
(WebInspector.DefaultTextEditor.prototype.overrideViewportForTest):
(WebInspector.TextEditorChunkedPanel.prototype.buildChunks):
(WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
(WebInspector.TextEditorChunkedPanel.prototype.splitChunkOnALine):
(WebInspector.TextEditorChunkedPanel.prototype.createNewChunk):
(WebInspector.TextEditorChunkedPanel.prototype.scroll):
(WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
(WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
(WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
(WebInspector.TextEditorChunkedPanel.prototype.findVisibleChunks):
(WebInspector.TextEditorChunkedPanel.prototype.repaintAll):
(WebInspector.TextEditorChunkedPanel.prototype.scrollTop):
(WebInspector.TextEditorChunkedPanel.prototype.clientHeight):
(WebInspector.TextEditorChunkedPanel.prototype.expandChunks):
(WebInspector.TextEditorChunkedPanel.prototype.totalHeight):
(WebInspector.TextEditorChunkedPanel.prototype.resize):
(WebInspector.TextEditorGutterPanel):
(WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
(WebInspector.TextEditorGutterPanel.prototype.createNewChunk):
(WebInspector.TextEditorGutterPanel.prototype.textChanged):
(WebInspector.TextEditorGutterChunk.prototype.get height):
(WebInspector.TextEditorMainPanel):
(WebInspector.TextEditorMainPanel.prototype.wasShown):
(WebInspector.TextEditorMainPanel.prototype.willHide):
(WebInspector.TextEditorMainPanel.prototype.highlightLine):
(WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
(WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
(WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
(WebInspector.TextEditorMainPanel.prototype.splitChunkOnALine):
(WebInspector.TextEditorMainPanel.prototype.buildChunks):
(WebInspector.TextEditorMainPanel.prototype.createNewChunk):
(WebInspector.TextEditorMainPanel.prototype.expandChunks):
(WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
(WebInspector.TextEditorMainPanel.prototype._paintLines):
(WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
(WebInspector.TextEditorMainPanel.prototype.getSelection):
(WebInspector.TextEditorMainPanel.prototype.getLastSelection):
(WebInspector.TextEditorMainPanel.prototype.setLastSelection):
(WebInspector.TextEditorMainPanel.prototype.restoreSelection):
(WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
(WebInspector.TextEditorMainPanel.prototype.enclosingLineRowOrSelf):
(WebInspector.TextEditorMainPanel.prototype._createLink):
(WebInspector.TextEditorMainPanel.prototype._collectDirtyLines):
(WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
(WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnSelection):
(WebInspector.TextEditorMainPanel.prototype._removeDecorationsInRange):
(WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
(WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
(WebInspector.TextEditorMainPanel.prototype.handleSelectionChange):
(WebInspector.TextEditorMainPanel.prototype.handleTextInput):
(WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
(WebInspector.TextEditorMainPanel.prototype.handleCut):
(WebInspector.TextEditorMainPanel.prototype.overrideViewportForTest):
(WebInspector.TextEditorMainChunk.prototype.get height):

LayoutTests:

Fix test to correspond to method renamings of TextEditorMainPanel.

* inspector/editor/text-editor-selection.html:

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

7 years ago[EFL][WebGL] Add GLES2 support in GraphicsContext3DEfl.
commit-queue@webkit.org [Fri, 28 Dec 2012 09:06:50 +0000 (09:06 +0000)]
[EFL][WebGL] Add GLES2 support in GraphicsContext3DEfl.
https://bugs.webkit.org/show_bug.cgi?id=105805

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-28
Reviewed by Kenneth Rohde Christiansen.

This is in preparation for adding GLES2 support.
This patch adds OPENGL_ES_2 checks in GraphicsContext3DEFl.
With this patch, GraphicsContext3DPrivate uses the FramebufferBlit extension supported by Extensions3D.

* platform/graphics/GraphicsContext3D.h:
(GraphicsContext3D):
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/efl/GraphicsContext3DPrivate.cpp:
(GraphicsContext3DPrivate::copyToGraphicsSurface):
* platform/graphics/opengl/GLDefs.h:

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

7 years agoUnreviewed holiday gardening, skip new failing tests to paint the bots green.
ossy@webkit.org [Fri, 28 Dec 2012 08:11:20 +0000 (08:11 +0000)]
Unreviewed holiday gardening, skip new failing tests to paint the bots green.

* platform/qt/TestExpectations:

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

7 years agoinstance-of-immediates.js : the word "passing" is spelled incorrectly
commit-queue@webkit.org [Fri, 28 Dec 2012 08:00:58 +0000 (08:00 +0000)]
instance-of-immediates.js : the word "passing" is spelled incorrectly
https://bugs.webkit.org/show_bug.cgi?id=105669

Patch by Stuart Eichert <stuart@fivemicro.com> on 2012-12-27
Reviewed by Julien Chaffraix.

Corrected spelling of the word "passing" in instance-of-immediates.js

* fast/js/script-tests/instance-of-immediates.js:

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

7 years agoOne more unreviwed holiday MIPS and SH4 buildfixes after r138516.
ossy@webkit.org [Fri, 28 Dec 2012 07:44:35 +0000 (07:44 +0000)]
One more unreviwed holiday MIPS and SH4 buildfixes after r138516.

* jit/ThunkGenerators.cpp:

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

7 years agoUnreviwed holiday ARM and SH4 buildfixes after r138516.
ossy@webkit.org [Fri, 28 Dec 2012 07:37:08 +0000 (07:37 +0000)]
Unreviwed holiday ARM and SH4 buildfixes after r138516.

* jit/ThunkGenerators.cpp:
(JSC::nativeForGenerator):

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

7 years agoAdd context to the console message generated by Document::printNavigationErrorMessage.
fsamuel@chromium.org [Fri, 28 Dec 2012 03:53:46 +0000 (03:53 +0000)]
Add context to the console message generated by Document::printNavigationErrorMessage.
https://bugs.webkit.org/show_bug.cgi?id=105774

Patch by Mike West <mkwst@chromium.org> on 2012-12-27
Reviewed by Darin Adler.

* fast/frames/sandboxed-iframe-close-top-noclose-expected.txt:
* fast/frames/sandboxed-iframe-history-denied-expected.txt:
* fast/frames/sandboxed-iframe-navigation-parent-expected.txt:
* fast/frames/sandboxed-iframe-navigation-targetlink-expected.txt:
* fast/frames/sandboxed-iframe-navigation-top-by-name-denied-expected.txt:
* fast/frames/sandboxed-iframe-navigation-top-denied-expected.txt:
* fast/frames/seamless/seamless-window-location-sandbox-expected.txt:
* http/tests/security/no-popup-from-sandbox-top-expected.txt:
* http/tests/security/frameNavigation/not-opener-expected.txt:
* http/tests/security/frameNavigation/xss-DENIED-plugin-navigation-expected.txt:
* http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation-expected.txt:
* platform/chromium/http/tests/security/frameNavigation/xss-DENIED-plugin-navigation-expected.txt:
* platform/chromium/http/tests/security/no-popup-from-sandbox-top-expected.txt:
    Update test expectations with new error message.

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

7 years agoConvert a few other WebProcess managers to be WebProcessSupplements
weinig@apple.com [Fri, 28 Dec 2012 03:35:09 +0000 (03:35 +0000)]
Convert a few other WebProcess managers to be WebProcessSupplements
https://bugs.webkit.org/show_bug.cgi?id=105812

Reviewed by Dan Bernstein.

* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::supplementName):
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
(WebApplicationCacheManager):
* WebProcess/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::supplementName):
* WebProcess/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::supplementName):
* WebProcess/Cookies/WebCookieManager.h:
(WebCookieManager):
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::supplementName):
* WebProcess/Geolocation/WebGeolocationManager.h:
(WebGeolocationManager):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setAlwaysAcceptCookies):
(WebKit::InjectedBundle::clearApplicationCache):
(WebKit::InjectedBundle::setAppCacheMaximumSize):
(WebKit::InjectedBundle::webNotificationID):
* WebProcess/MediaCache/WebMediaCacheManager.cpp:
(WebKit::WebMediaCacheManager::supplementName):
* WebProcess/MediaCache/WebMediaCacheManager.h:
(WebMediaCacheManager):
* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::permissionLevel):
(WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting):
(WebKit::NotificationPermissionRequestManager::removeAllPermissionsForTesting):
(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::supplementName):
(WebKit::WebNotificationManager::initialize):
* WebProcess/Notifications/WebNotificationManager.h:
(WebNotificationManager):
* WebProcess/ResourceCache/WebResourceCacheManager.cpp:
(WebKit::WebResourceCacheManager::supplementName):
* WebProcess/ResourceCache/WebResourceCacheManager.h:
(WebResourceCacheManager):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
* WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
(WebKit::WebGeolocationClient::geolocationDestroyed):
(WebKit::WebGeolocationClient::startUpdating):
(WebKit::WebGeolocationClient::stopUpdating):
* WebProcess/WebCoreSupport/WebNotificationClient.cpp:
(WebKit::WebNotificationClient::show):
(WebKit::WebNotificationClient::cancel):
(WebKit::WebNotificationClient::clearNotifications):
(WebKit::WebNotificationClient::notificationObjectDestroyed):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::downloadsAuthenticationManager):
* WebProcess/WebProcess.h:
(WebKit::WebProcess::textCheckerState):
(WebKit::WebProcess::networkAccessManager):
(WebKit::WebProcess::soupRequestManager):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
* WebProcess/win/WebProcessWin.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):

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

7 years agoFix styling/formatting errors, pointed out by Darin Adler while reviewing
dglazkov@chromium.org [Fri, 28 Dec 2012 03:17:31 +0000 (03:17 +0000)]
Fix styling/formatting errors, pointed out by Darin Adler while reviewing
https://bugs.webkit.org/show_bug.cgi?id=105752

No functional changes, thus no new tests.

* dom/VisitedLinkState.cpp:
(WebCore::VisitedLinkState::VisitedLinkState): Fixed up constructor syntax.
(WebCore::linkHashForElement): Expanded abbreviation.

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

7 years ago[EFL][WK2] Regression(138462) Sometimes garbage in snapshots
commit-queue@webkit.org [Fri, 28 Dec 2012 02:45:13 +0000 (02:45 +0000)]
[EFL][WK2] Regression(138462) Sometimes garbage in snapshots
https://bugs.webkit.org/show_bug.cgi?id=105803

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2012-12-27
Reviewed by Kenneth Rohde Christiansen.

Instead of creating temporary buffer and then creating cairo surface
from it, create cairo surface 1st and use surface image internal buffer
to read pixels from GL buffer.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::takeSnapshot):
* UIProcess/API/efl/SnapshotImageGL.cpp:
(getImageSurfaceFromFrameBuffer):
* UIProcess/API/efl/SnapshotImageGL.h:

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

7 years agoAdd context to the console message generated by Document::printNavigationErrorMessage.
mkwst@chromium.org [Fri, 28 Dec 2012 00:39:48 +0000 (00:39 +0000)]
Add context to the console message generated by Document::printNavigationErrorMessage.
https://bugs.webkit.org/show_bug.cgi?id=105774

Reviewed by Darin Adler.

Source/WebCore:

When blocking frame navigations, we should give developers more
contextual detail about why the navigation has been blocked. This patch
adds context specifically for sandboxed frames', and gives a slightly
more detailed generic response for all other blockages.

No new tests; the changes to the error message are covered via
rebaselines to existing navigation tests.

* dom/Document.cpp:
(WebCore::printNavigationErrorMessage):
(WebCore::Document::canNavigate):
    Pass in a 'reason' parameter when calling printNavigationErrorMessage
    to report a blocked navigation.

LayoutTests:

* fast/frames/sandboxed-iframe-close-top-noclose-expected.txt:
* fast/frames/sandboxed-iframe-history-denied-expected.txt:
* fast/frames/sandboxed-iframe-navigation-parent-expected.txt:
* fast/frames/sandboxed-iframe-navigation-targetlink-expected.txt:
* fast/frames/sandboxed-iframe-navigation-top-by-name-denied-expected.txt:
* fast/frames/sandboxed-iframe-navigation-top-denied-expected.txt:
* fast/frames/seamless/seamless-window-location-sandbox-expected.txt:
* http/tests/security/no-popup-from-sandbox-top-expected.txt:
* http/tests/security/frameNavigation/not-opener-expected.txt:
* http/tests/security/frameNavigation/xss-DENIED-plugin-navigation-expected.txt:
* http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation-expected.txt:
* platform/chromium/http/tests/security/frameNavigation/xss-DENIED-plugin-navigation-expected.txt:
* platform/chromium/http/tests/security/no-popup-from-sandbox-top-expected.txt:
    Update test expectations with new error message.

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

7 years agoAll JIT stubs should go through the getCTIStub API
fpizlo@apple.com [Thu, 27 Dec 2012 23:12:27 +0000 (23:12 +0000)]
All JIT stubs should go through the getCTIStub API
https://bugs.webkit.org/show_bug.cgi?id=105750

Reviewed by Sam Weinig.

Previously JITThunks had two sets of thunks: one static set stored in a struct,
which was filled by JIT::privateCompileCTITrampolines, and another set stored in
a HashMap. Moreover, the code to generate the code for the CTI trampoline struct
had loads of copy-paste between JSVALUE32_64 and JSVALUE64, and was total
unmodular with respect to calls versus constructors, among other things.

This changeset removes this struct and rationalizes the code that generates those
thunks. All of thunks are now generated through the getCTIStub HashMap API. All
thunks for the baseline JIT now use the JSInterfaceJIT and have their codegen
located in ThunkGenerators.cpp. All thunks now share as much code as possible -
it turns out that they are almost 100% identical between 32_64 and 64, so that
works out great. A bunch of call vs. construct duplication was eliminated. And,
most of the call link versus virtual call duplication was also eliminated.

This does not change behavior but it does make it easier to add more thunks in
the future.

* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::unlink):
* jit/JIT.cpp:
(JSC::JIT::linkFor):
* jit/JIT.h:
(JIT):
* jit/JITCall.cpp:
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCallSlowCase):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCallSlowCase):
* jit/JITInlines.h:
(JSC):
* jit/JITOpcodes.cpp:
(JSC):
(JSC::JIT::privateCompileCTINativeCall):
* jit/JITOpcodes32_64.cpp:
(JSC):
* jit/JITStubs.cpp:
(JSC::tryCacheGetByID):
* jit/JITThunks.cpp:
(JSC::JITThunks::JITThunks):
(JSC::JITThunks::ctiNativeCall):
(JSC::JITThunks::ctiNativeConstruct):
(JSC):
(JSC::JITThunks::hostFunctionStub):
* jit/JITThunks.h:
(JSC):
(JITThunks):
* jit/JSInterfaceJIT.h:
(JSInterfaceJIT):
(JSC::JSInterfaceJIT::emitJumpIfNotJSCell):
(JSC):
(JSC::JSInterfaceJIT::emitFastArithIntToImmNoCheck):
(JSC::JSInterfaceJIT::emitJumpIfNotType):
(JSC::JSInterfaceJIT::emitGetFromCallFrameHeaderPtr):
(JSC::JSInterfaceJIT::emitPutToCallFrameHeader):
(JSC::JSInterfaceJIT::emitPutImmediateToCallFrameHeader):
(JSC::JSInterfaceJIT::emitPutCellToCallFrameHeader):
(JSC::JSInterfaceJIT::preserveReturnAddressAfterCall):
(JSC::JSInterfaceJIT::restoreReturnAddressBeforeReturn):
(JSC::JSInterfaceJIT::restoreArgumentReference):
* jit/ThunkGenerators.cpp:
(JSC::generateSlowCaseFor):
(JSC):
(JSC::linkForGenerator):
(JSC::linkCallGenerator):
(JSC::linkConstructGenerator):
(JSC::virtualForGenerator):
(JSC::virtualCallGenerator):
(JSC::virtualConstructGenerator):
(JSC::stringLengthTrampolineGenerator):
(JSC::nativeForGenerator):
(JSC::nativeCallGenerator):
(JSC::nativeConstructGenerator):
(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):
(JSC::absThunkGenerator):
(JSC::powThunkGenerator):
* jit/ThunkGenerators.h:
(JSC):
* runtime/Executable.h:
(NativeExecutable):
(JSC::NativeExecutable::nativeFunctionFor):
(JSC::NativeExecutable::offsetOfNativeFunctionFor):

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

7 years agoMove visited link-checking (and caching) code out of SelectorChecker.
dglazkov@chromium.org [Thu, 27 Dec 2012 22:57:00 +0000 (22:57 +0000)]
Move visited link-checking (and caching) code out of SelectorChecker.
https://bugs.webkit.org/show_bug.cgi?id=105752

SelectorChecker knew too much about visited links and how links are stored in DOM. This change
moves the code to more relevant locations and moves the visited links cache all the way up to Document,
introducing VisitedLinkState class to manage the state of visited links.
Relanding without a null-ptr ref.

Reviewed by Antti Koivisto.

No change in behavior, covered by existing tests.

* CMakeLists.txt: Added VisitedLinkState to build system.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* css/SelectorChecker.cpp: Moved visited-link state code out to VisitedLinkState class.
* css/SelectorChecker.h: Ditto.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::initElement): Changed callsite to use VisitedLinkState.
* css/StyleResolver.h: Removed plumb-throughs that are now unnecessary.
* dom/DOMAllInOne.cpp: Added VisitedLinkState to build system.
* dom/Document.cpp: Added VisitedLinkState initalizer.
* dom/Document.h: Added VisitedLinkState member.
* dom/VisitedLinkState.cpp: Added.
* dom/VisitedLinkState.h: Added.
* history/CachedPage.cpp:
(WebCore::CachedPage::restore): Changed callsite to use VisitedLinkState.
* page/Page.cpp:
(WebCore::Page::allVisitedStateChanged): Ditto.
(WebCore::Page::visitedStateChanged): Ditto.

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

7 years agoActually make use of the WebProcessSupplements by adding a supplement map to WebProcess
weinig@apple.com [Thu, 27 Dec 2012 22:06:41 +0000 (22:06 +0000)]
Actually make use of the WebProcessSupplements by adding a supplement map to WebProcess
https://bugs.webkit.org/show_bug.cgi?id=105804

Reviewed by Dan Bernstein.

This continues the work of adding extensibility to WebProcess by adding a supplement
map, and using it as proof of concept for WebDatabaseManager and WebKeyValueStorageManager.

- A supplement is added to WebProcess by calling:
    process->addSupplement<SupplementFoo>();
- A supplement can be used accessed by calling:
    process->supplement<SupplementFoo>();

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::clearAllDatabases):
(WebKit::InjectedBundle::setDatabaseQuota):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Switch to using the new supplement accessor.

* WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::supplementName):
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::supplementName):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
Add static supplementName functions. We might want to merge this with
the message class name, but for now we have both.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
Add supplements the new way. This should eventually move to the caller
of WebProcess::initialize, so that we can reduce #ifdefs and ports have
a chance to customize.

(WebKit::WebProcess::initializeWebProcess):
Iterate the supplements to give each a chance to initialize.

* WebProcess/WebProcess.h:
(WebKit::WebProcess::supplement):
(WebKit::WebProcess::addSupplement):
Add functions to add and get WebProcessSupplements.

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

7 years ago[EFL][WebGL] Implement EGL support with GLX.
commit-queue@webkit.org [Thu, 27 Dec 2012 21:15:59 +0000 (21:15 +0000)]
[EFL][WebGL] Implement EGL support with GLX.
https://bugs.webkit.org/show_bug.cgi?id=105602

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-27
Reviewed by Kenneth Rohde Christiansen.

.:

Adds support for EGL with GLX backend. EGL support can be enabled during compile time
by passing -DENABLE_EGL=ON as cmake config parameter.

* Source/cmake/OptionsEfl.cmake:

Source/WebCore:

This is in preparation for adding GLES2 support.
This patch adds support for EGL with GLX backend. EGL support can be enabled during compile time
by passing -DENABLE_EGL=ON as cmake config parameter. This is disabled by default.

* PlatformEfl.cmake:
* platform/graphics/opengl/GLDefs.h:
(WebCore):
* platform/graphics/opengl/GLPlatformContext.cpp:
(WebCore):
(WebCore::GLPlatformContext::createContext): Added GLX checks.
(WebCore::GLPlatformContext::createOffScreenContext): Added support for creating EGLOffscreen Context.
(WebCore::GLPlatformContext::createCurrentContextWrapper): Added support for creating EGLCurrentContextWrapper.
* platform/graphics/opengl/GLPlatformContext.h:
* platform/graphics/opengl/GLPlatformSurface.cpp:
(WebCore::GLPlatformSurface::createTransportSurface): Added support for creating EGLSurface.

* platform/graphics/surfaces/egl/EGLContext.cpp: Added.
(WebCore):
(WebCore::isRobustnessExtSupported):
(WebCore::EGLCurrentContextWrapper::EGLCurrentContextWrapper):
(WebCore::EGLCurrentContextWrapper::handle):
(WebCore::EGLOffScreenContext::EGLOffScreenContext):
(WebCore::EGLOffScreenContext::initialize):
(WebCore::EGLOffScreenContext::~EGLOffScreenContext):
(WebCore::EGLOffScreenContext::isCurrentContext):
(WebCore::EGLOffScreenContext::platformMakeCurrent):
(WebCore::EGLOffScreenContext::platformReleaseCurrent):
(WebCore::EGLOffScreenContext::freeResources):
(WebCore::EGLOffScreenContext::destroy):
* platform/graphics/surfaces/egl/EGLContext.h:
(WebCore):
(EGLCurrentContextWrapper):
(WebCore::EGLCurrentContextWrapper::~EGLCurrentContextWrapper):
(EGLOffScreenContext):

EGL implementation for Context Management.

* platform/graphics/surfaces/egl/EGLSurface.cpp: Added.
(WebCore):
(WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
(WebCore::EGLWindowTransportSurface::~EGLWindowTransportSurface):
(WebCore::EGLWindowTransportSurface::configuration):
(WebCore::EGLWindowTransportSurface::swapBuffers):
(WebCore::EGLWindowTransportSurface::destroy):
(WebCore::EGLWindowTransportSurface::freeEGLResources):
* platform/graphics/surfaces/egl/EGLSurface.h:
(WebCore):
(EGLWindowTransportSurface):

EGL implementation for Offscreen Surface. The surface is backed by native window.

* platform/graphics/surfaces/egl/EGLConfigHelper.cpp: Added.
(WebCore):
(WebCore::SharedEGLDisplay::deref):
(WebCore::SharedEGLDisplay::sharedEGLDisplay):
(WebCore::SharedEGLDisplay::SharedEGLDisplay):
(WebCore::SharedEGLDisplay::cleanup):
(WebCore::SharedEGLDisplay::~SharedEGLDisplay):
(WebCore::EGLConfigHelper::EGLConfigHelper):
(WebCore::EGLConfigHelper::~EGLConfigHelper):
(WebCore::EGLConfigHelper::display):
(WebCore::EGLConfigHelper::pBufferContextConfig):
(WebCore::EGLConfigHelper::surfaceContextConfig):
(WebCore::EGLConfigHelper::nativeVisualId):
(WebCore::EGLConfigHelper::reset):
(WebCore::EGLConfigHelper::createConfig):

Helper class to initialize EGL resources and choose right EGL configuration.

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

7 years agoUnreviewed, rolling out r138509.
commit-queue@webkit.org [Thu, 27 Dec 2012 21:08:12 +0000 (21:08 +0000)]
Unreviewed, rolling out r138509.
http://trac.webkit.org/changeset/138509
https://bugs.webkit.org/show_bug.cgi?id=105806

Caused several tests to crash (Requested by fsamuel on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-12-27

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/SelectorChecker.cpp:
(WebCore::linkAttribute):
(WebCore):
(WebCore::SelectorChecker::determineLinkStateSlowCase):
(WebCore::SelectorChecker::allVisitedStateChanged):
(WebCore::SelectorChecker::visitedStateChanged):
* css/SelectorChecker.h:
(SelectorChecker):
(WebCore::SelectorChecker::determineLinkState):
(WebCore):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::initElement):
* css/StyleResolver.h:
(WebCore::StyleResolver::allVisitedStateChanged):
(WebCore::StyleResolver::visitedStateChanged):
(StyleResolver):
* dom/DOMAllInOne.cpp:
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore):
(Document):
* dom/VisitedLinkState.cpp: Removed.
* dom/VisitedLinkState.h: Removed.
* history/CachedPage.cpp:
(WebCore::CachedPage::restore):
* page/Page.cpp:
(WebCore::Page::allVisitedStateChanged):
(WebCore::Page::visitedStateChanged):

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

7 years agoAdd an initial stab at a generic supplemental interface for WebProcess
weinig@apple.com [Thu, 27 Dec 2012 19:13:00 +0000 (19:13 +0000)]
Add an initial stab at a generic supplemental interface for WebProcess
https://bugs.webkit.org/show_bug.cgi?id=105779

Reviewed by Darin Adler.

This starts the process of adding a mechanism to WebProcess to extend its
functionality without actually changing it (similar to the Supplement
mechanism in WebCore). This will make it possible for ports to add functionality
that might not be needed or wanted by other ports.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::initialize):
(WebKit):
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
(WebKeyValueStorageManager):
(WebKit::WebKeyValueStorageManager::localStorageDirectory):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::WebDatabaseManager):
(WebKit::WebDatabaseManager::initialize):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::keyValueStorageManager):
(WebKit):
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/WebProcessSupplement.h: Added.
(WebKit):
(WebProcessSupplement):
(WebKit::WebProcessSupplement::~WebProcessSupplement):
(WebKit::WebProcessSupplement::initialize):

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

7 years agoAttempt to fix the tests.
weinig@apple.com [Thu, 27 Dec 2012 18:57:59 +0000 (18:57 +0000)]
Attempt to fix the tests.

* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):

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

7 years agoMove visited link-checking (and caching) code out of SelectorChecker.
dglazkov@chromium.org [Thu, 27 Dec 2012 18:41:15 +0000 (18:41 +0000)]
Move visited link-checking (and caching) code out of SelectorChecker.
https://bugs.webkit.org/show_bug.cgi?id=105752

SelectorChecker knew too much about visited links and how links are stored in DOM. This change
moves the code to more relevant locations and moves the visited links cache all the way up to Document,
introducing VisitedLinkState class to manage the state of visited links.

Reviewed by Antti Koivisto.

No change in behavior, covered by existing tests.

* CMakeLists.txt: Added VisitedLinkState to build system.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* css/SelectorChecker.cpp: Moved visited-link state code out to VisitedLinkState class.
* css/SelectorChecker.h: Ditto.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::initElement): Changed callsite to use VisitedLinkState.
* css/StyleResolver.h: Removed plumb-throughs that are now unnecessary.
* dom/DOMAllInOne.cpp: Added VisitedLinkState to build system.
* dom/Document.cpp: Added VisitedLinkState initalizer.
* dom/Document.h: Added VisitedLinkState member.
* dom/VisitedLinkState.cpp: Added.
* dom/VisitedLinkState.h: Added.
* history/CachedPage.cpp:
(WebCore::CachedPage::restore): Changed callsite to use VisitedLinkState.
* page/Page.cpp:
(WebCore::Page::allVisitedStateChanged): Ditto.
(WebCore::Page::visitedStateChanged): Ditto.

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

7 years ago[TexMap] Minor refactoring of TextureMapperLayer.
commit-queue@webkit.org [Thu, 27 Dec 2012 17:57:03 +0000 (17:57 +0000)]
[TexMap] Minor refactoring of TextureMapperLayer.
https://bugs.webkit.org/show_bug.cgi?id=105782

Patch by Huang Dongsung <luxtella@company100.net> on 2012-12-27
Reviewed by Darin Adler.

This patch has two refactorings.
1. Replace TextureMapperPaintOptions from header to implementation file.
2. Add non copyable property to TextureMapperLayer.

No new tests. Refactoring only.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(TextureMapperPaintOptions):
(WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
(WebCore):
* platform/graphics/texmap/TextureMapperLayer.h:
(WebCore):
(TextureMapperLayer):

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

7 years ago Unreviewed. Use real worker in heap profiler instead of the fake one
yurys@chromium.org [Thu, 27 Dec 2012 16:35:27 +0000 (16:35 +0000)]
   Unreviewed. Use real worker in heap profiler instead of the fake one
       (was accidentally switched to the fake worker).

* inspector/front-end/HeapSnapshotProxy.js:
(WebInspector.HeapSnapshotWorker):

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

7 years agoWeb Inspector: [Regression] Can not set breakpoints in scripts loaded with source...
vsevik@chromium.org [Thu, 27 Dec 2012 16:32:02 +0000 (16:32 +0000)]
Web Inspector: [Regression] Can not set breakpoints in scripts loaded with source map.
https://bugs.webkit.org/show_bug.cgi?id=105801

Reviewed by Alexander Pavlov.

Source/WebCore:

ResourceScriptMapping now pushes itself to script's source mappings in addScript method.
Binding script to uiSourceCode loaded later is only triggering updateLocations() now.

* inspector/front-end/ResourceScriptMapping.js:
(WebInspector.ResourceScriptMapping.prototype.addScript):
(WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
* inspector/front-end/Script.js:
(WebInspector.Script.prototype.disableSourceMapping):
(WebInspector.Script.prototype.enableSourceMapping):
(WebInspector.Script.prototype.pushSourceMapping):
(WebInspector.Script.prototype.popSourceMapping):
(WebInspector.Script.prototype.updateLocations):

LayoutTests:

* http/tests/inspector/compiler-script-mapping-expected.txt:
* http/tests/inspector/compiler-script-mapping.html:
* http/tests/inspector/debugger-test.js:
(initialize_DebuggerTest):

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

7 years ago[GTK] invalid use of incomplete type WebCore::ResourceResponse in webkitwebviewprivate.h
commit-queue@webkit.org [Thu, 27 Dec 2012 16:29:37 +0000 (16:29 +0000)]
[GTK] invalid use of incomplete type WebCore::ResourceResponse in webkitwebviewprivate.h
https://bugs.webkit.org/show_bug.cgi?id=105720

Patch by ChangSeok Oh <shivamidow@gmail.com> on 2012-12-27
Reviewed by Martin Robinson.

If the acceleration backend is clutter, then css_filter feature is disabled.
So ResourceResponse.h could not be reached with only existing headers
in webkitwebviewprivate.h. For this reason, I add ResourceResponse.h explicitly
to fix a build failure using incomplete type 'WebCore::ResourceResponse()'.

* webkit/webkitwebviewprivate.h:

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

7 years ago[EFL][WK2] Regression(135935) layout tests snapshots are flaky
christophe.dumez@intel.com [Thu, 27 Dec 2012 16:16:24 +0000 (16:16 +0000)]
[EFL][WK2] Regression(135935) layout tests snapshots are flaky
https://bugs.webkit.org/show_bug.cgi?id=103468

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Make sure that we wait for pending repaints before taking a
snapshot to avoid flakiness in pixel / ref tests. We also
suspend all animations before taking the snapshot to make
sure we don't wait forever for repaint events to be processed.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::takeSnapshot):

LayoutTests:

Unskip a lot of ref tests for WebKit2 EFL now that they are no longer
flaky.

* platform/efl-wk2/TestExpectations:

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

7 years agoUnreviewed rebaseline.
fsamuel@chromium.org [Thu, 27 Dec 2012 16:11:56 +0000 (16:11 +0000)]
Unreviewed rebaseline.

* platform/chromium-win-xp/inspector/extensions/extensions-resources-expected.txt: Added.

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

7 years agoWeb Inspector: remove support for legacy heap graph node format
yurys@chromium.org [Thu, 27 Dec 2012 16:03:35 +0000 (16:03 +0000)]
Web Inspector: remove support for legacy heap graph node format
https://bugs.webkit.org/show_bug.cgi?id=105802

Reviewed by Pavel Feldman.

Source/WebCore:

Removed support for old heap graph node format: we now always store edge count
in each node instead of the first edge index.

* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshot.prototype._buildEdgeIndexes):

LayoutTests:

* inspector/profiler/heap-snapshot-comparison-dom-groups-change.html: switched to the new
heap graph node representation: store edge count for each node instead of the first edge
index.

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

7 years agoWeb Inspector: move js heap snapshot preprocessing to JSHeapSnapshot
yurys@chromium.org [Thu, 27 Dec 2012 15:57:13 +0000 (15:57 +0000)]
Web Inspector: move js heap snapshot preprocessing to JSHeapSnapshot
https://bugs.webkit.org/show_bug.cgi?id=105798

Reviewed by Pavel Feldman.

Source/WebCore:

HeapSnapshot.js refactorings:
- moved _markInvisibleEdges implementation into JSHeapSnapshot
- moved _calculateFlags implementation into JSHeapSnapshot
- moved _flags array into JSHeapSnapshot
- instead of returning node flags as a field on each node, requesting
  snapshot node flag constants from the heap snapshot worker and then
  checking for the flags in HeapSnapshotGridNodes now return two optional
  boolean fields on each node: canBeQueried and detachedDOMTreeNode
- removed unused propertyAccessor property from serialized heap node
- moved node and edge serialization from providers to the node and edge
  classes, js specific fields are serialized only for JSHeapSnapshotNode
- renamed first() to rewind() on providers and iterators

* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshotEdge.prototype.serialize):
(WebInspector.HeapSnapshotEdgeIterator.prototype.rewind):
(WebInspector.HeapSnapshotRetainerEdge.prototype.serialize):
(WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.rewind):
(WebInspector.HeapSnapshotNode.prototype.isUserObject):
(WebInspector.HeapSnapshotNode.prototype.serialize):
(WebInspector.HeapSnapshotNodeIterator.prototype.rewind):
(WebInspector.HeapSnapshot.prototype._init):
(WebInspector.HeapSnapshot.prototype._buildAggregates):
(WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
(WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
(WebInspector.HeapSnapshot.prototype._buildDominatorTree):
(WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
(WebInspector.HeapSnapshot.prototype._calculateFlags):
(WebInspector.HeapSnapshot.prototype.userObjectsMapAndFlag):
(WebInspector.HeapSnapshot.prototype.):
(WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
(WebInspector.HeapSnapshot.prototype.updateStaticData):
(WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
(WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.rewind):
(WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.isEmpty):
(WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeItemsRange):
(WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
* inspector/front-end/HeapSnapshotGridNodes.js:
(WebInspector.HeapSnapshotGenericObjectNode):
(WebInspector.HeapSnapshotObjectNode):
* inspector/front-end/HeapSnapshotProxy.js:
* inspector/front-end/JSHeapSnapshot.js:
(WebInspector.JSHeapSnapshot):
(WebInspector.JSHeapSnapshot.prototype._markInvisibleEdges):
(WebInspector.JSHeapSnapshot.prototype._calculateFlags):
(WebInspector.JSHeapSnapshot.prototype.userObjectsMapAndFlag):
(WebInspector.JSHeapSnapshot.prototype._flagsOfNode):
(WebInspector.JSHeapSnapshot.prototype._markDetachedDOMTreeNodes):
(WebInspector.JSHeapSnapshot.prototype._markQueriableHeapObjects):
(WebInspector.JSHeapSnapshot.prototype._markPageOwnedNodes):
(WebInspector.JSHeapSnapshotNode.prototype.isUserObject):
(WebInspector.JSHeapSnapshotNode.prototype.serialize):

LayoutTests:

* inspector/profiler/heap-snapshot.html: updated test to match HeapSnapshot.js changes

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

7 years agoWeb Inspector: Refactor SourceMapParser to enable range-based sourcemap
apavlov@chromium.org [Thu, 27 Dec 2012 14:13:53 +0000 (14:13 +0000)]
Web Inspector: Refactor SourceMapParser to enable range-based sourcemap
https://bugs.webkit.org/show_bug.cgi?id=105764

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Test: inspector/styles/range-based-mapping.html

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/CompilerScriptMapping.js:
(WebInspector.CompilerScriptMapping):
(WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
* inspector/front-end/SourceMap.js: Copied from Source/WebCore/inspector/front-end/CompilerScriptMapping.js.
(WebInspector.SourceMap):
  Abstract. Renamed from SourceMapParser and supports only direct (generated -> originating source) mapping via findEntry()
(WebInspector.SourceMap.prototype.sources):
(WebInspector.SourceMap.prototype.sourceContent):
(WebInspector.SourceMap.prototype._parseMappingPayload):
(WebInspector.SourceMap.prototype._parseSections):
(WebInspector.SourceMap.prototype._parseMap):
(WebInspector.SourceMap.prototype._isSeparator):
(WebInspector.SourceMap.prototype._decodeVLQ):
(WebInspector.SourceMap.prototype._canonicalizeURL):
(WebInspector.SourceMap.StringCharIterator):
(WebInspector.SourceMap.StringCharIterator.prototype.next):
(WebInspector.SourceMap.StringCharIterator.prototype.peek):
(WebInspector.SourceMap.StringCharIterator.prototype.hasNext):
(WebInspector.PositionBasedSourceMap):
  Extends SourceMap and provides direct (compiled -> original source)
  and reverse (original -> compiled source) position mapping via findEntryReversed().
(WebInspector.PositionBasedSourceMap.prototype.findEntry):
(WebInspector.PositionBasedSourceMap.prototype.findEntryReversed):
(WebInspector.PositionBasedSourceMap.prototype._parseMap):
(WebInspector.RangeBasedSourceMap):
  Extends SourceMap and provides direct range mapping
  (compiled source position -> original source range) via findSourceRange().
(WebInspector.RangeBasedSourceMap.MappingComparator):
(WebInspector.RangeBasedSourceMap.prototype.findSourceRange):
(WebInspector.RangeBasedSourceMap.prototype._rangeForStartIndex):
(WebInspector.SourceRange):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:

LayoutTests:

* http/tests/inspector/compiler-script-mapping-expected.txt:
* http/tests/inspector/compiler-script-mapping.html:
* inspector/styles/range-based-mapping-expected.txt: Added.
* inspector/styles/range-based-mapping.html: Added.

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

7 years agoForgot to SKIP a test on wincairo.
aandrey@chromium.org [Thu, 27 Dec 2012 13:37:46 +0000 (13:37 +0000)]
Forgot to SKIP a test on wincairo.

* platform/wincairo/TestExpectations:

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

7 years agoForgot to SKIP a test on QT.
aandrey@chromium.org [Thu, 27 Dec 2012 13:31:13 +0000 (13:31 +0000)]
Forgot to SKIP a test on QT.

* platform/qt/TestExpectations:

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

7 years agoWeb Inspector: [Canvas] report if there is any uninstrumented canvas on a page
aandrey@chromium.org [Thu, 27 Dec 2012 11:48:49 +0000 (11:48 +0000)]
Web Inspector: [Canvas] report if there is any uninstrumented canvas on a page
https://bugs.webkit.org/show_bug.cgi?id=105721

Reviewed by Yury Semikhatsky.

Source/WebCore:

Adding a method to the protocol to report if there is any uninstrumented canvas on a page.

Test: inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases.html

* inspector/InjectedScriptCanvasModuleSource.js:
(.):
* inspector/Inspector.json:
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::disable):
(WebCore::InspectorCanvasAgent::hasUninstrumentedCanvases):
(WebCore):
(WebCore::InspectorCanvasAgent::captureFrame):
(WebCore::InspectorCanvasAgent::startCapturing):
(WebCore::InspectorCanvasAgent::stopCapturing):
(WebCore::InspectorCanvasAgent::getTraceLog):
(WebCore::InspectorCanvasAgent::replayTraceLog):
(WebCore::InspectorCanvasAgent::ensureHasUninstrumentedCanvasesCalculated):
(WebCore::InspectorCanvasAgent::checkIsEnabled):
(WebCore::InspectorCanvasAgent::reset):
* inspector/InspectorCanvasAgent.h:
(WebCore):
(InspectorCanvasAgent):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):

LayoutTests:

* inspector/profiler/canvas-profiler-test.js:
(initialize_CanvasWebGLProfilerTest.InspectorTest.enableCanvasAgent):
(initialize_CanvasWebGLProfilerTest.InspectorTest.disableCanvasAgent):
(initialize_CanvasWebGLProfilerTest):
* inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases-expected.txt: Added.
* inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases.html: Added.

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

7 years agoWeb Inspector: Simplify script mappings by introducing DefaultScriptMapping.
vsevik@chromium.org [Thu, 27 Dec 2012 11:20:58 +0000 (11:20 +0000)]
Web Inspector: Simplify script mappings by introducing DefaultScriptMapping.
https://bugs.webkit.org/show_bug.cgi?id=103038

Reviewed by Pavel Feldman.

Source/WebCore:

DefaultScriptMapping creates a uiSourceCode for each script and set itself as a mapping for the script.
Script can now have a stack of (possibly disabled) mappings, allowing to try several mappings when calculating uiLocation.
LiveEditSupport object is added on WebInspector to support live editing of readonly DefaultScriptMapping's uiSourceCodes.
DefaultScriptMapping is now the only mapping that creates temporary uiSourceCodes.

* English.lproj/localizedStrings.js:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.sourceFileId):
(WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
* inspector/front-end/CompilerScriptMapping.js:
(WebInspector.CompilerScriptMapping):
(WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
(WebInspector.CompilerScriptMapping.prototype.uiLocationToRawLocation):
(WebInspector.CompilerScriptMapping.prototype._reset):
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel.prototype._parsedScriptSource):
* inspector/front-end/DebuggerScriptMapping.js:
(WebInspector.DebuggerScriptMapping):
* inspector/front-end/DefaultScriptMapping.js: Added.
* inspector/front-end/LiveEditSupport.js: Added.
* inspector/front-end/ResourceScriptMapping.js:
(WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
(WebInspector.ResourceScriptMapping.prototype.addScript):
(WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
(WebInspector.ResourceScriptMapping.prototype._hasMergedToVM):
(WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVM):
(WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
(WebInspector.ResourceScriptMapping.prototype._scriptsForUISourceCode):
(WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
(WebInspector.ResourceScriptMapping.prototype._reset):
* inspector/front-end/Script.js:
(WebInspector.Script):
(WebInspector.Script.prototype.):
(WebInspector.Script.prototype.editSource):
(WebInspector.Script.prototype.setIsDynamicScript):
(WebInspector.Script.prototype.isDynamicScript):
(WebInspector.Script.prototype.rawLocationToUILocation):
(WebInspector.Script.prototype._enabledSourceMappings):
(WebInspector.Script.prototype._sourceMappingsDiffer):
(WebInspector.Script.prototype.disableSourceMapping):
(WebInspector.Script.prototype.enableSourceMapping):
(WebInspector.Script.prototype.pushSourceMapping):
(WebInspector.Script.prototype.popSourceMapping):
(WebInspector.Script.prototype._updateLocations):
(WebInspector.Script.prototype.createLiveLocation):
* inspector/front-end/ScriptSnippetModel.js:
(WebInspector.ScriptSnippetModel.prototype._projectWillReset):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._addUISourceCode):
(WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
(WebInspector.ScriptsPanel.prototype._createSourceFrame):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/Workspace.js:
(WebInspector.Workspace.prototype.addTemporaryUISourceCode):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:

LayoutTests:

* http/tests/inspector/compiler-script-mapping.html:
* inspector/debugger/breakpoint-manager-expected.txt:
* inspector/debugger/breakpoint-manager.html:
* inspector/debugger/dynamic-script-tag-expected.txt:
* inspector/debugger/live-edit-breakpoints-expected.txt:
* inspector/debugger/live-edit-breakpoints.html:
* inspector/debugger/pause-in-inline-script-expected.txt:
* inspector/debugger/pause-in-inline-script.html:
* inspector/debugger/resource-script-mapping-expected.txt:
* inspector/debugger/resource-script-mapping.html:
* inspector/debugger/scripts-panel.html:

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

7 years agoUnreviewed EFL gardening.
christophe.dumez@intel.com [Thu, 27 Dec 2012 11:05:05 +0000 (11:05 +0000)]
Unreviewed EFL gardening.

Mark http/tests/appcache/main-resource-redirect.html as crashing
for EFL WK2 after r138222.

* platform/efl-wk2/TestExpectations:

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

7 years agoWeb Inspector: console.profileEnd() crashes if called without arguments
commit-queue@webkit.org [Thu, 27 Dec 2012 09:53:14 +0000 (09:53 +0000)]
Web Inspector: console.profileEnd() crashes if called without arguments
https://bugs.webkit.org/show_bug.cgi?id=105759

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-27
Reviewed by Vsevolod Vlasov.

Source/WebCore:

Test: inspector/profiler/cpu-profiler-parameterless-profile-end-crash.html

API allows to finish profile without specifying its name.
Profiler tracks profiles stack and finishes outermost profile.
Finished profile title will be used instead of user-specified one.

* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::stop): Use title provided by profiler.

LayoutTests:

Added tests to check that browser do not crash.

* inspector/profiler/cpu-profiler-parameterless-profile-end-crash-expected.txt: Added.
* inspector/profiler/cpu-profiler-parameterless-profile-end-crash.html: Added.

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

7 years agoUnreviewed chromium test expectations update.
vsevik@chromium.org [Thu, 27 Dec 2012 09:12:44 +0000 (09:12 +0000)]
Unreviewed chromium test expectations update.

* platform/chromium/TestExpectations:

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

7 years agoCreate a GTK build system watchlist and add myself to it
zandobersek@gmail.com [Thu, 27 Dec 2012 08:38:09 +0000 (08:38 +0000)]
Create a GTK build system watchlist and add myself to it
https://bugs.webkit.org/show_bug.cgi?id=105769

Reviewed by Dirk Pranke.

Add a GTK build system watchlist, watching the configure.ac, GNUmakefile.am files
and the input GNUmakefile.features.am.in file. The GNUmakefile.list.am files are
omitted on purpose due to relatively high change rate they are exposed to.

The new watchlist would be of use to me as the GTK build system recently went
through a series of changes that included a changed policy on adding configuration
flags to configure.ac and subsequent additions to GNUmakefile.am files. A PSA on the
mailing list about this change will be published later, but I'd also like to be
notified of any pending changes to these files just so I can check the changes are
in compliance with the new policy.

* Scripts/webkitpy/common/config/watchlist:

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

7 years agoUnreviewed. Replace find("Tools") with rfind("Tools") because base dir of WebKit...
loislo@chromium.org [Thu, 27 Dec 2012 07:31:22 +0000 (07:31 +0000)]
Unreviewed. Replace find("Tools") with rfind("Tools") because base dir of WebKit may have Tools word.
As example ..../DevTools/src/third_party/WebKit

* Scripts/webkitpy/common/webkit_finder.py:
(WebKitFinder.webkit_base):

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

7 years ago[BlackBerry] Set load state for popups manually, in absence of a loader.
jpetsovits@rim.com [Thu, 27 Dec 2012 06:43:47 +0000 (06:43 +0000)]
[BlackBerry] Set load state for popups manually, in absence of a loader.
https://bugs.webkit.org/show_bug.cgi?id=105708
RIM PR 257216

Reviewed by George Staikos.
Internally reviewed by Chris Guan.

The WebPage class relies on the load state for various things,
among others it will only emit contents size changes after
layouts if a load state other than None is set.

Given that popups write the web page content itself with no
loader that would issue such notifications, the load state
should probably just be set manually in this case.

* WebCoreSupport/PagePopupBlackBerry.cpp:
(WebCore::PagePopupBlackBerry::init):

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

7 years ago[Texmap] Instead of having multiple shaders sources with lots of duplication, we...
commit-queue@webkit.org [Thu, 27 Dec 2012 02:29:21 +0000 (02:29 +0000)]
[Texmap] Instead of having multiple shaders sources with lots of duplication, we should have one shader source with MACRO variants
https://bugs.webkit.org/show_bug.cgi?id=104815

Patch by No'am Rosenthal <noam@webkit.org> on 2012-12-26
Reviewed by Kenneth Rohde Christiansen.

Created templates for the vertex and fragment shaders, and added some MACROs in
TextureMapperShaderManager to allow GLSL precompiler-based configuration.

The template follows a pattern where the main function in the shader calls
applyFooBarIfNeeded(), while applyFooBar() is implemented. The Macros prepended to the template define whether applyIfNeeded resolves to the real function or to a noop.

In addition, made some small changes to the filter shaders so that they can use the same code as the normal shaders.

Covered by existing pixel/ref tests when run on Qt/EFL/GTK.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawSolidColor):
(WebCore::TextureMapperGL::drawTextureWithAntialiasing):
(WebCore::optionsForFilterType):
(WebCore):
(WebCore::getPassesRequiredForFilter):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawFiltered):
(WebCore::BitmapTextureGL::applyFilters):
    Always draw using the drawQuad function, and use the new TextureMapperShaderManager::Options mask instead of the old ShaderKey.

* platform/graphics/texmap/TextureMapperShaderManager.cpp:
(WebCore):
(WebCore::getShaderSpec):
(WebCore::TextureMapperShaderManager::getShaderProgram):
* platform/graphics/texmap/TextureMapperShaderManager.h:
(TextureMapperShaderProgram):
(TextureMapperShaderManager):

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

7 years ago[chromium] Disable unprefixed css transitions until they're functional
thakis@chromium.org [Thu, 27 Dec 2012 01:14:08 +0000 (01:14 +0000)]
[chromium] Disable unprefixed css transitions until they're functional
https://bugs.webkit.org/show_bug.cgi?id=105771

Reviewed by Eric Seidel.

Bug 105647 mentions that this is not fully implemented yet, and the
partial support breaks feature detection in modernizr and friends.

* features.gypi:

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

7 years ago[TexMap] A Minor optimization of GraphicsLayerTransform.
commit-queue@webkit.org [Thu, 27 Dec 2012 00:38:46 +0000 (00:38 +0000)]
[TexMap] A Minor optimization of GraphicsLayerTransform.
https://bugs.webkit.org/show_bug.cgi?id=105758

Patch by Huang Dongsung <luxtella@company100.net> on 2012-12-26
Reviewed by Noam Rosenthal.

Only multiply the transformation matrices if the paramaters are actually
changed.

This optimizes the code path called from flushCompositingStateForThisLayerOnly(),
and potentially setAnimatedTransform().

No new tests. Refactoring only.

* platform/graphics/GraphicsLayerTransform.cpp:
(WebCore::GraphicsLayerTransform::setPosition):
(WebCore::GraphicsLayerTransform::setSize):
(WebCore::GraphicsLayerTransform::setAnchorPoint):
(WebCore::GraphicsLayerTransform::setFlattening):
(WebCore::GraphicsLayerTransform::setLocalTransform):
(WebCore::GraphicsLayerTransform::setChildrenTransform):

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

7 years agoAdd a Mac test expectations for bugs 105777 and 105778.
rniwa@webkit.org [Wed, 26 Dec 2012 23:24:20 +0000 (23:24 +0000)]
Add a Mac test expectations for bugs 105777 and 105778.

* platform/mac/TestExpectations:

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