Timeline



Dec 29, 2012:

5:22 PM Changeset in webkit [138572] by Dimitri Glazkov
  • 3 edits in trunk/Source/WebCore

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.
4:29 PM Changeset in webkit [138571] by Dimitri Glazkov
  • 8 edits in trunk/Source/WebCore

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.

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

Windows build fix.

  • win/WebKit2Common.vsprops:
1:58 PM Changeset in webkit [138569] by weinig@apple.com
  • 21 edits
    1 add in trunk/Source/WebKit2

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:
12:11 PM BuildingGtk edited by Philippe Normand
(diff)
11:10 AM Changeset in webkit [138568] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

10:11 AM Changeset in webkit [138567] by commit-queue@webkit.org
  • 7 edits
    1 move in trunk/Source/WebCore

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

9:02 AM Changeset in webkit [138566] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[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> on 2012-12-29

  • platform/gtk/TestExpectations:
8:14 AM Changeset in webkit [138565] by aroben@webkit.org
  • 3 edits in trunk/Source/WebKit/mac

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.

4:41 AM Changeset in webkit [138564] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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.

3:38 AM Changeset in webkit [138563] by loislo@chromium.org
  • 2 edits in trunk/Tools

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

2:53 AM Changeset in webkit [138562] by loislo@chromium.org
  • 2 edits in trunk/Tools

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

1:27 AM Changeset in webkit [138561] by loislo@chromium.org
  • 14 edits in trunk/Source

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

1:19 AM Changeset in webkit [138560] by commit-queue@webkit.org
  • 4 edits in trunk

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:
12:02 AM Changeset in webkit [138559] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

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

Dec 28, 2012:

9:42 PM Changeset in webkit [138558] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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 Rosenthal> on 2012-12-28

  • platform/graphics/texmap/TextureMapperShaderManager.cpp:

Added parameter name to noop shader.

9:30 PM Changeset in webkit [138557] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

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

9:10 PM Changeset in webkit [138556] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

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

7:05 PM Changeset in webkit [138555] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

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

6:25 PM Changeset in webkit [138554] by joone.hur@intel.com
  • 4 edits in trunk/Source/WebKit2

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

6:05 PM Changeset in webkit [138553] by mrowe@apple.com
  • 13 edits
    2 adds in trunk

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:
4:29 PM Changeset in webkit [138552] by fsamuel@chromium.org
  • 1 edit
    1 delete in trunk/LayoutTests

Unreviewed rebaseline.

  • platform/chromium-win-xp/inspector/extensions/extensions-resources-expected.txt: Removed.
4:10 PM Changeset in webkit [138551] by fsamuel@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed updated test expectations

  • platform/chromium/TestExpectations:
3:51 PM Changeset in webkit [138550] by fsamuel@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed updated TestExpectations. Mark test as fail on XP only.

  • platform/chromium/TestExpectations:
3:32 PM Changeset in webkit [138549] by fsamuel@chromium.org
  • 2 edits in trunk/LayoutTests

[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:
2:03 PM Changeset in webkit [138548] by fsamuel@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Roll Chromium DEPS to r174739
https://bugs.webkit.org/show_bug.cgi?id=105813

Unreviewed.

  • DEPS:
1:48 PM Changeset in webkit [138547] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix assert seen when adding a custom protocol handler before an initial
web process has been created.

  • UIProcess/WebContext.h:

(WebKit::WebContext::sendToNetworkingProcess):

1:07 PM Changeset in webkit [138546] by rafaelw@chromium.org
  • 4 edits in trunk

[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:
1:04 PM Changeset in webkit [138545] by Philippe Normand
  • 4 edits in trunk/Source/WebCore

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

12:32 PM Changeset in webkit [138544] by Martin Robinson
  • 32 edits
    1 copy
    1 add in trunk

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

10:32 AM Changeset in webkit [138543] by eae@chromium.org
  • 3 edits
    2 adds in trunk

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.
9:45 AM Changeset in webkit [138542] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[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

9:02 AM Changeset in webkit [138541] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

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.

8:52 AM Changeset in webkit [138540] by fsamuel@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed rebaseline

  • platform/chromium-win-xp/svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop-expected.png: Added.
8:49 AM Changeset in webkit [138539] by charles.wei@torchmobile.com.cn
  • 4 edits in trunk/Source/WebKit/blackberry

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

8:36 AM Changeset in webkit [138538] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Appease the Windows Gods.

  • WebProcess/Notifications/WebNotificationManager.cpp:
8:30 AM Changeset in webkit [138537] by rafaelw@chromium.org
  • 4 edits in trunk

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:
8:11 AM Changeset in webkit [138536] by vsevik@chromium.org
  • 25 edits in trunk

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:
8:09 AM Changeset in webkit [138535] by mkwst@chromium.org
  • 4 edits in trunk/LayoutTests

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

6:42 AM Changeset in webkit [138534] by yurys@chromium.org
  • 12 edits
    2 adds in trunk

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.
6:26 AM Changeset in webkit [138533] by weinig@apple.com
  • 11 edits in trunk/Source/WebKit2

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:
4:51 AM Changeset in webkit [138532] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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:
2:45 AM Changeset in webkit [138531] by sudarsana.nagineni@linux.intel.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

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

  • platform/efl/TestExpectations:
1:49 AM Changeset in webkit [138530] by loislo@chromium.org
  • 2 edits in trunk/Tools

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

1:43 AM Changeset in webkit [138529] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

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

1:26 AM Changeset in webkit [138528] by yurys@chromium.org
  • 11 edits in trunk

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:
1:08 AM Changeset in webkit [138527] by commit-queue@webkit.org
  • 4 edits in trunk

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:
1:06 AM Changeset in webkit [138526] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[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:
12:11 AM Changeset in webkit [138525] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

Unreviewed holiday gardening, skip new failing tests to paint the bots green.

  • platform/qt/TestExpectations:
12:00 AM Changeset in webkit [138524] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

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:

Dec 27, 2012:

11:44 PM Changeset in webkit [138523] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

One more unreviwed holiday MIPS and SH4 buildfixes after r138516.

  • jit/ThunkGenerators.cpp:
11:37 PM Changeset in webkit [138522] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Unreviwed holiday ARM and SH4 buildfixes after r138516.

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):

7:53 PM Changeset in webkit [138521] by fsamuel@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

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.

7:35 PM Changeset in webkit [138520] by weinig@apple.com
  • 25 edits in trunk/Source/WebKit2

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

7:17 PM Changeset in webkit [138519] by Dimitri Glazkov
  • 2 edits in trunk/Source/WebCore

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.

6:45 PM Changeset in webkit [138518] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[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:
4:39 PM Changeset in webkit [138517] by mkwst@chromium.org
  • 16 edits in trunk

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.

3:12 PM Changeset in webkit [138516] by fpizlo@apple.com
  • 16 edits in trunk/Source/JavaScriptCore

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

3:11 PM WebKit Team edited by otte@gnome.org
update info about myself (diff)
2:57 PM Changeset in webkit [138515] by Dimitri Glazkov
  • 15 edits
    2 adds in trunk/Source/WebCore

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.

2:06 PM Changeset in webkit [138514] by weinig@apple.com
  • 9 edits in trunk/Source/WebKit2

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.

1:15 PM Changeset in webkit [138513] by commit-queue@webkit.org
  • 13 edits
    3 copies
    4 adds in trunk

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

1:08 PM Changeset in webkit [138512] by commit-queue@webkit.org
  • 15 edits
    2 deletes in trunk/Source/WebCore

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

11:13 AM Changeset in webkit [138511] by weinig@apple.com
  • 12 edits
    1 add in trunk/Source/WebKit2

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

10:57 AM Changeset in webkit [138510] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Attempt to fix the tests.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

10:41 AM Changeset in webkit [138509] by Dimitri Glazkov
  • 15 edits
    2 adds in trunk/Source/WebCore

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.

9:57 AM Changeset in webkit [138508] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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

8:35 AM Changeset in webkit [138507] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

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

8:32 AM Changeset in webkit [138506] by vsevik@chromium.org
  • 7 edits in trunk

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

8:29 AM Changeset in webkit [138505] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

[GTK] invalid use of incomplete type WebCore::ResourceResponse in webkitwebviewprivate.h
https://bugs.webkit.org/show_bug.cgi?id=105720

Patch by ChangSeok Oh <ChangSeok Oh> 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:
8:16 AM Changeset in webkit [138504] by Christophe Dumez
  • 4 edits in trunk

[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:
8:11 AM Changeset in webkit [138503] by fsamuel@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

Unreviewed rebaseline.

  • platform/chromium-win-xp/inspector/extensions/extensions-resources-expected.txt: Added.
8:03 AM Changeset in webkit [138502] by yurys@chromium.org
  • 4 edits in trunk

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.

7:57 AM Changeset in webkit [138501] by yurys@chromium.org
  • 7 edits in trunk

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
6:13 AM Changeset in webkit [138500] by apavlov@chromium.org
  • 10 edits
    1 copy
    2 adds in trunk

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.
5:37 AM Changeset in webkit [138499] by aandrey@chromium.org
  • 2 edits in trunk/LayoutTests

Forgot to SKIP a test on wincairo.

  • platform/wincairo/TestExpectations:
5:31 AM Changeset in webkit [138498] by aandrey@chromium.org
  • 2 edits in trunk/LayoutTests

Forgot to SKIP a test on QT.

  • platform/qt/TestExpectations:
3:48 AM Changeset in webkit [138497] by aandrey@chromium.org
  • 12 edits
    2 adds in trunk

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.
3:20 AM Changeset in webkit [138496] by vsevik@chromium.org
  • 30 edits
    2 adds in trunk

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:
3:05 AM Changeset in webkit [138495] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

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

  • platform/efl-wk2/TestExpectations:
1:53 AM Changeset in webkit [138494] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

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.
1:12 AM Changeset in webkit [138493] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium test expectations update.

  • platform/chromium/TestExpectations:
12:38 AM Changeset in webkit [138492] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

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:

Dec 26, 2012:

11:31 PM Changeset in webkit [138491] by loislo@chromium.org
  • 2 edits in trunk/Tools

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

10:43 PM Changeset in webkit [138490] by jpetsovits@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

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

6:29 PM Changeset in webkit [138489] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

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

5:14 PM Changeset in webkit [138488] by thakis@chromium.org
  • 3 edits in trunk

[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:
4:38 PM Changeset in webkit [138487] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

3:24 PM Changeset in webkit [138486] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a Mac test expectations for bugs 105777 and 105778.

  • platform/mac/TestExpectations:
1:45 PM Changeset in webkit [138485] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Unreviewed Xmas buildfix after r138479.

  • WebProcess/MediaCache/WebMediaCacheManager.h:
1:33 PM Changeset in webkit [138484] by eae@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Enable most sub-pixel tests on mac.

  • platform/mac/TestExpectations:
12:59 PM Changeset in webkit [138483] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[TexMap] Remove unused members and methods in TextureMapperLayer.
https://bugs.webkit.org/show_bug.cgi?id=105755

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

No new tests. Refactoring only.

  • platform/graphics/texmap/TextureMapperLayer.h:

(TextureMapperLayer):
(State):
(WebCore::TextureMapperLayer::State::State):

12:13 PM Changeset in webkit [138482] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] MemoryPressureHandler: Occasional crashes in uninstall() when responding to memory pressure signal.
<http://webkit.org/b/105772>

Reviewed by Stephanie Lewis.

We can't synchronously dereference _cache_event_source in uninstall() just because m_installed
is true -- the block that initializes _cache_event_source is asynchronous and may not have executed.
Fix this by performing the uninstallation asynchronously on the main queue as well.

  • platform/mac/MemoryPressureHandlerMac.mm:

(WebCore::MemoryPressureHandler::uninstall):

11:49 AM Changeset in webkit [138481] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r137905.
http://trac.webkit.org/changeset/137905
https://bugs.webkit.org/show_bug.cgi?id=105765

Popover does not disappear when hovering another identifier in
sources panel. (Requested by vsevik on #webkit).

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

  • inspector/front-end/Popover.js:

(WebInspector.Popover.prototype._innerShow):

  • inspector/front-end/popover.css:

(.popover):

11:48 AM Changeset in webkit [138480] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [Resources] Table lose focus (selection) after deleting cookie.
https://bugs.webkit.org/show_bug.cgi?id=105716

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-26
Reviewed by Yury Semikhatsky.

This makes deletion of a set of cookies (using keyboard) painful.

  • inspector/front-end/CookieItemsView.js: Call method instead of getter.
  • inspector/front-end/CookiesTable.js: Remember and use next selected

cookie value.

10:01 AM Changeset in webkit [138479] by weinig@apple.com
  • 7 edits in trunk/Source/WebKit2

Convert WebKeyValueStorageManager and WebMediaCacheManager to MessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=105751

Reviewed by Andreas Kling.

  • WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:

(WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
(WebKit::WebKeyValueStorageManager::dispatchDidGetKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
(WebKit::WebKeyValueStorageManager::deleteAllEntries):

  • WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:

(WebKeyValueStorageManager): Remove unused m_originsLoaded member variable.

  • WebProcess/MediaCache/WebMediaCacheManager.cpp:

(WebKit::WebMediaCacheManager::WebMediaCacheManager):
(WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
(WebKit::WebMediaCacheManager::clearCacheForHostname):
(WebKit::WebMediaCacheManager::clearCacheForAllHostnames):

  • WebProcess/MediaCache/WebMediaCacheManager.h:

(WebMediaCacheManager):
Convert the managers to MessageReceiver.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::didReceiveMessage):

  • WebProcess/WebProcess.h:

(WebProcess):
Add the new managers.

9:00 AM Changeset in webkit [138478] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Caret doesn't update position when scrolling text in Input element
https://bugs.webkit.org/show_bug.cgi?id=105757

Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2012-12-26
Reviewed by George Staikos.

PR 271627
Internally reviewed by George Staikos.

Call FrameSelection's updateAppearence instead of SelectionHandler's
selectionPositionChanged to update the caret position.

  • Api/InRegionScroller.cpp:

(BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):

7:54 AM Changeset in webkit [138477] by yurys@chromium.org
  • 17 edits
    1 add in trunk

Web Inspector: extract JS heap profiler specifics into JSHeapSnapshot.js
https://bugs.webkit.org/show_bug.cgi?id=105768

Reviewed by Pavel Feldman.

Source/WebCore:

Inroduced JSHeapSnapshot, JSHeapSnapshotNode, JSHeapSnapshotEdge and JSHeapSnapshotRetainerEdge which
should encapsulate logic specific to JS-heap.
No behavioral changes, covered with existing heap profiler tests.

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshotEdge.prototype.hasStringName):
(WebInspector.HeapSnapshotEdge.prototype.name):
(WebInspector.HeapSnapshotEdge.prototype.node):
(WebInspector.HeapSnapshotEdge.prototype.toString):
(WebInspector.HeapSnapshotRetainerEdge.prototype._node):
(WebInspector.HeapSnapshotRetainerEdge.prototype._edge):
(WebInspector.HeapSnapshotNode.prototype.className):
(WebInspector.HeapSnapshotNode.prototype.classIndex):
(WebInspector.HeapSnapshotNode.prototype.edges):
(WebInspector.HeapSnapshotNode.prototype.id):
(WebInspector.HeapSnapshotNode.prototype.retainers):
(WebInspector.HeapSnapshot.prototype.createNode):
(WebInspector.HeapSnapshot.prototype.createEdge):
(WebInspector.HeapSnapshot.prototype.createRetainingEdge):
(WebInspector.HeapSnapshot.prototype.rootNode):
(WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
(WebInspector.HeapSnapshot.prototype._buildAggregates):
(WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
(WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
(WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
(WebInspector.HeapSnapshot.prototype.createEdgesProvider):
(WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
(WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
(WebInspector.HeapSnapshotNodesProvider.prototype.nodePosition):

  • inspector/front-end/HeapSnapshotLoader.js:

(WebInspector.HeapSnapshotLoader.prototype.buildSnapshot):

  • inspector/front-end/HeapSnapshotProxy.js:

(WebInspector.HeapSnapshotWorker):

  • inspector/front-end/HeapSnapshotWorker.js:
  • inspector/front-end/JSHeapSnapshot.js: Added.

(WebInspector.JSHeapSnapshot):
(WebInspector.JSHeapSnapshot.prototype.createNode):
(WebInspector.JSHeapSnapshot.prototype.createEdge):
(WebInspector.JSHeapSnapshot.prototype.createRetainingEdge):
(WebInspector.JSHeapSnapshotNode):
(WebInspector.JSHeapSnapshotNode.prototype.canBeQueried):
(WebInspector.JSHeapSnapshotNode.prototype.isPageObject):
(WebInspector.JSHeapSnapshotNode.prototype.distanceToWindow):
(WebInspector.JSHeapSnapshotNode.prototype.className):
(WebInspector.JSHeapSnapshotNode.prototype.classIndex):
(WebInspector.JSHeapSnapshotNode.prototype.id):
(WebInspector.JSHeapSnapshotNode.prototype.isHidden):
(WebInspector.JSHeapSnapshotNode.prototype.isNative):
(WebInspector.JSHeapSnapshotNode.prototype.isSynthetic):
(WebInspector.JSHeapSnapshotNode.prototype.isWindow):
(WebInspector.JSHeapSnapshotNode.prototype.isDetachedDOMTreesRoot):
(WebInspector.JSHeapSnapshotNode.prototype.isDetachedDOMTree):
(WebInspector.JSHeapSnapshotEdge):
(WebInspector.JSHeapSnapshotEdge.prototype.clone):
(WebInspector.JSHeapSnapshotEdge.prototype.hasStringName):
(WebInspector.JSHeapSnapshotEdge.prototype.isElement):
(WebInspector.JSHeapSnapshotEdge.prototype.isHidden):
(WebInspector.JSHeapSnapshotEdge.prototype.isWeak):
(WebInspector.JSHeapSnapshotEdge.prototype.isInternal):
(WebInspector.JSHeapSnapshotEdge.prototype.isInvisible):
(WebInspector.JSHeapSnapshotEdge.prototype.isShortcut):
(WebInspector.JSHeapSnapshotEdge.prototype.name):
(WebInspector.JSHeapSnapshotEdge.prototype.toString):
(WebInspector.JSHeapSnapshotEdge.prototype._hasStringName):
(WebInspector.JSHeapSnapshotEdge.prototype._name):
(WebInspector.JSHeapSnapshotEdge.prototype._nameOrIndex):
(WebInspector.JSHeapSnapshotEdge.prototype._type):
(WebInspector.JSHeapSnapshotRetainerEdge):
(WebInspector.JSHeapSnapshotRetainerEdge.prototype.clone):
(WebInspector.JSHeapSnapshotRetainerEdge.prototype.isElement):
(WebInspector.JSHeapSnapshotRetainerEdge.prototype.isHidden):
(WebInspector.JSHeapSnapshotRetainerEdge.prototype.isInternal):
(WebInspector.JSHeapSnapshotRetainerEdge.prototype.isInvisible):
(WebInspector.JSHeapSnapshotRetainerEdge.prototype.isShortcut):
(WebInspector.JSHeapSnapshotRetainerEdge.prototype.isWeak):

  • inspector/front-end/ProfilesPanel.js:
  • inspector/front-end/WebKit.qrc:

Source/WebKit/chromium:

  • WebKit.gyp: added new file to JS heap profiler.

LayoutTests:

Inroduced JSHeapSnapshot, JSHeapSnapshotNode, JSHeapSnapshotEdge and JSHeapSnapshotRetainerEdge which
should encapsulate logic specific to JS-heap. The tests were switched to the new classes.

  • inspector/profiler/heap-snapshot-loader.html:
  • inspector/profiler/heap-snapshot-test.js:

(initialize_HeapSnapshotTest.InspectorTest.createJSHeapSnapshotMockObject):
(initialize_HeapSnapshotTest.InspectorTest.createHeapSnapshotMockRaw):

  • inspector/profiler/heap-snapshot.html:
6:46 AM Changeset in webkit [138476] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

[WIN] Build fix for !USE(CFNETWORK) after r138413.

  • platform/network/NetworkStorageSession.h:

(WebCore):

4:07 AM Changeset in webkit [138475] by yurys@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: prepare HeapSnapshot.js for use with native heap snapshot
https://bugs.webkit.org/show_bug.cgi?id=105763

Reviewed by Alexander Pavlov.

HeapSnapshot.js now expects root node to be either the first or the last (real) one
in the list of all nodes.

  • inspector/HeapGraphSerializer.cpp:

(HeapGraphNode):
(WebCore::HeapGraphSerializer::serialize): reordered node and edge fields so that the go in
the same order as in the JS heap snapshot.

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshot.prototype._buildAggregates):
(WebInspector.HeapSnapshot.prototype._buildDominatedNodes):

  • inspector/front-end/NativeHeapGraph.js:

(WebInspector.NativeHeapGraph):
(WebInspector.NativeHeapGraph.prototype.root): now there is explicit root node which is the last
one in the list, use it.
(WebInspector.NativeHeapGraph.prototype._calculateNodeEdgeIndexes):
(WebInspector.NativeHeapGraph.prototype._addDummyNode): fixed dummy node first edge index.
(WebInspector.NativeHeapGraph.Edge.prototype.target):
(WebInspector.NativeHeapGraph.Node.prototype.referencedNodes):

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeSnapshotNode.prototype._addChildrenFromGraph): switched to use of the root node
(WebInspector.NativeHeapGraphDataGridRoot.prototype._populate):

2:27 AM Changeset in webkit [138474] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WTF

Fix build warning in OSAllocatorPosix.cpp
https://bugs.webkit.org/show_bug.cgi?id=105761

Reviewed by Kentaro Hara.

  • wtf/OSAllocatorPosix.cpp:

(WTF::OSAllocator::reserveUncommitted): Fix unused param warnings.

1:56 AM Changeset in webkit [138473] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Inspector]Remove Preview and Response tab from network panel in case websocket.
https://bugs.webkit.org/show_bug.cgi?id=105754

Patch by Pan Deng <pan.deng@intel.com> on 2012-12-26
Reviewed by Pavel Feldman.

Network item views for websocket is not consistent before/after receiving a frame.
This change keeps Headers, Frames and Cookies tab for websocket.

No new tests.

  • inspector/front-end/NetworkItemView.js:

(WebInspector.NetworkItemView):

Dec 25, 2012:

11:24 PM Changeset in webkit [138472] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/JavaScriptCore

[CMAKE] Remove header files in JavaScriptCore/CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=105753

Reviewed by Laszlo Gombos.

  • CMakeLists.txt: Remove header files in source list.
6:36 PM Changeset in webkit [138471] by weinig@apple.com
  • 4 edits in trunk/Source/WebKit2

Fix the Database manager assert, again.

  • WebProcess/WebCoreSupport/WebDatabaseManager.cpp:

(WebKit):
(WebKit::WebDatabaseManager::WebDatabaseManager):
(WebKit::WebDatabaseManager::initialize):

  • WebProcess/WebCoreSupport/WebDatabaseManager.h:

(WebDatabaseManager):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

6:29 PM Changeset in webkit [138470] by charles.wei@torchmobile.com.cn
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Need to initialize the onLine in the global
https://bugs.webkit.org/show_bug.cgi?id=105749

Reviewed by George Staikos.

The NetworkStatus is initialized to online in the constructor by default,
we need to update it correctly with the network status at startup.

  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::globalInitialize):

6:15 PM Changeset in webkit [138469] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Media controls are drawn on top of one another for media with unknown duration.
https://bugs.webkit.org/show_bug.cgi?id=105747

Patch by John Griggs <jgriggs@rim.com> on 2012-12-25
Reviewed by George Staikos.

No need to reposition controls when there is no timeline element, this mispositions them in the new design.

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):

6:04 PM Changeset in webkit [138468] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

Coordinated Graphics: Manage the lifecycle of CoordinatedGraphicsLayer explicitly.
https://bugs.webkit.org/show_bug.cgi?id=104990

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

Send explicit commands to the UI process to create/delete compositing
layers, instead of having the UI process decide lazily when to create
them.

Avoid creating a compositing layer at all if it was deleted in the same
cycle.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::createCompositingLayer):
(WebKit):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:

(CoordinatedLayerTreeHostProxy):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::createCanvas):
(WebKit::LayerTreeRenderer::destroyCanvas):
(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::getLayerByIDIfExists):
(WebKit):
(WebKit::LayerTreeRenderer::createLayer):
(WebKit::LayerTreeRenderer::deleteLayer):
(WebKit::LayerTreeRenderer::setRootLayerID):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):
(WebKit::LayerTreeRenderer::ensureRootLayer):
(WebKit::LayerTreeRenderer::setLayerAnimations):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(LayerTreeRenderer):
(WebKit::LayerTreeRenderer::layerByID):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
(WebKit::CoordinatedLayerTreeHost::createCompositingLayers):
(WebKit):
(WebKit::CoordinatedLayerTreeHost::deleteCompositingLayers):
(WebKit::CoordinatedLayerTreeHost::detachLayer):
(WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
5:56 PM Changeset in webkit [138467] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix Qt build.

  • WebProcess/WebPage/qt/WebPageQt.cpp:
5:37 PM Changeset in webkit [138466] by weinig@apple.com
  • 16 edits in trunk/Source/WebKit2

Reduce the number of includes in WebProcess.h
https://bugs.webkit.org/show_bug.cgi?id=105709

Reviewed by Dan Bernstein.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::downloadsAuthenticationManager):

  • NetworkProcess/NetworkProcess.h:

(WebKit):

  • Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  • WebProcess/FullScreen/WebFullScreenManager.cpp:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:
  • WebProcess/Network/NetworkProcessConnection.cpp:
  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  • WebProcess/WebPage/FindController.cpp:
  • WebProcess/WebPage/WebContextMenu.cpp:
  • WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::downloadsAuthenticationManager):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::geolocationManager):
(WebKit):
(WebKit::WebProcess::applicationCacheManager):
(WebKit::WebProcess::resourceCacheManager):
(WebKit::WebProcess::cookieManager):
(WebKit::WebProcess::authenticationManager):
(WebKit::WebProcess::databaseManager):
(WebKit::WebProcess::notificationManager):
(WebKit::WebProcess::pluginProcessConnectionManager):
(WebKit::WebProcess::networkProcessConnectionClosed):
(WebKit::WebProcess::webResourceLoadScheduler):
(WebKit::WebProcess::pluginProcessCrashed):

  • WebProcess/WebProcess.h:

(WebCore):
(WebKit):
(WebProcess):

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

1:07 PM Changeset in webkit [138465] by fpizlo@apple.com
  • 11 edits
    3 adds in trunk/Source/JavaScriptCore

JITThunks should be in its own file
https://bugs.webkit.org/show_bug.cgi?id=105744

Rubber stamped by Sam Weinig.

Moved JITThunks into its own file and removed some static methods from it
that were not related to what JITThunks currently does. Performed various
pagan rituals to get it to build - apparently there is a circular dependency
between JSCell, Weak, and JITThunks, which magically resolves itself if you
make sure to first include Register.h. Making it so that fewer pagan rituals
need to be performed if this code changes in the future is covered by
https://bugs.webkit.org/show_bug.cgi?id=105696.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • jit/JITStubs.cpp:

(JSC::tryCachePutByID):
(JSC::tryCacheGetByID):

  • jit/JITStubs.h:

(JSC::JITStackFrame::returnAddressSlot):
(JSC::returnAddressIsInCtiTrampoline):

  • jit/JITThunks.cpp: Added.

(JSC::JITThunks::JITThunks):
(JSC::JITThunks::~JITThunks):
(JSC::JITThunks::ctiStub):
(JSC::JITThunks::hostFunctionStub):
(JSC::JITThunks::clearHostFunctionStubs):

  • jit/JITThunks.h: Added.

(JSC::JITThunks::ctiStringLengthTrampoline):
(JSC::JITThunks::ctiVirtualCallLink):
(JSC::JITThunks::ctiVirtualConstructLink):
(JSC::JITThunks::ctiVirtualCall):
(JSC::JITThunks::ctiVirtualConstruct):
(JSC::JITThunks::ctiNativeCall):
(JSC::JITThunks::ctiNativeConstruct):

  • jit/ThunkGenerator.h: Added.
  • jit/ThunkGenerators.cpp:
  • jit/ThunkGenerators.h:
  • runtime/JSGlobalData.h:
1:06 PM Changeset in webkit [138464] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2][Mac] Call Carbon resource APIs on main thread only.
<rdar://problem/11760262>
<http://webkit.org/b/105746>

Reviewed by Anders Carlsson.

The Carbon resource APIs are not thread-safe, so use a little libdispatch sugar to make
sure that plugin enumeration never calls them on a secondary thread.

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::getPluginInfoFromCarbonResourcesOnMainThread):
(WebKit::getPluginInfoFromCarbonResources):

9:08 AM Changeset in webkit [138463] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Build breaks with --no-input-type-color
https://bugs.webkit.org/show_bug.cgi?id=105740

Patch by Seokju Kwon <Seokju Kwon> on 2012-12-25
Reviewed by Laszlo Gombos.

  • UIProcess/API/efl/EwkViewImpl.h: Add INPUT_TYPE_COLOR guard.

(EwkViewImpl):

4:28 AM Changeset in webkit [138462] by Christophe Dumez
  • 9 edits in trunk

[EFL][WK2] Refactor snapshot taking code
https://bugs.webkit.org/show_bug.cgi?id=105687

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Refactor EFL WK2 snapshot taking code to use
smart pointers when possible and follow naming
conventions.

  • UIProcess/API/C/efl/WKView.cpp:

(WKViewCreateSnapshot):

  • UIProcess/API/C/efl/WKView.h: Rename WKViewGetSnapshot

to WKViewCreateSnapshot to follow C API naming conventions,
since the returned value needs to be adopted.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::takeSnapshot):

  • UIProcess/API/efl/EwkViewImpl.h: Have takeSnapshot() return

a cairo_surface_t instead of a WKType. The value should be
converted to a WKType at C API level.
(EwkViewImpl):

  • UIProcess/API/efl/SnapshotImageGL.cpp: Use OwnArrayPtr for the

buffer to avoid manual memory handling. Remove useless call to
glBindTexture() since glReadPixels() reads pixels from the frame
buffer, not from the texture.
(getImageDataFromFrameBuffer):

  • UIProcess/API/efl/SnapshotImageGL.h: Rename getImageFromCurrentTexture

to getImageDataFromFrameBuffer for consistency since we technically
return the pixel data of the image and since glReadPixels does not
actually read from the texture. Have the function return a smart
pointer instead of a raw one to avoid manual memory handling.

Tools:

Call WKViewCreateSnapshot() instead of WKViewGetSnapshot()
since the function was renamed to follow naming style.

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::PlatformWebView::windowSnapshotImage):

3:08 AM Changeset in webkit [138461] by timothy_horton@apple.com
  • 12 edits in trunk/Source/WebKit2

PDFPlugin: Find-in-page
https://bugs.webkit.org/show_bug.cgi?id=105710
<rdar://problem/12555331>

Reviewed by Alexey Proskuryakov.

Make use of PDFLayerController's find-in-page functionality to mimic WebKit's.
Add two Plugin methods, countFindMatches and findString, and make use of them
if attempting to find-in-page within a PluginDocument.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::countFindMatches): Added. We don't support find-in-page for NetscapePlugin.
(WebKit::NetscapePlugin::findString): Added. We don't support find-in-page for NetscapePlugin.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h: Add countFindMatches and findString.
  • WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add requisite PDFLayerController interfaces.
  • WebProcess/Plugins/PDF/PDFPlugin.h: Add countFindMatches, findString, and nextMatchForString,

as well as storage for the most-recently-searched string.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::writeItemsToPasteboard):
(WebKit::PDFPlugin::countFindMatches):
(WebKit::PDFPlugin::nextMatchForString):
(WebKit::PDFPlugin::findString):

  • WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add countFindMatches and findString.
  • WebProcess/Plugins/Plugin.h: Add countFindMatches and findString.
  • WebProcess/Plugins/PluginProxy.h: Add countFindMatches and findString, but since PDFPlugin

is in-process, we don't need to forward these calls to the PluginProcess.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::countFindMatches): Forward countFindMatches to the plugin.
(WebKit::PluginView::findString): Forward findString to the plugin.

  • WebProcess/Plugins/PluginView.h: Add countFindMatches and findString.
  • WebProcess/WebPage/FindController.cpp:

(WebKit::pluginViewForFrame): If the given frame hosts a PluginDocument, grab its PluginView.
(WebKit::FindController::countStringMatches): Forward countStringMatches to PluginView if necessary.
(WebKit::FindController::updateFindUIAfterPageScroll): Only use unmarkAllTextMatches if we're using
ordinary find-in-page and don't have a plugin. If we have a plugin, disable our overlay, as it must
be handled by the plugin itself, and request the number of matches for the search from the plugin.
(WebKit::FindController::findString): If necessary, forward findString to the plugin.
(WebKit::FindController::hideFindUI): Hide the search highlight by searching for an empty string.

1:26 AM Changeset in webkit [138460] by apavlov@chromium.org
  • 5 edits
    2 adds in trunk

Web Inspector: Crash when modifying a rule that has been removed through JavaScript
https://bugs.webkit.org/show_bug.cgi?id=105718

Reviewed by Yury Semikhatsky.

Source/WebCore:

CSSStyleRules should be stored by RefPtr's to avoid using stale pointers to deleted instances.

Test: inspector/styles/removed-rule-crash.html

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::ruleForId):
(WebCore::InspectorStyleSheet::revalidateStyle):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheet::collectFlatRules):

  • inspector/InspectorStyleSheet.h:

(InspectorStyleSheet):

LayoutTests:

  • http/tests/inspector/elements-test.js: Add InspectorTest.toggleMatchedStyleProperty.

(initialize_ElementTest.InspectorTest.toggleMatchedStyleProperty): Added.

  • inspector/styles/removed-rule-crash-expected.txt: Added.
  • inspector/styles/removed-rule-crash.html: Added.
1:24 AM Changeset in webkit [138459] by apavlov@chromium.org
  • 2 edits
    3 adds in trunk/LayoutTests

Web Inspector: device-metrics-fit-window.html is failing on Chromium-Mac
https://bugs.webkit.org/show_bug.cgi?id=104362

Unreviewed expectations rebaseline.

  • platform/chromium-mac/platform/chromium/inspector/styles/device-metrics-fit-window-expected.txt: Added.
  • platform/chromium/TestExpectations:
1:13 AM Changeset in webkit [138458] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: [Console] Add "Replay XHR" context menu item for corresponding messages.
https://bugs.webkit.org/show_bug.cgi?id=105714

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-12-25
Reviewed by Pavel Feldman.

Expose "request" value from console message object and use it in console
context menu generator.

  • inspector/front-end/ConsoleMessage.js: Expose "request".
  • inspector/front-end/ConsoleView.js: Add "Replay XHR" menu item.
  • inspector/front-end/NetworkPanel.js: Fix whitespaces.
1:00 AM Changeset in webkit [138457] by apavlov@chromium.org
  • 63 edits in trunk/Source/WebCore

Web Inspector: Make InspectorState instances per-agent, corresponding to JSON map entries in the cookie
https://bugs.webkit.org/show_bug.cgi?id=105722

Reviewed by Yury Semikhatsky.

Inspector state cookie (in JSON format) has become a map (agent name -> "properties object")
to avoid cross-agent property name clashes in a single property namespace.
As such, InspectorState corresponds to a single "properties object" and is now per-agent,
managed by an InspectorCompositeState (which is owned by [Worker]InspectorController).
Since InspectorCompositeState maps "properties objects" by their agent names, InspectorStates are created
by InspectorCompositeState in the InspectorBaseAgentInterface ctor, using the respective agent name.

No new tests, no change in visible behavior.

  • inspector/InspectorAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
  • inspector/InspectorAgent.h: Ditto.
  • inspector/InspectorApplicationCacheAgent.cpp: Ditto.
  • inspector/InspectorApplicationCacheAgent.h: Ditto.
  • inspector/InspectorBaseAgent.cpp: Ditto.

(WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
Create InspectorState via InspectorCompositeState::createAgentState(agentName).

  • inspector/InspectorBaseAgent.h: Pass InspectorCompositeState rather than InspectorState.
  • inspector/InspectorCSSAgent.cpp: Ditto.
  • inspector/InspectorCSSAgent.h: Ditto.
  • inspector/InspectorCanvasAgent.cpp: Ditto.
  • inspector/InspectorCanvasAgent.h: Ditto.
  • inspector/InspectorConsoleAgent.cpp: Ditto.
  • inspector/InspectorConsoleAgent.h: Ditto.
  • inspector/InspectorController.cpp: Use InspectorCompositeState rather than InspectorState.
  • inspector/InspectorController.h: Ditto.
  • inspector/InspectorDOMAgent.cpp: Pass InspectorCompositeState rather than InspectorState.

(WebCore::InspectorDOMAgent::InspectorDOMAgent): Ditto.

  • inspector/InspectorDOMAgent.h: Ditto.
  • inspector/InspectorDOMDebuggerAgent.cpp: Ditto.
  • inspector/InspectorDOMDebuggerAgent.h: Ditto.
  • inspector/InspectorDOMStorageAgent.cpp: Ditto.
  • inspector/InspectorDOMStorageAgent.h: Ditto.
  • inspector/InspectorDatabaseAgent.cpp: Ditto.
  • inspector/InspectorDatabaseAgent.h: Ditto.
  • inspector/InspectorDebuggerAgent.cpp: Ditto.
  • inspector/InspectorDebuggerAgent.h: Ditto.
  • inspector/InspectorFileSystemAgent.cpp: Ditto.
  • inspector/InspectorFileSystemAgent.h: Ditto.
  • inspector/InspectorIndexedDBAgent.cpp: Ditto.
  • inspector/InspectorIndexedDBAgent.h: Ditto.
  • inspector/InspectorInputAgent.cpp: Ditto.
  • inspector/InspectorInputAgent.h: Ditto.
  • inspector/InspectorLayerTreeAgent.cpp: Ditto.
  • inspector/InspectorLayerTreeAgent.h: Ditto.
  • inspector/InspectorMemoryAgent.cpp: Ditto.
  • inspector/InspectorMemoryAgent.h: Ditto.
  • inspector/InspectorPageAgent.cpp: Ditto.
  • inspector/InspectorPageAgent.h: Ditto.
  • inspector/InspectorProfilerAgent.cpp: Ditto.
  • inspector/InspectorProfilerAgent.h: Ditto.
  • inspector/InspectorResourceAgent.cpp: Ditto.
  • inspector/InspectorResourceAgent.h: Ditto.
  • inspector/InspectorRuntimeAgent.cpp: Ditto.
  • inspector/InspectorRuntimeAgent.h: Ditto.
  • inspector/InspectorState.cpp: Introduce InspectorCompositeState, refactor.

(WebCore::InspectorState::updateCookie): Delegates to the owning InspectorCompositeState instance.
(WebCore::InspectorState::setFromCookie): Gets called from InspectorCompositeState::loadFromCookie().
(WebCore::InspectorState::remove): Don't forget to update the cookie.
(WebCore::InspectorCompositeState::createAgentState): Creates an InspectorState instance for a named agent.
(WebCore::InspectorCompositeState::loadFromCookie): Restores InspectorStates from a cookie.
(WebCore::InspectorCompositeState::inspectorStateUpdated): Delegate invoked from InspectorState::updateCookie().

  • inspector/InspectorState.h:

(InspectorStateUpdateListener): InspectorCompositeState API exposed to InspectorState.

  • inspector/InspectorTimelineAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
  • inspector/InspectorTimelineAgent.h: Ditto.
  • inspector/InspectorWorkerAgent.cpp: Ditto.
  • inspector/InspectorWorkerAgent.h: Ditto.
  • inspector/PageConsoleAgent.cpp: Ditto.
  • inspector/PageConsoleAgent.h: Ditto.
  • inspector/PageDebuggerAgent.cpp: Ditto.
  • inspector/PageDebuggerAgent.h: Ditto.
  • inspector/PageRuntimeAgent.cpp: Ditto.
  • inspector/PageRuntimeAgent.h: Ditto.
  • inspector/WorkerConsoleAgent.cpp: Ditto.
  • inspector/WorkerConsoleAgent.h: Ditto.
  • inspector/WorkerDebuggerAgent.cpp: Ditto.
  • inspector/WorkerDebuggerAgent.h: Ditto.
  • inspector/WorkerInspectorController.cpp: Ditto.
  • inspector/WorkerInspectorController.h: Ditto.
  • inspector/WorkerRuntimeAgent.cpp: Ditto.
  • inspector/WorkerRuntimeAgent.h: Ditto.
12:12 AM Changeset in webkit [138456] by loislo@chromium.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed follow-up for r138455.

Note: See TracTimeline for information about the timeline view.