1 2013-01-01 KwangYong Choi <ky0.choi@samsung.com>
3 [EFL] Enable MHTML feature
4 https://bugs.webkit.org/show_bug.cgi?id=105815
6 Reviewed by Laszlo Gombos.
8 Add application/x-mimearchive type to archive mime types.
9 Add mht and mhtml to extension map.
11 No new tests. Existing layout tests pass.
13 * loader/archive/ArchiveFactory.cpp:
14 (WebCore::archiveMIMETypes):
15 * platform/efl/MIMETypeRegistryEfl.cpp:
18 2013-01-01 Mike West <mkwst@chromium.org>
20 seamless iframes don't inherit styles when srcdoc is used
21 https://bugs.webkit.org/show_bug.cgi?id=103539
23 Reviewed by Eric Seidel.
25 Seamless iframes populated via a 'srcdoc' attribute should always
26 inherit styles from their parent documents. At the moment, this is
27 only the case when they contain a stylesheet or some other markup
28 that forces a style recalculation on the document. Simple 'srcdoc'
29 attributes (e.g. "srcdoc='<p>This is a comment.</p>'") bail out of
30 recalculating style early, resulting in unstyled appearance.
32 This patch instructs WebCore to treat seamless documents as having an
33 updated StyleResolver regardless of what actions the parser takes,
34 which in turn ensures that the document's style is recalculated
37 Test: fast/frames/seamless/seamless-srcdoc.html
40 (WebCore::Document::finishedParsing):
41 If it's a seamless document, notify it that its StyleResolver isn't
42 what it might have expected.
44 2012-12-31 Jeff Rogers <jrogers@rim.com>
46 [BlackBerry] Fullscreen Media Time Indicators Background Incorrect
47 https://bugs.webkit.org/show_bug.cgi?id=105888
49 Reviewed by George Staikos.
52 Update fullscreen media controls CSS to fix time container background
53 color. Also fix transparency to be 80% opaque to and the time
54 remaining text color to match the system player.
56 No new tests as there is no functionality change.
58 * css/mediaControlsBlackBerryFullscreen.css:
59 (video:-webkit-full-screen::-webkit-media-controls-panel):
60 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-display-container):
61 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-timeline-container):
62 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-current-time-display):
63 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-remaining-display):
64 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-button-container, video:-webkit-full-screen::-webkit-media-controls-play-button-container):
65 (video:-webkit-full-screen::-webkit-media-controls-placeholder):
67 2012-12-31 Kondapally Kalyan <kalyan.kondapally@intel.com>
69 [EFL][WebGL] Add compile time support for GLES2.
70 https://bugs.webkit.org/show_bug.cgi?id=105816
72 Reviewed by Kenneth Rohde Christiansen.
74 This patch adds build support for GLES2.
75 GLES2 support can be enabled during compile time by passing -DENABLE_GLES2=ON as
76 cmake config parameter. GLES2 options is not enabled by default. This patch doesn't
77 address all the build issues related to GLES2 but only adds the needed support in
82 2012-12-31 Andy Chen <andchen@rim.com>
84 [BlackBerry] The HTML5 video fullscreen time indicator on the right cuts clipped when the video is longer than 1 hour
85 https://bugs.webkit.org/show_bug.cgi?id=105887
87 Reviewed by George Staikos.
89 The width of the time part was fixed. Remove it.
91 No new test is required because no functionality change.
93 * platform/blackberry/RenderThemeBlackBerry.cpp:
94 (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
96 2012-12-30 Kondapally Kalyan <kalyan.kondapally@intel.com>
98 [EFL] [WebGL] Rename EGLConfigHelper as EGLConfigSelector.
99 https://bugs.webkit.org/show_bug.cgi?id=105876
101 Reviewed by Kenneth Rohde Christiansen.
103 This is to sync the naming conventions of our classes in both EGL and GLX implementations.
104 In our GLX implementation, class responsible for the same functionality is named as GLXConfigSelector.
105 This patch renames EGLConfigHelper as EGLConfigSelector.
108 * platform/graphics/surfaces/egl/EGLConfigSelector.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/egl/EGLConfigHelper.cpp.
110 (WebCore::SharedEGLDisplay::deref):
111 (WebCore::SharedEGLDisplay::sharedEGLDisplay):
112 (WebCore::SharedEGLDisplay::SharedEGLDisplay):
113 (WebCore::SharedEGLDisplay::cleanup):
114 (WebCore::SharedEGLDisplay::~SharedEGLDisplay):
115 (WebCore::EGLConfigSelector::EGLConfigSelector):
116 (WebCore::EGLConfigSelector::~EGLConfigSelector):
117 (WebCore::EGLConfigSelector::display):
118 (WebCore::EGLConfigSelector::pBufferContextConfig):
119 (WebCore::EGLConfigSelector::surfaceContextConfig):
120 (WebCore::EGLConfigSelector::nativeVisualId):
121 (WebCore::EGLConfigSelector::reset):
122 (WebCore::EGLConfigSelector::createConfig):
123 * platform/graphics/surfaces/egl/EGLConfigSelector.h: Renamed from Source/WebCore/platform/graphics/surfaces/egl/EGLConfigHelper.h.
126 (WebCore::SharedEGLDisplay::create):
128 * platform/graphics/surfaces/egl/EGLSurface.cpp:
129 (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
130 (WebCore::EGLWindowTransportSurface::configuration):
131 (WebCore::EGLWindowTransportSurface::destroy):
132 * platform/graphics/surfaces/egl/EGLSurface.h:
133 (EGLWindowTransportSurface):
135 2012-12-30 Philippe Normand <pnormand@igalia.com>
137 [GStreamer] webaudio/decode-audio-data-basic.html fails
138 https://bugs.webkit.org/show_bug.cgi?id=105298
140 Reviewed by Martin Robinson.
142 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
143 (WebCore::AudioFileReader::createBus): Return a null pointer if an
144 error happened while processing a media file.
146 2012-12-30 Christophe Dumez <christophe.dumez@intel.com>
148 Regression(r138545): Makes WebAudio tests crash
149 https://bugs.webkit.org/show_bug.cgi?id=105869
151 Reviewed by Philippe Normand.
153 Stop using smart pointers and adoptGRef() for the
154 GstBus object and call gst_object_unref() manually.
155 This fixes assertions hits when calling adoptGRef()
156 since the GstBus object has a floating reference.
158 Alternatively, we could keep using smart pointers
159 and stop calling adoptGRef() so that
160 gst_object_ref_sink() is called and the floating
161 flag is cleared but I think it is clearer to do
164 No new tests, already covered by existing tests.
166 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
167 (WebCore::messageCallback):
168 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
169 (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
170 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
171 (WebCore::AudioFileReader::~AudioFileReader):
172 (WebCore::AudioFileReader::decodeAudioForBusCreation):
174 2012-12-29 Dimitri Glazkov <dglazkov@chromium.org>
176 Rename StyleResolver's member variable that holds SelectorChecker to a proper name.
177 https://bugs.webkit.org/show_bug.cgi?id=105864
179 In https://bugs.webkit.org/show_bug.cgi?id=105660#c11, Antti suggested renaming m_checker to
180 m_selectorChecker. I've forgotten about that, but now I remembered it.
182 Reviewed by Eric Seidel.
184 No change in functionality, covered by existing tests.
186 * css/StyleResolver.cpp/h: Renamed all instances of m_checker to m_selectorChecker.
188 2012-12-29 Dimitri Glazkov <dglazkov@chromium.org>
190 Move pointer to Document up from SelectorChecker to StyleResolver.
191 https://bugs.webkit.org/show_bug.cgi?id=105863
193 Now that SelectorChecker is mostly stateless, it no longer needs to keep a pointer to Document, which
194 makes all the code in StyleResolver that reaches for it sort of weird.
196 Reviewed by Eric Seidel.
198 No change in functionality, covered by existing tests.
200 * css/SelectorChecker.cpp:
201 (WebCore::SelectorChecker::SelectorChecker): Changed to take document as argument (only used to set bit fields).
202 (WebCore::SelectorChecker::checkOneSelector): Changed to use element document.
203 (WebCore::SelectorChecker::checkScrollbarPseudoClass): Ditto.
204 * css/SelectorChecker.h:
205 (WebCore): Removed unnecessary Document forward declaration.
206 (SelectorChecker): Changed constructor declaration, and removed m_document member.
207 * css/StyleResolver.cpp:
208 (WebCore::StyleResolver::StyleResolver): Adjusted SelectorChecker initializer accordingly.
209 (WebCore::StyleResolver::initElement): Changed to use own document accessor.
210 (WebCore::StyleResolver::initForStyleResolve): Ditto.
211 (WebCore::StyleResolver::matchUARules): Ditto.
212 (WebCore::StyleResolver::styleForPage): Ditto.
213 (WebCore::StyleResolver::applyProperty): Ditto.
214 (WebCore::StyleResolver::checkForGenericFamilyChange): Ditto.
215 (WebCore::StyleResolver::initializeFontStyle): Ditto.
216 (WebCore::StyleResolver::setFontSize): Ditto.
217 * css/StyleResolver.h:
218 (WebCore::StyleResolver::document): Changed to use own member.
219 (WebCore::StyleResolver::documentSettings): Ditto.
220 (StyleResolver): Added m_document member.
221 * dom/SelectorQuery.cpp:
222 (WebCore::SelectorQuery::matches): Changed callsite to reflect new constructor signature.
223 (WebCore::SelectorQuery::queryAll): Ditto.
224 (WebCore::SelectorQuery::queryFirst): Ditto.
225 * html/shadow/ContentSelectorQuery.cpp:
226 (WebCore::ContentSelectorChecker::ContentSelectorChecker): Ditto.
227 (WebCore::ContentSelectorQuery::ContentSelectorQuery): Ditto.
228 * html/shadow/ContentSelectorQuery.h:
229 (ContentSelectorChecker): Removed unnecessary argument.
231 2012-12-29 Otto Derek Cheung <otcheung@rim.com>
233 [BlackBerry] Cookies with an IP domain are not being loaded properly into memory
234 https://bugs.webkit.org/show_bug.cgi?id=105859
238 Reviewed by George Staikos.
240 The isIP flag isn't persistented in the database. We need to check it
241 again when we load it into memory.
243 * platform/blackberry/CookieManager.cpp:
244 (WebCore::CookieManager::getBackingStoreCookies):
246 2012-12-29 Kondapally Kalyan <kalyan.kondapally@intel.com>
248 [EFL][WebGL] Refactor GLXImplementation.
249 https://bugs.webkit.org/show_bug.cgi?id=105825
251 Reviewed by Kenneth Rohde Christiansen.
253 This patch decouples native window management and logic to find surface configuration in GLX implementation.
255 * platform/graphics/opengl/GLDefs.h:
256 * platform/graphics/surfaces/glx/GLXConfigSelector.h: Renamed from Source/WebCore/platform/graphics/surfaces/glx/GLXWindowResources.h.
259 (WebCore::GLXConfigSelector::GLXConfigSelector):
260 (WebCore::GLXConfigSelector::~GLXConfigSelector):
261 (WebCore::GLXConfigSelector::visualInfo):
262 (WebCore::GLXConfigSelector::pBufferContextConfig):
263 (WebCore::GLXConfigSelector::surfaceContextConfig):
264 (WebCore::GLXConfigSelector::reset):
265 (WebCore::GLXConfigSelector::createConfig):
267 Helper class to find surface configuration.
269 * platform/graphics/surfaces/glx/GLXContext.h:
270 (GLXOffScreenContext):
271 * platform/graphics/surfaces/glx/GLXSurface.cpp:
272 (WebCore::GLXTransportSurface::GLXTransportSurface):
273 (WebCore::GLXTransportSurface::configuration):
274 (WebCore::GLXTransportSurface::setGeometry):
275 (WebCore::GLXTransportSurface::destroy):
276 (WebCore::GLXPBuffer::GLXPBuffer):
277 (WebCore::GLXPBuffer::initialize):
278 (WebCore::GLXPBuffer::configuration):
279 * platform/graphics/surfaces/glx/GLXSurface.h:
280 (GLXTransportSurface):
283 Inheritance changed from X11OffScreenWindow to GLPlatformSurface.
285 * platform/graphics/surfaces/glx/X11WindowResources.cpp:
287 (WebCore::X11OffScreenWindow::X11OffScreenWindow):
288 (WebCore::X11OffScreenWindow::reSizeWindow):
289 (WebCore::X11OffScreenWindow::createOffscreenWindow):
290 (WebCore::X11OffScreenWindow::destroyWindow):
291 (WebCore::X11OffScreenWindow::nativeSharedDisplay):
292 (WebCore::X11OffScreenWindow::setVisualInfo):
293 (WebCore::X11OffScreenWindow::isXRenderExtensionSupported):
294 * platform/graphics/surfaces/glx/X11WindowResources.h:
295 (WebCore::SharedX11Resources::create):
296 (SharedX11Resources):
297 (X11OffScreenWindow):
299 Removed code related to surface configiration.
301 2012-12-29 Eugene Klyuchnikov <eustas@chromium.org>
303 Web Inspector: [Timeline] cpu bar popover shows wrong duration / cpu time.
304 https://bugs.webkit.org/show_bug.cgi?id=105854
306 Reviewed by Vsevolod Vlasov.
308 Problem: CPU task indexes are already incremented before written to
311 * inspector/front-end/TimelinePanel.js:
312 (WebInspector.TimelinePanel.prototype._refreshMainThreadBars):
313 Use for loop to get correct indexes.
315 2012-12-28 Ilya Tikhonovsky <loislo@chromium.org>
317 Web Inspector: Native Memory Instrumentation: instrument not instrumented members.
318 https://bugs.webkit.org/show_bug.cgi?id=105830
320 Reviewed by Vsevolod Vlasov.
322 In some cases we don't want to visit some class members.
323 As example we decided to skip pointers to interface classes such as GraphicLayerClient.
324 We could use addWeakPointer for them but it can't be used for nonpointer members.
325 In the offline discussion we came to a conclusion that we need a new instrumentation
326 method ignoreMember, which will be used for all the members which we won't like to visit/instrument.
328 DriveBy: Also I instrumented not yet instrumented members.
330 * bindings/v8/DOMWrapperMap.h:
331 (WebCore::DOMWrapperMap::reportMemoryUsage):
332 * bindings/v8/ScriptWrappable.h:
333 (WebCore::ScriptWrappable::reportMemoryUsage):
334 * html/HTMLMediaElement.cpp:
335 (WebCore::HTMLMediaElement::reportMemoryUsage):
336 * platform/KURLGoogle.cpp:
337 (WebCore::KURLGooglePrivate::reportMemoryUsage):
338 * platform/SharedBuffer.cpp:
339 (WebCore::SharedBuffer::reportMemoryUsage):
340 * platform/audio/AudioArray.h:
341 (WebCore::AudioArray::reportMemoryUsage):
342 * platform/graphics/GraphicsLayer.cpp:
343 (WebCore::GraphicsLayer::reportMemoryUsage):
344 * rendering/RenderLayerCompositor.cpp:
345 (WebCore::RenderLayerCompositor::reportMemoryUsage):
346 * rendering/RenderTableSection.cpp:
347 (WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
348 * rendering/style/RenderStyle.cpp:
349 (WebCore::RenderStyle::reportMemoryUsage):
350 * rendering/style/StyleRareInheritedData.cpp:
351 (WebCore::StyleRareInheritedData::reportMemoryUsage):
353 2012-12-29 Andrey Lushnikov <lushnikov@chromium.com>
355 Web Inspector: refactor DefaultTextEditor - annotate handlers and fix getters style
356 https://bugs.webkit.org/show_bug.cgi?id=105829
358 Reviewed by Pavel Feldman.
360 Refactor DefaultTextEditor.js: improve handler method annotations,
361 remove "get" prefix from method names, get rid of unnecessary
362 delegation (e.g. see _handleCut).
364 No new tests: no change in behaviour.
366 * inspector/front-end/DefaultTextEditor.js:
367 (WebInspector.DefaultTextEditor):
368 (WebInspector.DefaultTextEditor.prototype._contextMenu):
369 (WebInspector.DefaultTextEditor.prototype.selection):
370 (WebInspector.DefaultTextEditor.prototype.lastSelection):
371 (WebInspector.DefaultTextEditor.prototype.wasShown):
372 (WebInspector.DefaultTextEditor.prototype.willHide):
373 (WebInspector.TextEditorChunkedPanel.prototype.createNewChunk):
374 (WebInspector.TextEditorMainPanel):
375 (WebInspector.TextEditorMainPanel.prototype.wasShown):
376 (WebInspector.TextEditorMainPanel.prototype.willHide):
377 (WebInspector.TextEditorMainPanel.prototype.populateContextMenu):
378 (WebInspector.TextEditorMainPanel.prototype.splitChunkOnALine):
379 (WebInspector.TextEditorMainPanel.prototype.expandChunks):
380 (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
381 (WebInspector.TextEditorMainPanel.prototype.selection):
382 (WebInspector.TextEditorMainPanel.prototype.lastSelection):
383 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
384 (WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
385 (WebInspector.TextEditorMainPanel.prototype._handleTextInput):
386 (WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
387 (WebInspector.TextEditorMainPanel.prototype._handleCut):
389 2012-12-28 No'am Rosenthal <noam@webkit.org>
391 REGRESSION: r138555 asserts on Linux EFL/Qt debug builds
392 https://bugs.webkit.org/show_bug.cgi?id=105848
396 * platform/graphics/texmap/TextureMapperShaderManager.cpp:
397 Added parameter name to noop shader.
399 2012-12-28 No'am Rosenthal <noam@webkit.org>
401 [Texmap] Use a transform uniform instead of u_flip/u_textureSize
402 https://bugs.webkit.org/show_bug.cgi?id=105809
404 Reviewed by Martin Robinson.
406 In order to support tiled-patterns, we'd have to apply texture-space transformations in the
408 This patch cleans up the current texture-space transformations, and uses
409 single matrix uniform instead of the current uniforms.
411 No new tests, refactor only.
413 * platform/graphics/texmap/TextureMapperGL.cpp:
414 (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
415 * platform/graphics/texmap/TextureMapperShaderManager.cpp:
417 * platform/graphics/texmap/TextureMapperShaderManager.h:
418 (TextureMapperShaderProgram):
420 2012-12-28 No'am Rosenthal <noam@webkit.org>
422 [Texmap] Edge antialiasing in TextureMapper could be done with less per-pixel calls
423 https://bugs.webkit.org/show_bug.cgi?id=105377
425 Reviewed by Kenneth Rohde Christiansen.
427 Instead of passing 8 quad edge coefficients as uniforms and analyze the distance in the
428 fragment shader, we render the antialiased quad as 4 edge triangles, which originate in the
431 The vertex shader expands the quad based on the screen transform, and applies a value to each vertex to be interpolated by the GPU.
433 It is very difficult to test performance gain; However, the following is apparent:
434 - The matrix multiplications and inversions done before in the quad inflation code were
435 always visible in instruments/valgrind and they are now gone.
436 - We now perform a single smoothstep() command per pixel instead of 8 clamp(dot()) commands.
437 - It should now be possible to antialias individual edges.
439 Covered by existing tests.
441 * platform/graphics/texmap/TextureMapperGL.cpp:
442 (WebCore::TextureMapperGLData::getStaticVBO):
443 Cache the unit-rect and edge-triangle vertex data in a VBO.
445 (WebCore::TextureMapperGLData::~TextureMapperGLData):
446 Clear the cached VBOs upon destruction.
448 (WebCore::TextureMapperGL::drawBorder):
449 (WebCore::TextureMapperGL::drawTexture):
450 Removed call to useProgram, since it's already called in drawTexturedQuadWithProgram.
452 (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
453 (WebCore::TextureMapperGL::drawSolidColor):
454 Use the new signature "draw" instead of "drawQuad".
456 (WebCore::TextureMapperGL::drawEdgeTriangles):
457 (WebCore::TextureMapperGL::drawUnitRect):
458 (WebCore::TextureMapperGL::draw):
459 Removed DrawQuad, instead draw either a unit rect or edge triangles.
461 (WebCore::TextureMapperGL::beginClip):
462 Use the new setMatrix function.
464 * platform/graphics/texmap/TextureMapperGL.h:
465 Added a paint flag for antialiasing.
467 * platform/graphics/texmap/TextureMapperShaderManager.cpp:
468 (WebCore::TextureMapperShaderProgram::setMatrix):
469 Since we now set the matrix in multiple locations, added a convenience
470 function for matrix uniform.
472 (WebCore::getShaderSpec):
473 Update the vertex and fragment shader to account for the new antialiasing
475 * platform/graphics/texmap/TextureMapperShaderManager.h:
476 (TextureMapperShaderProgram):
478 2012-12-28 Mark Rowe <mrowe@apple.com>
480 Move logic for extracting the OS X marketing version in to WebCore
481 <http://webkit.org/b/105841> / <rdar://problem/10736041>
483 Reviewed by Dan Bernstein.
485 The logic for extracting the OS X markerting version is moved in to systemMarketingVersion
486 from WebKitSystemInterface (post-10.8) and WebKit (pre-10.8).
488 * WebCore.exp.in: Export systemMarketingVersion and remove the old WKSI symbol.
489 * WebCore.xcodeproj/project.pbxproj: Add the new files.
490 * platform/mac/SystemVersionMac.h: Added.
491 * platform/mac/SystemVersionMac.mm: Added.
492 (WebCore::createSystemMarketingVersion): Read the marketing version out of SystemVersion.plist
493 (WebCore::callGestalt):
494 (WebCore::createSystemMarketingVersion): Build the marketing version by piecing together the results
496 (WebCore::systemMarketingVersion): Return the cached string.
497 * platform/mac/WebCoreSystemInterface.h: Remove the old WKSI symbol.
498 * platform/mac/WebCoreSystemInterface.mm: Ditto.
500 2012-12-28 Rafael Weinstein <rafaelw@chromium.org>
502 [Templates]: Fix assert in colgroup parse handling
503 https://bugs.webkit.org/show_bug.cgi?id=105837
505 Reviewed by Eric Seidel.
507 Tests added to html5lib.
509 * html/parser/HTMLTreeBuilder.cpp:
510 (WebCore::HTMLTreeBuilder::processEndTag):
512 2012-12-28 Philippe Normand <pnormand@igalia.com>
514 [GStreamer] GstMessage handler in AudioDestination
515 https://bugs.webkit.org/show_bug.cgi?id=105292
517 Reviewed by Martin Robinson.
519 Handle GStreamer warnings and errors coming from the playback
520 pipeline. For now we only display warnings on the console.
522 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
523 (WebCore::messageCallback):
525 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
526 (WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady):
527 (WebCore::AudioDestinationGStreamer::handleMessage):
528 * platform/audio/gstreamer/AudioDestinationGStreamer.h:
529 (AudioDestinationGStreamer):
531 2012-12-28 Martin Robinson <mrobinson@igalia.com>
533 [GTK][WK2] Add support for IME Composition
534 https://bugs.webkit.org/show_bug.cgi?id=65093
536 Reviewed by Carlos Garcia Campos.
538 No new tests. The GtkInputMethodFilter is covered by unit tests in TestWebKitAPI.
539 Doing functional tests for this behavior is much more complex.
541 * platform/gtk/GtkInputMethodFilter.cpp:
542 (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents): Now
543 pass along whether or not an event was faked.
544 * platform/gtk/GtkInputMethodFilter.h: Ditto.
546 2012-12-27 Emil A Eklund <eae@chromium.org>
548 REGRESSION (r138196): Regions with text-overflow: ellipsis; are being ellipsized unnecessarily
549 https://bugs.webkit.org/show_bug.cgi?id=105600
551 Reviewed by Darin Adler.
553 Pixel-snap lineBoxEdge before comparing with the block edge as
554 the lineBox edge isn't guaranteed to be snapped to device pixels
557 Test: fast/sub-pixel/ellipsis-table.html
559 * rendering/RenderBlockLineLayout.cpp:
560 (WebCore::RenderBlock::checkLinesForTextOverflow):
562 2012-12-28 Brandon Jones <bajones@chromium.org>
564 [chromium] DrawingBuffer initialization loop breaks if completely out of memory
565 https://bugs.webkit.org/show_bug.cgi?id=105732
567 Reviewed by Kenneth Russell.
569 When DrawingBuffer allocation fails because s_currentResourceUsePixels is maxed out
570 it now forces WebGLRenderingContext creation to fail gracefully.
572 * html/canvas/WebGLRenderingContext.cpp:
573 (WebCore::WebGLRenderingContext::create): On Chromium, check for failure to allocate a DrawingBuffer
575 2012-12-28 Dan Bernstein <mitz@apple.com>
577 Slightly clean up WebCore's Base.xcconfig
578 https://bugs.webkit.org/show_bug.cgi?id=105808
580 Reviewed by Sam Weinig.
582 * Configurations/Base.xcconfig: Simplify the definition of GCC_GENERATE_DEBUGGING_SYMBOLS,
585 2012-12-28 Rafael Weinstein <rafaelw@chromium.org>
587 Heap-use-after-free in WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement
588 https://bugs.webkit.org/show_bug.cgi?id=105780
590 Reviewed by Eric Seidel.
592 This was regression was created by the HTMLTemplateElement implementation. The issue was a missed instance of
593 "fragment or template contents" case related to the parsing of colgroups.
595 * html/parser/HTMLTreeBuilder.cpp:
596 (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
597 (WebCore::HTMLTreeBuilder::processStartTag):
598 (WebCore::HTMLTreeBuilder::processCharacterBuffer):
599 (WebCore::HTMLTreeBuilder::processEndOfFile):
601 2012-12-27 Vsevolod Vlasov <vsevik@chromium.org>
603 Web Inspector: Introduce uri as a UISourceCode unique identifier in workspace.
604 https://bugs.webkit.org/show_bug.cgi?id=105799
606 Reviewed by Pavel Feldman.
608 Added uri field to UISourceCode.
609 Debugger and LiveEdit uiSourceCodes are now created through WorkspaceProviders (not projects yet though)
610 which are responsible for unique uri generation.
611 Extracted generic content provider based WorkspaceProvider functionality and url-to-uri conversion logic to ContentProviderWorkspaceProvider class.
613 * inspector/front-end/BreakpointManager.js:
614 (WebInspector.BreakpointManager.sourceFileId):
615 * inspector/front-end/CompilerScriptMapping.js:
616 * inspector/front-end/DebuggerScriptMapping.js:
617 (WebInspector.DebuggerScriptMapping):
618 * inspector/front-end/DefaultScriptMapping.js:
619 (WebInspector.DefaultScriptMapping):
620 (WebInspector.DefaultScriptMapping.prototype.addScript):
621 (WebInspector.DebuggerWorkspaceProvider):
622 (WebInspector.DebuggerWorkspaceProvider.prototype.addDebuggerFile):
623 * inspector/front-end/LiveEditSupport.js:
624 (WebInspector.LiveEditSupport):
625 (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
626 (WebInspector.LiveEditWorkspaceProvider):
627 (WebInspector.LiveEditWorkspaceProvider.prototype.addLiveEditFile):
628 * inspector/front-end/NetworkUISourceCodeProvider.js:
629 (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
630 * inspector/front-end/NetworkWorkspaceProvider.js:
631 (WebInspector.ContentProviderWorkspaceProvider):
632 (WebInspector.ContentProviderWorkspaceProvider.uriForURL):
633 (WebInspector.ContentProviderWorkspaceProvider.prototype.addFile):
634 (WebInspector.ContentProviderWorkspaceProvider.prototype.uniqueURI):
635 (WebInspector.NetworkWorkspaceProvider):
636 (WebInspector.NetworkWorkspaceProvider.prototype.addNetworkFile):
637 * inspector/front-end/SASSSourceMapping.js:
639 * inspector/front-end/ScriptSnippetModel.js:
640 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
641 * inspector/front-end/TabbedEditorContainer.js:
642 (WebInspector.TabbedEditorContainer):
643 (WebInspector.TabbedEditorContainer.prototype._scrollChanged):
644 (WebInspector.TabbedEditorContainer.prototype._selectionChanged):
645 (WebInspector.TabbedEditorContainer.prototype._editorClosedByUserAction):
646 (WebInspector.TabbedEditorContainer.prototype._updateHistory.tabIdToURI):
647 (WebInspector.TabbedEditorContainer.prototype._updateHistory):
648 (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
649 (WebInspector.TabbedEditorContainer.prototype.reset):
650 * inspector/front-end/UISourceCode.js:
651 (WebInspector.UISourceCode):
652 (WebInspector.UISourceCode.prototype.uri):
653 * inspector/front-end/Workspace.js:
654 (WebInspector.FileDescriptor):
655 (WebInspector.Project.prototype._fileAdded):
656 (WebInspector.Project.prototype._fileRemoved):
657 (WebInspector.Project.prototype.uiSourceCodeForURI):
658 (WebInspector.Workspace):
659 (WebInspector.Workspace.prototype.uiSourceCodeForURI):
660 (WebInspector.Workspace.prototype.addTemporaryUISourceCode):
661 (WebInspector.Workspace.prototype.removeTemporaryUISourceCode):
662 (WebInspector.Workspace.prototype.requestFileContent):
663 (WebInspector.Workspace.prototype.setFileContent):
664 (WebInspector.Workspace.prototype.searchInFileContent):
665 (WebInspector.Workspace.prototype.reset):
666 * inspector/front-end/inspector.js:
668 2012-12-28 Yury Semikhatsky <yurys@chromium.org>
670 Web Inspector: debugger should step into event handler on event dispatch
671 https://bugs.webkit.org/show_bug.cgi?id=105827
673 Reviewed by Pavel Feldman.
675 Added m_pauseInNextEventListener to InspectorDOMDebuggerAgent. The flag is set
676 to true when "step into" is pressed and reset to false when either JS execution
677 pauses, the agent gets disabled or JS call stack becomes empty. If the flag is
678 true and the next JS stetement to be executed belongs to a JS event listener we
679 will stop in that listener, otherwise we have two options:
680 1) Control flow directly(without comming through the native bindings) reaches some JS
681 statement and will pause in the corresponding JS function, in which case the
683 2) JS call stack becomes empty and execution will continue in the native code. We
684 use didProcessTask to detect such cases and reset the flag to false every time
685 event queue finishes next task.
687 Test: inspector/debugger/debugger-step-into-event-listener.html
689 * inspector/InspectorController.cpp:
690 (WebCore::InspectorController::InspectorController):
691 (WebCore::InspectorController::reportMemoryUsage):
692 (WebCore::InspectorController::didProcessTask):
693 * inspector/InspectorController.h:
695 (InspectorController):
696 * inspector/InspectorDOMDebuggerAgent.cpp:
697 (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
698 (WebCore::InspectorDOMDebuggerAgent::stepInto):
700 (WebCore::InspectorDOMDebuggerAgent::didPause):
701 (WebCore::InspectorDOMDebuggerAgent::cancelStepIntoEventListener):
702 (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
703 (WebCore::InspectorDOMDebuggerAgent::clear):
704 * inspector/InspectorDOMDebuggerAgent.h:
705 (InspectorDOMDebuggerAgent):
706 * inspector/InspectorDebuggerAgent.cpp:
707 (WebCore::InspectorDebuggerAgent::stepInto):
708 (WebCore::InspectorDebuggerAgent::didPause):
709 * inspector/InspectorDebuggerAgent.h:
712 2012-12-28 Andrey Lushnikov <lushnikov@chromium.com>
714 Web Inspector: enable mutation observer in LayoutTests
715 https://bugs.webkit.org/show_bug.cgi?id=105826
717 Reviewed by Pavel Feldman.
719 Enable mutation observer in LayoutTests.
721 No new tests: no change in behaviour.
723 * inspector/front-end/DOMExtension.js:
725 2012-12-28 Philippe Normand <pnormand@igalia.com>
727 [GTK] Some GStreamer-related files don't need to be in libWebCoreGTK
728 https://bugs.webkit.org/show_bug.cgi?id=105807
730 Reviewed by Martin Robinson.
732 * GNUmakefile.list.am: Move some modules not using GTK nor Cairo
733 to libWebCorePlatform.
735 2012-12-28 Yury Semikhatsky <yurys@chromium.org>
737 Web Inspector: rename distanceToWindow to distance
738 https://bugs.webkit.org/show_bug.cgi?id=105823
740 Reviewed by Pavel Feldman.
742 Renamed distanceToWindow to distance. Introduced a method on HeapSnapshot
743 that allows to check if given node should be displayed to the user as having
746 * inspector/front-end/HeapSnapshot.js:
747 (WebInspector.HeapSnapshotEdge.prototype.serialize):
748 (WebInspector.HeapSnapshotRetainerEdge.prototype.serialize):
749 (WebInspector.HeapSnapshotNode.prototype.distance):
750 (WebInspector.HeapSnapshotNode.prototype.serialize):
751 (WebInspector.HeapSnapshot.prototype._init):
752 (WebInspector.HeapSnapshot.prototype.dispose):
753 (WebInspector.HeapSnapshot.prototype.canHaveDistanceOne):
754 (WebInspector.HeapSnapshot.prototype._calculateDistances):
755 (WebInspector.HeapSnapshot.prototype._bfs):
756 (WebInspector.HeapSnapshot.prototype._buildAggregates):
757 * inspector/front-end/HeapSnapshotDataGrids.js:
758 (WebInspector.HeapSnapshotRetainmentDataGrid):
759 (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
760 (WebInspector.HeapSnapshotConstructorsDataGrid):
761 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._sortFields):
762 * inspector/front-end/HeapSnapshotGridNodes.js:
763 (WebInspector.HeapSnapshotGenericObjectNode):
764 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
765 (WebInspector.HeapSnapshotObjectNode):
766 (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
767 (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
768 (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
769 (WebInspector.HeapSnapshotConstructorNode):
770 (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
771 (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
772 * inspector/front-end/JSHeapSnapshot.js:
773 (WebInspector.JSHeapSnapshot.prototype.canHaveDistanceOne):
775 2012-12-28 Andrey Lushnikov <lushnikov@chromium.com>
777 Web Inspector: refactor DefaultTextEditor's private methods
778 https://bugs.webkit.org/show_bug.cgi?id=105797
780 Reviewed by Pavel Feldman.
782 - Refactor private methods to public if they are called from external classes
783 - Get rid of external private variable access.
785 No tests: no change in behaviour.
787 * inspector/front-end/DefaultTextEditor.js:
788 (WebInspector.DefaultTextEditor.prototype.freeCachedElements):
789 (WebInspector.DefaultTextEditor.prototype._handleTextInput):
790 (WebInspector.DefaultTextEditor.prototype._handleKeyDown):
791 (WebInspector.DefaultTextEditor.prototype._handleCut):
792 (WebInspector.DefaultTextEditor.prototype._contextMenu):
793 (WebInspector.DefaultTextEditor.prototype._handleScrollChanged):
794 (WebInspector.DefaultTextEditor.prototype.selection):
795 (WebInspector.DefaultTextEditor.prototype.lastSelection):
796 (WebInspector.DefaultTextEditor.prototype.setSelection):
797 (WebInspector.DefaultTextEditor.prototype.wasShown):
798 (WebInspector.DefaultTextEditor.prototype._handleFocused):
799 (WebInspector.DefaultTextEditor.prototype.willHide):
800 (WebInspector.DefaultTextEditor.prototype.highlightExpression):
801 (WebInspector.DefaultTextEditor.prototype.overrideViewportForTest):
802 (WebInspector.TextEditorChunkedPanel.prototype.buildChunks):
803 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
804 (WebInspector.TextEditorChunkedPanel.prototype.splitChunkOnALine):
805 (WebInspector.TextEditorChunkedPanel.prototype.createNewChunk):
806 (WebInspector.TextEditorChunkedPanel.prototype.scroll):
807 (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
808 (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
809 (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
810 (WebInspector.TextEditorChunkedPanel.prototype.findVisibleChunks):
811 (WebInspector.TextEditorChunkedPanel.prototype.repaintAll):
812 (WebInspector.TextEditorChunkedPanel.prototype.scrollTop):
813 (WebInspector.TextEditorChunkedPanel.prototype.clientHeight):
814 (WebInspector.TextEditorChunkedPanel.prototype.expandChunks):
815 (WebInspector.TextEditorChunkedPanel.prototype.totalHeight):
816 (WebInspector.TextEditorChunkedPanel.prototype.resize):
817 (WebInspector.TextEditorGutterPanel):
818 (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
819 (WebInspector.TextEditorGutterPanel.prototype.createNewChunk):
820 (WebInspector.TextEditorGutterPanel.prototype.textChanged):
821 (WebInspector.TextEditorGutterChunk.prototype.get height):
822 (WebInspector.TextEditorMainPanel):
823 (WebInspector.TextEditorMainPanel.prototype.wasShown):
824 (WebInspector.TextEditorMainPanel.prototype.willHide):
825 (WebInspector.TextEditorMainPanel.prototype.highlightLine):
826 (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
827 (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
828 (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
829 (WebInspector.TextEditorMainPanel.prototype.splitChunkOnALine):
830 (WebInspector.TextEditorMainPanel.prototype.buildChunks):
831 (WebInspector.TextEditorMainPanel.prototype.createNewChunk):
832 (WebInspector.TextEditorMainPanel.prototype.expandChunks):
833 (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
834 (WebInspector.TextEditorMainPanel.prototype._paintLines):
835 (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
836 (WebInspector.TextEditorMainPanel.prototype.getSelection):
837 (WebInspector.TextEditorMainPanel.prototype.getLastSelection):
838 (WebInspector.TextEditorMainPanel.prototype.setLastSelection):
839 (WebInspector.TextEditorMainPanel.prototype.restoreSelection):
840 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
841 (WebInspector.TextEditorMainPanel.prototype.enclosingLineRowOrSelf):
842 (WebInspector.TextEditorMainPanel.prototype._createLink):
843 (WebInspector.TextEditorMainPanel.prototype._collectDirtyLines):
844 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
845 (WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnSelection):
846 (WebInspector.TextEditorMainPanel.prototype._removeDecorationsInRange):
847 (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
848 (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
849 (WebInspector.TextEditorMainPanel.prototype.handleSelectionChange):
850 (WebInspector.TextEditorMainPanel.prototype.handleTextInput):
851 (WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
852 (WebInspector.TextEditorMainPanel.prototype.handleCut):
853 (WebInspector.TextEditorMainPanel.prototype.overrideViewportForTest):
854 (WebInspector.TextEditorMainChunk.prototype.get height):
856 2012-12-28 Kondapally Kalyan <kalyan.kondapally@intel.com>
858 [EFL][WebGL] Add GLES2 support in GraphicsContext3DEfl.
859 https://bugs.webkit.org/show_bug.cgi?id=105805
861 Reviewed by Kenneth Rohde Christiansen.
863 This is in preparation for adding GLES2 support.
864 This patch adds OPENGL_ES_2 checks in GraphicsContext3DEFl.
865 With this patch, GraphicsContext3DPrivate uses the FramebufferBlit extension supported by Extensions3D.
867 * platform/graphics/GraphicsContext3D.h:
869 * platform/graphics/efl/GraphicsContext3DEfl.cpp:
870 (WebCore::GraphicsContext3D::GraphicsContext3D):
871 * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
872 (GraphicsContext3DPrivate::copyToGraphicsSurface):
873 * platform/graphics/opengl/GLDefs.h:
875 2012-12-27 Dimitri Glazkov <dglazkov@chromium.org>
877 Fix styling/formatting errors, pointed out by Darin Adler while reviewing
878 https://bugs.webkit.org/show_bug.cgi?id=105752
880 No functional changes, thus no new tests.
882 * dom/VisitedLinkState.cpp:
883 (WebCore::VisitedLinkState::VisitedLinkState): Fixed up constructor syntax.
884 (WebCore::linkHashForElement): Expanded abbreviation.
886 2012-12-27 Mike West <mkwst@chromium.org>
888 Add context to the console message generated by Document::printNavigationErrorMessage.
889 https://bugs.webkit.org/show_bug.cgi?id=105774
891 Reviewed by Darin Adler.
893 When blocking frame navigations, we should give developers more
894 contextual detail about why the navigation has been blocked. This patch
895 adds context specifically for sandboxed frames', and gives a slightly
896 more detailed generic response for all other blockages.
898 No new tests; the changes to the error message are covered via
899 rebaselines to existing navigation tests.
902 (WebCore::printNavigationErrorMessage):
903 (WebCore::Document::canNavigate):
904 Pass in a 'reason' parameter when calling printNavigationErrorMessage
905 to report a blocked navigation.
907 2012-12-27 Dimitri Glazkov <dglazkov@chromium.org>
909 Move visited link-checking (and caching) code out of SelectorChecker.
910 https://bugs.webkit.org/show_bug.cgi?id=105752
912 SelectorChecker knew too much about visited links and how links are stored in DOM. This change
913 moves the code to more relevant locations and moves the visited links cache all the way up to Document,
914 introducing VisitedLinkState class to manage the state of visited links.
915 Relanding without a null-ptr ref.
917 Reviewed by Antti Koivisto.
919 No change in behavior, covered by existing tests.
921 * CMakeLists.txt: Added VisitedLinkState to build system.
922 * GNUmakefile.list.am: Ditto.
924 * WebCore.gypi: Ditto.
925 * WebCore.xcodeproj/project.pbxproj: Ditto.
926 * css/SelectorChecker.cpp: Moved visited-link state code out to VisitedLinkState class.
927 * css/SelectorChecker.h: Ditto.
928 * css/StyleResolver.cpp:
929 (WebCore::StyleResolver::initElement): Changed callsite to use VisitedLinkState.
930 * css/StyleResolver.h: Removed plumb-throughs that are now unnecessary.
931 * dom/DOMAllInOne.cpp: Added VisitedLinkState to build system.
932 * dom/Document.cpp: Added VisitedLinkState initalizer.
933 * dom/Document.h: Added VisitedLinkState member.
934 * dom/VisitedLinkState.cpp: Added.
935 * dom/VisitedLinkState.h: Added.
936 * history/CachedPage.cpp:
937 (WebCore::CachedPage::restore): Changed callsite to use VisitedLinkState.
939 (WebCore::Page::allVisitedStateChanged): Ditto.
940 (WebCore::Page::visitedStateChanged): Ditto.
942 2012-12-27 Kondapally Kalyan <kalyan.kondapally@intel.com>
944 [EFL][WebGL] Implement EGL support with GLX.
945 https://bugs.webkit.org/show_bug.cgi?id=105602
947 Reviewed by Kenneth Rohde Christiansen.
949 This is in preparation for adding GLES2 support.
950 This patch adds support for EGL with GLX backend. EGL support can be enabled during compile time
951 by passing -DENABLE_EGL=ON as cmake config parameter. This is disabled by default.
954 * platform/graphics/opengl/GLDefs.h:
956 * platform/graphics/opengl/GLPlatformContext.cpp:
958 (WebCore::GLPlatformContext::createContext): Added GLX checks.
959 (WebCore::GLPlatformContext::createOffScreenContext): Added support for creating EGLOffscreen Context.
960 (WebCore::GLPlatformContext::createCurrentContextWrapper): Added support for creating EGLCurrentContextWrapper.
961 * platform/graphics/opengl/GLPlatformContext.h:
962 * platform/graphics/opengl/GLPlatformSurface.cpp:
963 (WebCore::GLPlatformSurface::createTransportSurface): Added support for creating EGLSurface.
965 * platform/graphics/surfaces/egl/EGLContext.cpp: Added.
967 (WebCore::isRobustnessExtSupported):
968 (WebCore::EGLCurrentContextWrapper::EGLCurrentContextWrapper):
969 (WebCore::EGLCurrentContextWrapper::handle):
970 (WebCore::EGLOffScreenContext::EGLOffScreenContext):
971 (WebCore::EGLOffScreenContext::initialize):
972 (WebCore::EGLOffScreenContext::~EGLOffScreenContext):
973 (WebCore::EGLOffScreenContext::isCurrentContext):
974 (WebCore::EGLOffScreenContext::platformMakeCurrent):
975 (WebCore::EGLOffScreenContext::platformReleaseCurrent):
976 (WebCore::EGLOffScreenContext::freeResources):
977 (WebCore::EGLOffScreenContext::destroy):
978 * platform/graphics/surfaces/egl/EGLContext.h:
980 (EGLCurrentContextWrapper):
981 (WebCore::EGLCurrentContextWrapper::~EGLCurrentContextWrapper):
982 (EGLOffScreenContext):
984 EGL implementation for Context Management.
986 * platform/graphics/surfaces/egl/EGLSurface.cpp: Added.
988 (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
989 (WebCore::EGLWindowTransportSurface::~EGLWindowTransportSurface):
990 (WebCore::EGLWindowTransportSurface::configuration):
991 (WebCore::EGLWindowTransportSurface::swapBuffers):
992 (WebCore::EGLWindowTransportSurface::destroy):
993 (WebCore::EGLWindowTransportSurface::freeEGLResources):
994 * platform/graphics/surfaces/egl/EGLSurface.h:
996 (EGLWindowTransportSurface):
998 EGL implementation for Offscreen Surface. The surface is backed by native window.
1000 * platform/graphics/surfaces/egl/EGLConfigHelper.cpp: Added.
1002 (WebCore::SharedEGLDisplay::deref):
1003 (WebCore::SharedEGLDisplay::sharedEGLDisplay):
1004 (WebCore::SharedEGLDisplay::SharedEGLDisplay):
1005 (WebCore::SharedEGLDisplay::cleanup):
1006 (WebCore::SharedEGLDisplay::~SharedEGLDisplay):
1007 (WebCore::EGLConfigHelper::EGLConfigHelper):
1008 (WebCore::EGLConfigHelper::~EGLConfigHelper):
1009 (WebCore::EGLConfigHelper::display):
1010 (WebCore::EGLConfigHelper::pBufferContextConfig):
1011 (WebCore::EGLConfigHelper::surfaceContextConfig):
1012 (WebCore::EGLConfigHelper::nativeVisualId):
1013 (WebCore::EGLConfigHelper::reset):
1014 (WebCore::EGLConfigHelper::createConfig):
1016 Helper class to initialize EGL resources and choose right EGL configuration.
1018 2012-12-27 Sheriff Bot <webkit.review.bot@gmail.com>
1020 Unreviewed, rolling out r138509.
1021 http://trac.webkit.org/changeset/138509
1022 https://bugs.webkit.org/show_bug.cgi?id=105806
1024 Caused several tests to crash (Requested by fsamuel on
1028 * GNUmakefile.list.am:
1031 * WebCore.xcodeproj/project.pbxproj:
1032 * css/SelectorChecker.cpp:
1033 (WebCore::linkAttribute):
1035 (WebCore::SelectorChecker::determineLinkStateSlowCase):
1036 (WebCore::SelectorChecker::allVisitedStateChanged):
1037 (WebCore::SelectorChecker::visitedStateChanged):
1038 * css/SelectorChecker.h:
1040 (WebCore::SelectorChecker::determineLinkState):
1042 * css/StyleResolver.cpp:
1043 (WebCore::StyleResolver::initElement):
1044 * css/StyleResolver.h:
1045 (WebCore::StyleResolver::allVisitedStateChanged):
1046 (WebCore::StyleResolver::visitedStateChanged):
1048 * dom/DOMAllInOne.cpp:
1050 (WebCore::Document::Document):
1054 * dom/VisitedLinkState.cpp: Removed.
1055 * dom/VisitedLinkState.h: Removed.
1056 * history/CachedPage.cpp:
1057 (WebCore::CachedPage::restore):
1059 (WebCore::Page::allVisitedStateChanged):
1060 (WebCore::Page::visitedStateChanged):
1062 2012-12-27 Dimitri Glazkov <dglazkov@chromium.org>
1064 Move visited link-checking (and caching) code out of SelectorChecker.
1065 https://bugs.webkit.org/show_bug.cgi?id=105752
1067 SelectorChecker knew too much about visited links and how links are stored in DOM. This change
1068 moves the code to more relevant locations and moves the visited links cache all the way up to Document,
1069 introducing VisitedLinkState class to manage the state of visited links.
1071 Reviewed by Antti Koivisto.
1073 No change in behavior, covered by existing tests.
1075 * CMakeLists.txt: Added VisitedLinkState to build system.
1076 * GNUmakefile.list.am: Ditto.
1077 * Target.pri: Ditto.
1078 * WebCore.gypi: Ditto.
1079 * WebCore.xcodeproj/project.pbxproj: Ditto.
1080 * css/SelectorChecker.cpp: Moved visited-link state code out to VisitedLinkState class.
1081 * css/SelectorChecker.h: Ditto.
1082 * css/StyleResolver.cpp:
1083 (WebCore::StyleResolver::initElement): Changed callsite to use VisitedLinkState.
1084 * css/StyleResolver.h: Removed plumb-throughs that are now unnecessary.
1085 * dom/DOMAllInOne.cpp: Added VisitedLinkState to build system.
1086 * dom/Document.cpp: Added VisitedLinkState initalizer.
1087 * dom/Document.h: Added VisitedLinkState member.
1088 * dom/VisitedLinkState.cpp: Added.
1089 * dom/VisitedLinkState.h: Added.
1090 * history/CachedPage.cpp:
1091 (WebCore::CachedPage::restore): Changed callsite to use VisitedLinkState.
1093 (WebCore::Page::allVisitedStateChanged): Ditto.
1094 (WebCore::Page::visitedStateChanged): Ditto.
1096 2012-12-27 Huang Dongsung <luxtella@company100.net>
1098 [TexMap] Minor refactoring of TextureMapperLayer.
1099 https://bugs.webkit.org/show_bug.cgi?id=105782
1101 Reviewed by Darin Adler.
1103 This patch has two refactorings.
1104 1. Replace TextureMapperPaintOptions from header to implementation file.
1105 2. Add non copyable property to TextureMapperLayer.
1107 No new tests. Refactoring only.
1109 * platform/graphics/texmap/TextureMapperLayer.cpp:
1110 (TextureMapperPaintOptions):
1111 (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
1113 * platform/graphics/texmap/TextureMapperLayer.h:
1115 (TextureMapperLayer):
1117 2012-12-27 Yury Semikhatsky <yurys@chromium.org>
1119 Unreviewed. Use real worker in heap profiler instead of the fake one
1120 (was accidentally switched to the fake worker).
1122 * inspector/front-end/HeapSnapshotProxy.js:
1123 (WebInspector.HeapSnapshotWorker):
1125 2012-12-27 Vsevolod Vlasov <vsevik@chromium.org>
1127 Web Inspector: [Regression] Can not set breakpoints in scripts loaded with source map.
1128 https://bugs.webkit.org/show_bug.cgi?id=105801
1130 Reviewed by Alexander Pavlov.
1132 ResourceScriptMapping now pushes itself to script's source mappings in addScript method.
1133 Binding script to uiSourceCode loaded later is only triggering updateLocations() now.
1135 * inspector/front-end/ResourceScriptMapping.js:
1136 (WebInspector.ResourceScriptMapping.prototype.addScript):
1137 (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
1138 * inspector/front-end/Script.js:
1139 (WebInspector.Script.prototype.disableSourceMapping):
1140 (WebInspector.Script.prototype.enableSourceMapping):
1141 (WebInspector.Script.prototype.pushSourceMapping):
1142 (WebInspector.Script.prototype.popSourceMapping):
1143 (WebInspector.Script.prototype.updateLocations):
1145 2012-12-27 Yury Semikhatsky <yurys@chromium.org>
1147 Web Inspector: remove support for legacy heap graph node format
1148 https://bugs.webkit.org/show_bug.cgi?id=105802
1150 Reviewed by Pavel Feldman.
1152 Removed support for old heap graph node format: we now always store edge count
1153 in each node instead of the first edge index.
1155 * inspector/front-end/HeapSnapshot.js:
1156 (WebInspector.HeapSnapshot.prototype._buildEdgeIndexes):
1158 2012-12-27 Yury Semikhatsky <yurys@chromium.org>
1160 Web Inspector: move js heap snapshot preprocessing to JSHeapSnapshot
1161 https://bugs.webkit.org/show_bug.cgi?id=105798
1163 Reviewed by Pavel Feldman.
1165 HeapSnapshot.js refactorings:
1166 - moved _markInvisibleEdges implementation into JSHeapSnapshot
1167 - moved _calculateFlags implementation into JSHeapSnapshot
1168 - moved _flags array into JSHeapSnapshot
1169 - instead of returning node flags as a field on each node, requesting
1170 snapshot node flag constants from the heap snapshot worker and then
1171 checking for the flags in HeapSnapshotGridNodes now return two optional
1172 boolean fields on each node: canBeQueried and detachedDOMTreeNode
1173 - removed unused propertyAccessor property from serialized heap node
1174 - moved node and edge serialization from providers to the node and edge
1175 classes, js specific fields are serialized only for JSHeapSnapshotNode
1176 - renamed first() to rewind() on providers and iterators
1178 * inspector/front-end/HeapSnapshot.js:
1179 (WebInspector.HeapSnapshotEdge.prototype.serialize):
1180 (WebInspector.HeapSnapshotEdgeIterator.prototype.rewind):
1181 (WebInspector.HeapSnapshotRetainerEdge.prototype.serialize):
1182 (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.rewind):
1183 (WebInspector.HeapSnapshotNode.prototype.isUserObject):
1184 (WebInspector.HeapSnapshotNode.prototype.serialize):
1185 (WebInspector.HeapSnapshotNodeIterator.prototype.rewind):
1186 (WebInspector.HeapSnapshot.prototype._init):
1187 (WebInspector.HeapSnapshot.prototype._buildAggregates):
1188 (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
1189 (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
1190 (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
1191 (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
1192 (WebInspector.HeapSnapshot.prototype._calculateFlags):
1193 (WebInspector.HeapSnapshot.prototype.userObjectsMapAndFlag):
1194 (WebInspector.HeapSnapshot.prototype.):
1195 (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
1196 (WebInspector.HeapSnapshot.prototype.updateStaticData):
1197 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
1198 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.rewind):
1199 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.isEmpty):
1200 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeItemsRange):
1201 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
1202 * inspector/front-end/HeapSnapshotGridNodes.js:
1203 (WebInspector.HeapSnapshotGenericObjectNode):
1204 (WebInspector.HeapSnapshotObjectNode):
1205 * inspector/front-end/HeapSnapshotProxy.js:
1206 * inspector/front-end/JSHeapSnapshot.js:
1207 (WebInspector.JSHeapSnapshot):
1208 (WebInspector.JSHeapSnapshot.prototype._markInvisibleEdges):
1209 (WebInspector.JSHeapSnapshot.prototype._calculateFlags):
1210 (WebInspector.JSHeapSnapshot.prototype.userObjectsMapAndFlag):
1211 (WebInspector.JSHeapSnapshot.prototype._flagsOfNode):
1212 (WebInspector.JSHeapSnapshot.prototype._markDetachedDOMTreeNodes):
1213 (WebInspector.JSHeapSnapshot.prototype._markQueriableHeapObjects):
1214 (WebInspector.JSHeapSnapshot.prototype._markPageOwnedNodes):
1215 (WebInspector.JSHeapSnapshotNode.prototype.isUserObject):
1216 (WebInspector.JSHeapSnapshotNode.prototype.serialize):
1218 2012-12-27 Alexander Pavlov <apavlov@chromium.org>
1220 Web Inspector: Refactor SourceMapParser to enable range-based sourcemap
1221 https://bugs.webkit.org/show_bug.cgi?id=105764
1223 Reviewed by Vsevolod Vlasov.
1225 Test: inspector/styles/range-based-mapping.html
1228 * WebCore.vcproj/WebCore.vcproj:
1229 * inspector/compile-front-end.py:
1230 * inspector/front-end/CompilerScriptMapping.js:
1231 (WebInspector.CompilerScriptMapping):
1232 (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
1233 * inspector/front-end/SourceMap.js: Copied from Source/WebCore/inspector/front-end/CompilerScriptMapping.js.
1234 (WebInspector.SourceMap):
1235 Abstract. Renamed from SourceMapParser and supports only direct (generated -> originating source) mapping via findEntry()
1236 (WebInspector.SourceMap.prototype.sources):
1237 (WebInspector.SourceMap.prototype.sourceContent):
1238 (WebInspector.SourceMap.prototype._parseMappingPayload):
1239 (WebInspector.SourceMap.prototype._parseSections):
1240 (WebInspector.SourceMap.prototype._parseMap):
1241 (WebInspector.SourceMap.prototype._isSeparator):
1242 (WebInspector.SourceMap.prototype._decodeVLQ):
1243 (WebInspector.SourceMap.prototype._canonicalizeURL):
1244 (WebInspector.SourceMap.StringCharIterator):
1245 (WebInspector.SourceMap.StringCharIterator.prototype.next):
1246 (WebInspector.SourceMap.StringCharIterator.prototype.peek):
1247 (WebInspector.SourceMap.StringCharIterator.prototype.hasNext):
1248 (WebInspector.PositionBasedSourceMap):
1249 Extends SourceMap and provides direct (compiled -> original source)
1250 and reverse (original -> compiled source) position mapping via findEntryReversed().
1251 (WebInspector.PositionBasedSourceMap.prototype.findEntry):
1252 (WebInspector.PositionBasedSourceMap.prototype.findEntryReversed):
1253 (WebInspector.PositionBasedSourceMap.prototype._parseMap):
1254 (WebInspector.RangeBasedSourceMap):
1255 Extends SourceMap and provides direct range mapping
1256 (compiled source position -> original source range) via findSourceRange().
1257 (WebInspector.RangeBasedSourceMap.MappingComparator):
1258 (WebInspector.RangeBasedSourceMap.prototype.findSourceRange):
1259 (WebInspector.RangeBasedSourceMap.prototype._rangeForStartIndex):
1260 (WebInspector.SourceRange):
1261 * inspector/front-end/WebKit.qrc:
1262 * inspector/front-end/inspector.html:
1264 2012-12-25 Andrey Adaikin <aandrey@chromium.org>
1266 Web Inspector: [Canvas] report if there is any uninstrumented canvas on a page
1267 https://bugs.webkit.org/show_bug.cgi?id=105721
1269 Reviewed by Yury Semikhatsky.
1271 Adding a method to the protocol to report if there is any uninstrumented canvas on a page.
1273 Test: inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases.html
1275 * inspector/InjectedScriptCanvasModuleSource.js:
1277 * inspector/Inspector.json:
1278 * inspector/InspectorCanvasAgent.cpp:
1279 (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
1280 (WebCore::InspectorCanvasAgent::enable):
1281 (WebCore::InspectorCanvasAgent::disable):
1282 (WebCore::InspectorCanvasAgent::hasUninstrumentedCanvases):
1284 (WebCore::InspectorCanvasAgent::captureFrame):
1285 (WebCore::InspectorCanvasAgent::startCapturing):
1286 (WebCore::InspectorCanvasAgent::stopCapturing):
1287 (WebCore::InspectorCanvasAgent::getTraceLog):
1288 (WebCore::InspectorCanvasAgent::replayTraceLog):
1289 (WebCore::InspectorCanvasAgent::ensureHasUninstrumentedCanvasesCalculated):
1290 (WebCore::InspectorCanvasAgent::checkIsEnabled):
1291 (WebCore::InspectorCanvasAgent::reset):
1292 * inspector/InspectorCanvasAgent.h:
1294 (InspectorCanvasAgent):
1295 * inspector/InspectorInstrumentation.cpp:
1297 (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1299 2012-12-27 Vsevolod Vlasov <vsevik@chromium.org>
1301 Web Inspector: Simplify script mappings by introducing DefaultScriptMapping.
1302 https://bugs.webkit.org/show_bug.cgi?id=103038
1304 Reviewed by Pavel Feldman.
1306 DefaultScriptMapping creates a uiSourceCode for each script and set itself as a mapping for the script.
1307 Script can now have a stack of (possibly disabled) mappings, allowing to try several mappings when calculating uiLocation.
1308 LiveEditSupport object is added on WebInspector to support live editing of readonly DefaultScriptMapping's uiSourceCodes.
1309 DefaultScriptMapping is now the only mapping that creates temporary uiSourceCodes.
1311 * English.lproj/localizedStrings.js:
1313 * WebCore.vcproj/WebCore.vcproj:
1314 * inspector/compile-front-end.py:
1315 * inspector/front-end/BreakpointManager.js:
1316 (WebInspector.BreakpointManager):
1317 (WebInspector.BreakpointManager.sourceFileId):
1318 (WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
1319 * inspector/front-end/CompilerScriptMapping.js:
1320 (WebInspector.CompilerScriptMapping):
1321 (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
1322 (WebInspector.CompilerScriptMapping.prototype.uiLocationToRawLocation):
1323 (WebInspector.CompilerScriptMapping.prototype._reset):
1324 * inspector/front-end/DebuggerModel.js:
1325 (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1326 * inspector/front-end/DebuggerScriptMapping.js:
1327 (WebInspector.DebuggerScriptMapping):
1328 * inspector/front-end/DefaultScriptMapping.js: Added.
1329 * inspector/front-end/LiveEditSupport.js: Added.
1330 * inspector/front-end/ResourceScriptMapping.js:
1331 (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
1332 (WebInspector.ResourceScriptMapping.prototype.addScript):
1333 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
1334 (WebInspector.ResourceScriptMapping.prototype._hasMergedToVM):
1335 (WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVM):
1336 (WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
1337 (WebInspector.ResourceScriptMapping.prototype._scriptsForUISourceCode):
1338 (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
1339 (WebInspector.ResourceScriptMapping.prototype._reset):
1340 * inspector/front-end/Script.js:
1341 (WebInspector.Script):
1342 (WebInspector.Script.prototype.):
1343 (WebInspector.Script.prototype.editSource):
1344 (WebInspector.Script.prototype.setIsDynamicScript):
1345 (WebInspector.Script.prototype.isDynamicScript):
1346 (WebInspector.Script.prototype.rawLocationToUILocation):
1347 (WebInspector.Script.prototype._enabledSourceMappings):
1348 (WebInspector.Script.prototype._sourceMappingsDiffer):
1349 (WebInspector.Script.prototype.disableSourceMapping):
1350 (WebInspector.Script.prototype.enableSourceMapping):
1351 (WebInspector.Script.prototype.pushSourceMapping):
1352 (WebInspector.Script.prototype.popSourceMapping):
1353 (WebInspector.Script.prototype._updateLocations):
1354 (WebInspector.Script.prototype.createLiveLocation):
1355 * inspector/front-end/ScriptSnippetModel.js:
1356 (WebInspector.ScriptSnippetModel.prototype._projectWillReset):
1357 * inspector/front-end/ScriptsPanel.js:
1358 (WebInspector.ScriptsPanel.prototype._addUISourceCode):
1359 (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
1360 (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1361 * inspector/front-end/WebKit.qrc:
1362 * inspector/front-end/Workspace.js:
1363 (WebInspector.Workspace.prototype.addTemporaryUISourceCode):
1364 * inspector/front-end/inspector.html:
1365 * inspector/front-end/inspector.js:
1367 2012-12-27 Eugene Klyuchnikov <eustas@chromium.org>
1369 Web Inspector: console.profileEnd() crashes if called without arguments
1370 https://bugs.webkit.org/show_bug.cgi?id=105759
1372 Reviewed by Vsevolod Vlasov.
1374 Test: inspector/profiler/cpu-profiler-parameterless-profile-end-crash.html
1376 API allows to finish profile without specifying its name.
1377 Profiler tracks profiles stack and finishes outermost profile.
1378 Finished profile title will be used instead of user-specified one.
1380 * bindings/v8/ScriptProfiler.cpp:
1381 (WebCore::ScriptProfiler::stop): Use title provided by profiler.
1383 2012-12-26 No'am Rosenthal <noam@webkit.org>
1385 [Texmap] Instead of having multiple shaders sources with lots of duplication, we should have one shader source with MACRO variants
1386 https://bugs.webkit.org/show_bug.cgi?id=104815
1388 Reviewed by Kenneth Rohde Christiansen.
1390 Created templates for the vertex and fragment shaders, and added some MACROs in
1391 TextureMapperShaderManager to allow GLSL precompiler-based configuration.
1393 The template follows a pattern where the main function in the shader calls
1394 applyFooBarIfNeeded(), while applyFooBar() is implemented. The Macros prepended to the template define whether applyIfNeeded resolves to the real function or to a noop.
1396 In addition, made some small changes to the filter shaders so that they can use the same code as the normal shaders.
1398 Covered by existing pixel/ref tests when run on Qt/EFL/GTK.
1400 * platform/graphics/texmap/TextureMapperGL.cpp:
1401 (WebCore::TextureMapperGL::drawTexture):
1402 (WebCore::TextureMapperGL::drawSolidColor):
1403 (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
1404 (WebCore::optionsForFilterType):
1406 (WebCore::getPassesRequiredForFilter):
1407 (WebCore::prepareFilterProgram):
1408 (WebCore::TextureMapperGL::drawFiltered):
1409 (WebCore::BitmapTextureGL::applyFilters):
1410 Always draw using the drawQuad function, and use the new TextureMapperShaderManager::Options mask instead of the old ShaderKey.
1412 * platform/graphics/texmap/TextureMapperShaderManager.cpp:
1414 (WebCore::getShaderSpec):
1415 (WebCore::TextureMapperShaderManager::getShaderProgram):
1416 * platform/graphics/texmap/TextureMapperShaderManager.h:
1417 (TextureMapperShaderProgram):
1418 (TextureMapperShaderManager):
1420 2012-12-26 Huang Dongsung <luxtella@company100.net>
1422 [TexMap] A Minor optimization of GraphicsLayerTransform.
1423 https://bugs.webkit.org/show_bug.cgi?id=105758
1425 Reviewed by Noam Rosenthal.
1427 Only multiply the transformation matrices if the paramaters are actually
1430 This optimizes the code path called from flushCompositingStateForThisLayerOnly(),
1431 and potentially setAnimatedTransform().
1433 No new tests. Refactoring only.
1435 * platform/graphics/GraphicsLayerTransform.cpp:
1436 (WebCore::GraphicsLayerTransform::setPosition):
1437 (WebCore::GraphicsLayerTransform::setSize):
1438 (WebCore::GraphicsLayerTransform::setAnchorPoint):
1439 (WebCore::GraphicsLayerTransform::setFlattening):
1440 (WebCore::GraphicsLayerTransform::setLocalTransform):
1441 (WebCore::GraphicsLayerTransform::setChildrenTransform):
1443 2012-12-26 Huang Dongsung <luxtella@company100.net>
1445 [TexMap] Remove unused members and methods in TextureMapperLayer.
1446 https://bugs.webkit.org/show_bug.cgi?id=105755
1448 Reviewed by Noam Rosenthal.
1450 No new tests. Refactoring only.
1452 * platform/graphics/texmap/TextureMapperLayer.h:
1453 (TextureMapperLayer):
1455 (WebCore::TextureMapperLayer::State::State):
1457 2012-12-26 Andreas Kling <akling@apple.com>
1459 [Mac] MemoryPressureHandler: Occasional crashes in uninstall() when responding to memory pressure signal.
1460 <http://webkit.org/b/105772>
1462 Reviewed by Stephanie Lewis.
1464 We can't synchronously dereference _cache_event_source in uninstall() just because m_installed
1465 is true -- the block that initializes _cache_event_source is asynchronous and may not have executed.
1466 Fix this by performing the uninstallation asynchronously on the main queue as well.
1468 * platform/mac/MemoryPressureHandlerMac.mm:
1469 (WebCore::MemoryPressureHandler::uninstall):
1471 2012-12-26 Sheriff Bot <webkit.review.bot@gmail.com>
1473 Unreviewed, rolling out r137905.
1474 http://trac.webkit.org/changeset/137905
1475 https://bugs.webkit.org/show_bug.cgi?id=105765
1477 Popover does not disappear when hovering another identifier in
1478 sources panel. (Requested by vsevik on #webkit).
1480 * inspector/front-end/Popover.js:
1481 (WebInspector.Popover.prototype._innerShow):
1482 * inspector/front-end/popover.css:
1485 2012-12-26 Eugene Klyuchnikov <eustas@chromium.org>
1487 Web Inspector: [Resources] Table lose focus (selection) after deleting cookie.
1488 https://bugs.webkit.org/show_bug.cgi?id=105716
1490 Reviewed by Yury Semikhatsky.
1492 This makes deletion of a set of cookies (using keyboard) painful.
1494 * inspector/front-end/CookieItemsView.js: Call method instead of getter.
1495 * inspector/front-end/CookiesTable.js: Remember and use next selected
1498 2012-12-26 Yury Semikhatsky <yurys@chromium.org>
1500 Web Inspector: extract JS heap profiler specifics into JSHeapSnapshot.js
1501 https://bugs.webkit.org/show_bug.cgi?id=105768
1503 Reviewed by Pavel Feldman.
1505 Inroduced JSHeapSnapshot, JSHeapSnapshotNode, JSHeapSnapshotEdge and JSHeapSnapshotRetainerEdge which
1506 should encapsulate logic specific to JS-heap.
1507 No behavioral changes, covered with existing heap profiler tests.
1510 * WebCore.vcproj/WebCore.vcproj:
1511 * inspector/compile-front-end.py:
1512 * inspector/front-end/HeapSnapshot.js:
1513 (WebInspector.HeapSnapshotEdge.prototype.hasStringName):
1514 (WebInspector.HeapSnapshotEdge.prototype.name):
1515 (WebInspector.HeapSnapshotEdge.prototype.node):
1516 (WebInspector.HeapSnapshotEdge.prototype.toString):
1517 (WebInspector.HeapSnapshotRetainerEdge.prototype._node):
1518 (WebInspector.HeapSnapshotRetainerEdge.prototype._edge):
1519 (WebInspector.HeapSnapshotNode.prototype.className):
1520 (WebInspector.HeapSnapshotNode.prototype.classIndex):
1521 (WebInspector.HeapSnapshotNode.prototype.edges):
1522 (WebInspector.HeapSnapshotNode.prototype.id):
1523 (WebInspector.HeapSnapshotNode.prototype.retainers):
1524 (WebInspector.HeapSnapshot.prototype.createNode):
1525 (WebInspector.HeapSnapshot.prototype.createEdge):
1526 (WebInspector.HeapSnapshot.prototype.createRetainingEdge):
1527 (WebInspector.HeapSnapshot.prototype.rootNode):
1528 (WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
1529 (WebInspector.HeapSnapshot.prototype._buildAggregates):
1530 (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
1531 (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
1532 (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
1533 (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
1534 (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
1535 (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
1536 (WebInspector.HeapSnapshotNodesProvider.prototype.nodePosition):
1537 * inspector/front-end/HeapSnapshotLoader.js:
1538 (WebInspector.HeapSnapshotLoader.prototype.buildSnapshot):
1539 * inspector/front-end/HeapSnapshotProxy.js:
1540 (WebInspector.HeapSnapshotWorker):
1541 * inspector/front-end/HeapSnapshotWorker.js:
1542 * inspector/front-end/JSHeapSnapshot.js: Added.
1543 (WebInspector.JSHeapSnapshot):
1544 (WebInspector.JSHeapSnapshot.prototype.createNode):
1545 (WebInspector.JSHeapSnapshot.prototype.createEdge):
1546 (WebInspector.JSHeapSnapshot.prototype.createRetainingEdge):
1547 (WebInspector.JSHeapSnapshotNode):
1548 (WebInspector.JSHeapSnapshotNode.prototype.canBeQueried):
1549 (WebInspector.JSHeapSnapshotNode.prototype.isPageObject):
1550 (WebInspector.JSHeapSnapshotNode.prototype.distanceToWindow):
1551 (WebInspector.JSHeapSnapshotNode.prototype.className):
1552 (WebInspector.JSHeapSnapshotNode.prototype.classIndex):
1553 (WebInspector.JSHeapSnapshotNode.prototype.id):
1554 (WebInspector.JSHeapSnapshotNode.prototype.isHidden):
1555 (WebInspector.JSHeapSnapshotNode.prototype.isNative):
1556 (WebInspector.JSHeapSnapshotNode.prototype.isSynthetic):
1557 (WebInspector.JSHeapSnapshotNode.prototype.isWindow):
1558 (WebInspector.JSHeapSnapshotNode.prototype.isDetachedDOMTreesRoot):
1559 (WebInspector.JSHeapSnapshotNode.prototype.isDetachedDOMTree):
1560 (WebInspector.JSHeapSnapshotEdge):
1561 (WebInspector.JSHeapSnapshotEdge.prototype.clone):
1562 (WebInspector.JSHeapSnapshotEdge.prototype.hasStringName):
1563 (WebInspector.JSHeapSnapshotEdge.prototype.isElement):
1564 (WebInspector.JSHeapSnapshotEdge.prototype.isHidden):
1565 (WebInspector.JSHeapSnapshotEdge.prototype.isWeak):
1566 (WebInspector.JSHeapSnapshotEdge.prototype.isInternal):
1567 (WebInspector.JSHeapSnapshotEdge.prototype.isInvisible):
1568 (WebInspector.JSHeapSnapshotEdge.prototype.isShortcut):
1569 (WebInspector.JSHeapSnapshotEdge.prototype.name):
1570 (WebInspector.JSHeapSnapshotEdge.prototype.toString):
1571 (WebInspector.JSHeapSnapshotEdge.prototype._hasStringName):
1572 (WebInspector.JSHeapSnapshotEdge.prototype._name):
1573 (WebInspector.JSHeapSnapshotEdge.prototype._nameOrIndex):
1574 (WebInspector.JSHeapSnapshotEdge.prototype._type):
1575 (WebInspector.JSHeapSnapshotRetainerEdge):
1576 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.clone):
1577 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isElement):
1578 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isHidden):
1579 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isInternal):
1580 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isInvisible):
1581 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isShortcut):
1582 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isWeak):
1583 * inspector/front-end/ProfilesPanel.js:
1584 * inspector/front-end/WebKit.qrc:
1586 2012-12-26 Patrick Gansterer <paroga@webkit.org>
1588 [WIN] Build fix for !USE(CFNETWORK) after r138413.
1590 * platform/network/NetworkStorageSession.h:
1593 2012-12-26 Yury Semikhatsky <yurys@chromium.org>
1595 Web Inspector: prepare HeapSnapshot.js for use with native heap snapshot
1596 https://bugs.webkit.org/show_bug.cgi?id=105763
1598 Reviewed by Alexander Pavlov.
1600 HeapSnapshot.js now expects root node to be either the first or the last (real) one
1601 in the list of all nodes.
1603 * inspector/HeapGraphSerializer.cpp:
1605 (WebCore::HeapGraphSerializer::serialize): reordered node and edge fields so that the go in
1606 the same order as in the JS heap snapshot.
1607 * inspector/front-end/HeapSnapshot.js:
1608 (WebInspector.HeapSnapshot.prototype._buildAggregates):
1609 (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
1610 * inspector/front-end/NativeHeapGraph.js:
1611 (WebInspector.NativeHeapGraph):
1612 (WebInspector.NativeHeapGraph.prototype.root): now there is explicit root node which is the last
1613 one in the list, use it.
1614 (WebInspector.NativeHeapGraph.prototype._calculateNodeEdgeIndexes):
1615 (WebInspector.NativeHeapGraph.prototype._addDummyNode): fixed dummy node first edge index.
1616 (WebInspector.NativeHeapGraph.Edge.prototype.target):
1617 (WebInspector.NativeHeapGraph.Node.prototype.referencedNodes):
1618 * inspector/front-end/NativeMemorySnapshotView.js:
1619 (WebInspector.NativeSnapshotNode.prototype._addChildrenFromGraph): switched to use of the root node
1620 (WebInspector.NativeHeapGraphDataGridRoot.prototype._populate):
1622 2012-12-26 Pan Deng <pan.deng@intel.com>
1624 [Web Inspector]Remove Preview and Response tab from network panel in case websocket.
1625 https://bugs.webkit.org/show_bug.cgi?id=105754
1627 Reviewed by Pavel Feldman.
1629 Network item views for websocket is not consistent before/after receiving a frame.
1630 This change keeps Headers, Frames and Cookies tab for websocket.
1634 * inspector/front-end/NetworkItemView.js:
1635 (WebInspector.NetworkItemView):
1637 2012-12-25 John Griggs <jgriggs@rim.com>
1639 [BlackBerry] Media controls are drawn on top of one another for media with unknown duration.
1640 https://bugs.webkit.org/show_bug.cgi?id=105747
1642 Reviewed by George Staikos.
1644 No need to reposition controls when there is no timeline element, this mispositions them in the new design.
1646 * platform/blackberry/RenderThemeBlackBerry.cpp:
1647 (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
1649 2012-12-25 Alexander Pavlov <apavlov@chromium.org>
1651 Web Inspector: Crash when modifying a rule that has been removed through JavaScript
1652 https://bugs.webkit.org/show_bug.cgi?id=105718
1654 Reviewed by Yury Semikhatsky.
1656 CSSStyleRules should be stored by RefPtr's to avoid using stale pointers to deleted instances.
1658 Test: inspector/styles/removed-rule-crash.html
1660 * inspector/InspectorStyleSheet.cpp:
1661 (WebCore::InspectorStyleSheet::ruleForId):
1662 (WebCore::InspectorStyleSheet::revalidateStyle):
1663 (WebCore::InspectorStyleSheet::buildArrayForRuleList):
1664 (WebCore::InspectorStyleSheet::collectFlatRules):
1665 * inspector/InspectorStyleSheet.h:
1666 (InspectorStyleSheet):
1668 2012-12-25 Eugene Klyuchnikov <eustas@chromium.org>
1670 Web Inspector: [Console] Add "Replay XHR" context menu item for corresponding messages.
1671 https://bugs.webkit.org/show_bug.cgi?id=105714
1673 Reviewed by Pavel Feldman.
1675 Expose "request" value from console message object and use it in console
1676 context menu generator.
1678 * inspector/front-end/ConsoleMessage.js: Expose "request".
1679 * inspector/front-end/ConsoleView.js: Add "Replay XHR" menu item.
1680 * inspector/front-end/NetworkPanel.js: Fix whitespaces.
1682 2012-12-25 Alexander Pavlov <apavlov@chromium.org>
1684 Web Inspector: Make InspectorState instances per-agent, corresponding to JSON map entries in the cookie
1685 https://bugs.webkit.org/show_bug.cgi?id=105722
1687 Reviewed by Yury Semikhatsky.
1689 Inspector state cookie (in JSON format) has become a map (agent name -> "properties object")
1690 to avoid cross-agent property name clashes in a single property namespace.
1691 As such, InspectorState corresponds to a single "properties object" and is now per-agent,
1692 managed by an InspectorCompositeState (which is owned by [Worker]InspectorController).
1693 Since InspectorCompositeState maps "properties objects" by their agent names, InspectorStates are created
1694 by InspectorCompositeState in the InspectorBaseAgentInterface ctor, using the respective agent name.
1696 No new tests, no change in visible behavior.
1698 * inspector/InspectorAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
1699 * inspector/InspectorAgent.h: Ditto.
1700 * inspector/InspectorApplicationCacheAgent.cpp: Ditto.
1701 * inspector/InspectorApplicationCacheAgent.h: Ditto.
1702 * inspector/InspectorBaseAgent.cpp: Ditto.
1703 (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
1704 Create InspectorState via InspectorCompositeState::createAgentState(agentName).
1705 * inspector/InspectorBaseAgent.h: Pass InspectorCompositeState rather than InspectorState.
1706 * inspector/InspectorCSSAgent.cpp: Ditto.
1707 * inspector/InspectorCSSAgent.h: Ditto.
1708 * inspector/InspectorCanvasAgent.cpp: Ditto.
1709 * inspector/InspectorCanvasAgent.h: Ditto.
1710 * inspector/InspectorConsoleAgent.cpp: Ditto.
1711 * inspector/InspectorConsoleAgent.h: Ditto.
1712 * inspector/InspectorController.cpp: Use InspectorCompositeState rather than InspectorState.
1713 * inspector/InspectorController.h: Ditto.
1714 * inspector/InspectorDOMAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
1715 (WebCore::InspectorDOMAgent::InspectorDOMAgent): Ditto.
1716 * inspector/InspectorDOMAgent.h: Ditto.
1717 * inspector/InspectorDOMDebuggerAgent.cpp: Ditto.
1718 * inspector/InspectorDOMDebuggerAgent.h: Ditto.
1719 * inspector/InspectorDOMStorageAgent.cpp: Ditto.
1720 * inspector/InspectorDOMStorageAgent.h: Ditto.
1721 * inspector/InspectorDatabaseAgent.cpp: Ditto.
1722 * inspector/InspectorDatabaseAgent.h: Ditto.
1723 * inspector/InspectorDebuggerAgent.cpp: Ditto.
1724 * inspector/InspectorDebuggerAgent.h: Ditto.
1725 * inspector/InspectorFileSystemAgent.cpp: Ditto.
1726 * inspector/InspectorFileSystemAgent.h: Ditto.
1727 * inspector/InspectorIndexedDBAgent.cpp: Ditto.
1728 * inspector/InspectorIndexedDBAgent.h: Ditto.
1729 * inspector/InspectorInputAgent.cpp: Ditto.
1730 * inspector/InspectorInputAgent.h: Ditto.
1731 * inspector/InspectorLayerTreeAgent.cpp: Ditto.
1732 * inspector/InspectorLayerTreeAgent.h: Ditto.
1733 * inspector/InspectorMemoryAgent.cpp: Ditto.
1734 * inspector/InspectorMemoryAgent.h: Ditto.
1735 * inspector/InspectorPageAgent.cpp: Ditto.
1736 * inspector/InspectorPageAgent.h: Ditto.
1737 * inspector/InspectorProfilerAgent.cpp: Ditto.
1738 * inspector/InspectorProfilerAgent.h: Ditto.
1739 * inspector/InspectorResourceAgent.cpp: Ditto.
1740 * inspector/InspectorResourceAgent.h: Ditto.
1741 * inspector/InspectorRuntimeAgent.cpp: Ditto.
1742 * inspector/InspectorRuntimeAgent.h: Ditto.
1743 * inspector/InspectorState.cpp: Introduce InspectorCompositeState, refactor.
1744 (WebCore::InspectorState::updateCookie): Delegates to the owning InspectorCompositeState instance.
1745 (WebCore::InspectorState::setFromCookie): Gets called from InspectorCompositeState::loadFromCookie().
1746 (WebCore::InspectorState::remove): Don't forget to update the cookie.
1747 (WebCore::InspectorCompositeState::createAgentState): Creates an InspectorState instance for a named agent.
1748 (WebCore::InspectorCompositeState::loadFromCookie): Restores InspectorStates from a cookie.
1749 (WebCore::InspectorCompositeState::inspectorStateUpdated): Delegate invoked from InspectorState::updateCookie().
1750 * inspector/InspectorState.h:
1751 (InspectorStateUpdateListener): InspectorCompositeState API exposed to InspectorState.
1752 * inspector/InspectorTimelineAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
1753 * inspector/InspectorTimelineAgent.h: Ditto.
1754 * inspector/InspectorWorkerAgent.cpp: Ditto.
1755 * inspector/InspectorWorkerAgent.h: Ditto.
1756 * inspector/PageConsoleAgent.cpp: Ditto.
1757 * inspector/PageConsoleAgent.h: Ditto.
1758 * inspector/PageDebuggerAgent.cpp: Ditto.
1759 * inspector/PageDebuggerAgent.h: Ditto.
1760 * inspector/PageRuntimeAgent.cpp: Ditto.
1761 * inspector/PageRuntimeAgent.h: Ditto.
1762 * inspector/WorkerConsoleAgent.cpp: Ditto.
1763 * inspector/WorkerConsoleAgent.h: Ditto.
1764 * inspector/WorkerDebuggerAgent.cpp: Ditto.
1765 * inspector/WorkerDebuggerAgent.h: Ditto.
1766 * inspector/WorkerInspectorController.cpp: Ditto.
1767 * inspector/WorkerInspectorController.h: Ditto.
1768 * inspector/WorkerRuntimeAgent.cpp: Ditto.
1769 * inspector/WorkerRuntimeAgent.h: Ditto.
1771 2012-12-24 Yury Semikhatsky <yurys@chromium.org>
1773 Memory instrumentation: provide a way to mark a node as a root
1774 https://bugs.webkit.org/show_bug.cgi?id=105737
1776 Reviewed by Alexander Pavlov.
1778 Extended HeapGraphSerializer to add a fake root node with edges to all
1779 real instrumentation roots.
1781 * inspector/HeapGraphSerializer.cpp:
1782 (WebCore::HeapGraphSerializer::reportNode):
1783 (WebCore::HeapGraphSerializer::addRootNode):
1785 * inspector/HeapGraphSerializer.h:
1786 (HeapGraphSerializer):
1788 2012-12-24 Yury Semikhatsky <yurys@chromium.org>
1790 Web Inspector: add message listener only in case of standalone test-runner.html
1791 https://bugs.webkit.org/show_bug.cgi?id=105715
1793 Reviewed by Pavel Feldman.
1795 Tell InspectorFrontendAPI that it is launched by standalone test runner so that it
1796 can decide whether message event listener should be added.
1798 * inspector/front-end/InspectorFrontendAPI.js:
1799 * inspector/front-end/test-runner.html:
1801 2012-12-24 Ilya Tikhonovsky <loislo@chromium.org>
1803 Web Inspector: Native Memory Instrumentation: propagate member type as edge type to the serialized heap graph.
1804 https://bugs.webkit.org/show_bug.cgi?id=105725
1806 Reviewed by Yury Semikhatsky.
1808 MemoryOwningType was renamed to MemberType.
1809 Source argument were removed from reportEdge, reportLeaf and other edge related methods because it is not necessary.
1810 MemberType argument was propagated from MemoryInstrumentation down to HeapGraphSerializer.
1812 * inspector/HeapGraphSerializer.cpp:
1813 (WebCore::HeapGraphEdge::HeapGraphEdge):
1815 (WebCore::HeapGraphSerializer::HeapGraphSerializer):
1816 (WebCore::HeapGraphSerializer::reportEdge):
1817 (WebCore::HeapGraphSerializer::reportLeaf):
1818 (WebCore::HeapGraphSerializer::serialize):
1819 * inspector/HeapGraphSerializer.h:
1820 (HeapGraphSerializer):
1821 * inspector/MemoryInstrumentationImpl.cpp:
1822 (WebCore::MemoryInstrumentationClientImpl::reportEdge):
1823 (WebCore::MemoryInstrumentationClientImpl::reportLeaf):
1824 * inspector/MemoryInstrumentationImpl.h:
1825 (MemoryInstrumentationClientImpl):
1827 2012-12-24 Takashi Sakamoto <tasak@google.com>
1829 ::first-letter { overflow: -webkit-paged-y } causes crash
1830 https://bugs.webkit.org/show_bug.cgi?id=105393
1832 Reviewed by Beth Dakin.
1834 Should check whether e is available or not before invoking
1835 e->hasTagName in adjustRenderStyle in StyleResolver.cpp.
1837 Test: fast/css/pseudo-element-opagedxy-crash.html
1839 * css/StyleResolver.cpp:
1840 (WebCore::StyleResolver::adjustRenderStyle):
1841 If adjustRenderStyle is invoked in pseudoStyleForElement, the given
1842 element is 0. So e is not available. However if the given style's
1843 overflowY is OPAGEDX or OPAGEDY, adjustRenderStyle doesn't check
1844 whether e is available or not before e->hasTagName.
1845 This causes a crash.
1847 2012-12-24 Alexei Filippov <alph@chromium.org>
1849 Web Inspector: add async API for passing renderer process memory stats
1850 https://bugs.webkit.org/show_bug.cgi?id=105278
1852 Reviewed by Yury Semikhatsky.
1854 On some platforms (e.g. Linux) it may take some time to collect
1855 total process memory information as it involves an IPC out of a
1856 sandboxed renderer process. So add an async way to collect the statistics.
1858 * platform/MemoryUsageSupport.cpp:
1859 (WebCore::MemoryUsageSupport::requestProcessMemorySizes):
1861 * platform/MemoryUsageSupport.h:
1862 (MemoryUsageSupport):
1863 (ProcessMemorySizesCallback):
1864 (WebCore::MemoryUsageSupport::ProcessMemorySizesCallback::~ProcessMemorySizesCallback):
1865 * platform/chromium/MemoryUsageSupportChromium.cpp:
1866 (WebCore::MemoryUsageSupport::requestProcessMemorySizes):
1868 * platform/qt/MemoryUsageSupportQt.cpp:
1869 (WebCore::MemoryUsageSupport::requestProcessMemorySizes):
1872 2012-12-24 Laszlo Gombos <l.gombos@samsung.com>
1874 Remove wtf/Platform.h includes from {c|cpp} files
1875 https://bugs.webkit.org/show_bug.cgi?id=105678
1877 Reviewed by Kentaro Hara.
1879 Remove wtf/Platform.h from the include list as it is already
1880 included in config.h.
1882 No new tests as there is no new functionality.
1884 * rendering/svg/RenderSVGRect.cpp:
1886 2012-12-24 Kentaro Hara <haraken@chromium.org>
1888 Follow up fixes for r137739
1889 https://bugs.webkit.org/show_bug.cgi?id=104982
1891 Reviewed by Ryosuke Niwa.
1893 Applied darin's comments in https://bugs.webkit.org/show_bug.cgi?id=104982#c18
1895 No tests. No change in behavior.
1897 * dom/ContainerNode.h:
1898 (WebCore::ChildNodesLazySnapshot::nextNode):
1900 2012-12-24 Tiancheng Jiang <tijiang@rim.com>
1902 Update BB10 media render theme.
1903 https://bugs.webkit.org/show_bug.cgi?id=105728
1905 Reviewed by Rob Buis.
1907 Internally reviewed by John Griggs.
1908 Use GL renderer to paint media control.
1910 * css/mediaControlsBlackBerry.css:
1911 (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
1912 * platform/blackberry/RenderThemeBlackBerry.cpp:
1913 (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
1914 (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
1916 2012-12-24 Sheriff Bot <webkit.review.bot@gmail.com>
1918 Unreviewed, rolling out r138436.
1919 http://trac.webkit.org/changeset/138436
1920 https://bugs.webkit.org/show_bug.cgi?id=105723
1922 Asserts on state restoration in debug builds (Requested by
1923 apavlov on #webkit).
1925 * inspector/InspectorAgent.cpp:
1926 (InspectorAgentState):
1927 (WebCore::InspectorAgent::enable):
1928 (WebCore::InspectorAgent::disable):
1929 (WebCore::InspectorAgent::evaluateForTestInFrontend):
1930 (WebCore::InspectorAgent::inspect):
1931 * inspector/InspectorApplicationCacheAgent.cpp:
1932 (ApplicationCacheAgentState):
1933 (WebCore::InspectorApplicationCacheAgent::restore):
1934 (WebCore::InspectorApplicationCacheAgent::enable):
1935 * inspector/InspectorCSSAgent.cpp:
1937 (WebCore::InspectorCSSAgent::restore):
1938 (WebCore::InspectorCSSAgent::enable):
1939 (WebCore::InspectorCSSAgent::disable):
1940 * inspector/InspectorCanvasAgent.cpp:
1942 (WebCore::InspectorCanvasAgent::restore):
1943 (WebCore::InspectorCanvasAgent::enable):
1944 (WebCore::InspectorCanvasAgent::disable):
1945 * inspector/InspectorController.cpp:
1946 (WebCore::InspectorController::InspectorController):
1947 * inspector/InspectorController.h:
1949 (InspectorController):
1950 * inspector/InspectorDOMStorageAgent.cpp:
1951 (DOMStorageAgentState):
1952 (WebCore::InspectorDOMStorageAgent::restore):
1953 (WebCore::InspectorDOMStorageAgent::enable):
1954 (WebCore::InspectorDOMStorageAgent::disable):
1955 * inspector/InspectorDatabaseAgent.cpp:
1956 (DatabaseAgentState):
1958 (WebCore::InspectorDatabaseAgent::enable):
1959 (WebCore::InspectorDatabaseAgent::disable):
1960 (WebCore::InspectorDatabaseAgent::restore):
1961 * inspector/InspectorDebuggerAgent.cpp:
1962 (WebCore::InspectorDebuggerAgent::disable):
1963 * inspector/InspectorFileSystemAgent.cpp:
1964 (FileSystemAgentState):
1966 (WebCore::InspectorFileSystemAgent::enable):
1967 (WebCore::InspectorFileSystemAgent::disable):
1968 (WebCore::InspectorFileSystemAgent::clearFrontend):
1969 (WebCore::InspectorFileSystemAgent::restore):
1970 * inspector/InspectorIndexedDBAgent.cpp:
1971 (IndexedDBAgentState):
1973 (WebCore::InspectorIndexedDBAgent::restore):
1974 (WebCore::InspectorIndexedDBAgent::enable):
1975 (WebCore::InspectorIndexedDBAgent::disable):
1976 * inspector/InspectorLayerTreeAgent.cpp:
1977 (LayerTreeAgentState):
1978 (WebCore::InspectorLayerTreeAgent::restore):
1979 (WebCore::InspectorLayerTreeAgent::enable):
1980 (WebCore::InspectorLayerTreeAgent::disable):
1981 * inspector/InspectorPageAgent.cpp:
1983 (WebCore::InspectorPageAgent::restore):
1984 (WebCore::InspectorPageAgent::webViewResized):
1985 (WebCore::InspectorPageAgent::enable):
1986 (WebCore::InspectorPageAgent::disable):
1987 (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
1988 (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
1989 (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
1990 (WebCore::InspectorPageAgent::setShowPaintRects):
1991 (WebCore::InspectorPageAgent::setShowFPSCounter):
1992 (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
1993 (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
1994 (WebCore::InspectorPageAgent::applyScreenWidthOverride):
1995 (WebCore::InspectorPageAgent::applyScreenHeightOverride):
1996 (WebCore::InspectorPageAgent::didPaint):
1997 (WebCore::InspectorPageAgent::didLayout):
1998 (WebCore::InspectorPageAgent::setEmulatedMedia):
1999 (WebCore::InspectorPageAgent::applyEmulatedMedia):
2000 * inspector/InspectorResourceAgent.cpp:
2001 (ResourceAgentState):
2002 (WebCore::InspectorResourceAgent::restore):
2003 (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
2004 (WebCore::InspectorResourceAgent::enable):
2005 (WebCore::InspectorResourceAgent::disable):
2006 * inspector/InspectorState.cpp:
2007 (WebCore::InspectorState::InspectorState):
2008 (WebCore::InspectorState::loadFromCookie):
2010 (WebCore::InspectorState::mute):
2011 (WebCore::InspectorState::unmute):
2012 (WebCore::InspectorState::updateCookie):
2013 (WebCore::InspectorState::remove):
2014 * inspector/InspectorState.h:
2017 (WebCore::InspectorState::setLong):
2018 * inspector/InspectorTimelineAgent.cpp:
2019 (TimelineAgentState):
2020 (WebCore::InspectorTimelineAgent::restore):
2021 (WebCore::InspectorTimelineAgent::start):
2022 (WebCore::InspectorTimelineAgent::stop):
2023 * inspector/WorkerInspectorController.cpp:
2024 (WebCore::WorkerInspectorController::WorkerInspectorController):
2025 * inspector/WorkerInspectorController.h:
2027 (WorkerInspectorController):
2029 2012-12-24 Peter Rybin <prybin@chromium.org>
2031 Web Inspector: Keep LiveEdit API disabled when idle
2032 https://bugs.webkit.org/show_bug.cgi?id=104039
2034 Reviewed by Pavel Feldman.
2036 Guards are added to LiveEdit call
2038 * bindings/v8/ScriptDebugServer.cpp:
2039 (WebCore::ScriptDebugServer::setScriptSource):
2041 2012-12-24 Andrey Lushnikov <lushnikov@chromium.com>
2043 Web Inspector: refactor TextEditorHighlighter's highlight attributes to dense array
2044 https://bugs.webkit.org/show_bug.cgi?id=105626
2046 Reviewed by Pavel Feldman.
2048 Refactor highlight attributes from sparse array to dense array.
2050 No new tests: no behaviour changes, coverage provided by existing tests.
2052 * inspector/front-end/DefaultTextEditor.js:
2053 (WebInspector.TextEditorMainPanel.prototype._paintLine):
2054 (WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
2055 * inspector/front-end/TextEditorHighlighter.js:
2056 (WebInspector.TextEditorHighlighter.prototype._highlightLines):
2058 2012-12-21 Alexander Pavlov <apavlov@chromium.org>
2060 Web Inspector: Make use of the new InspectorState::remove() in inspector agents
2061 https://bugs.webkit.org/show_bug.cgi?id=105438
2063 Reviewed by Yury Semikhatsky.
2065 This patch introduces the following refactorings:
2066 - setting property values of InspectorState to "empty" objects has been replaced by removing them from the state;
2067 - InspectorState instance is no longer shared across agents, so that the property names can no longer clash.
2068 Instead, InspectorCompositeState creates and owns InspectorState instances for every agent;
2069 - agent-specific prefix has been stripped from most property names, where it looked synthetic.
2070 - updateCookie() is called from InspectorState::remove().
2072 No new tests, as there is no visible change in the behavior.
2074 * inspector/InspectorAgent.cpp: Agent-specific property name prefix stripped.
2075 * inspector/InspectorApplicationCacheAgent.cpp: Ditto.
2076 * inspector/InspectorCSSAgent.cpp: Ditto.
2077 * inspector/InspectorCanvasAgent.cpp: Ditto.
2078 * inspector/InspectorController.cpp: Make use of InspectorCompositeState rather than InspectorState.
2079 * inspector/InspectorController.h: Ditto.
2080 * inspector/InspectorDOMStorageAgent.cpp: Agent-specific property name prefix stripped.
2081 * inspector/InspectorDatabaseAgent.cpp: Ditto.
2082 * inspector/InspectorDebuggerAgent.cpp: Ditto.
2083 (WebCore::InspectorDebuggerAgent::disable):
2084 Use "remove" instead of setting an empty object.
2085 * inspector/InspectorFileSystemAgent.cpp: Agent-specific property name prefix stripped.
2086 * inspector/InspectorIndexedDBAgent.cpp: Ditto.
2087 * inspector/InspectorLayerTreeAgent.cpp: Ditto.
2088 * inspector/InspectorPageAgent.cpp: Ditto.
2089 (WebCore::InspectorPageAgent::disable):
2090 Use "remove" instead of setting empty values for certain properties.
2091 (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
2092 Remove unnecessary code (object is created and put into the map if none is found).
2093 * inspector/InspectorResourceAgent.cpp: Agent-specific property name prefix stripped.
2094 (WebCore::InspectorResourceAgent::disable):
2095 Use "remove" instead of setting an empty object for userAgentOverride.
2096 * inspector/InspectorState.cpp: Add InspectorCompositeState.
2097 (WebCore::InspectorState::setFromCookie): Gets invoked from InspectorCompositeState::loadFromCookie().
2098 (WebCore::InspectorState::updateCookie): Call updateCookie().
2099 (WebCore::InspectorCompositeState::createAgentState): Creates an InspectorState instance to be passed to an agent.
2100 * inspector/InspectorState.h: Add InspectorCompositeState.
2101 (WebCore::InspectorState::setLong): Fix cast.
2102 * inspector/InspectorTimelineAgent.cpp: Agent-specific property name prefix stripped.
2103 * inspector/WorkerInspectorController.cpp: Make use of InspectorCompositeState rather than InspectorState.
2104 * inspector/WorkerInspectorController.h: Ditto.
2106 2012-12-23 Dimitri Glazkov <dglazkov@chromium.org>
2108 Split fast-rejection filter logic off SelectorChecker.
2109 https://bugs.webkit.org/show_bug.cgi?id=105660
2111 The awesome Bloom filter and parent stack logic don't need to be in SelectorChecker. They nicely factor out
2112 into their own pretty thing, named thereby SelectorFilter.
2114 Reviewed by Eric Seidel.
2116 No change in functionality, covered by existing tests.
2118 * CMakeLists.txt: Added SelectorFilter to build systems.
2119 * GNUmakefile.list.am: Ditto.
2120 * Target.pri: Ditto.
2121 * WebCore.gypi: Ditto.
2122 * WebCore.xcodeproj/project.pbxproj: Ditto.
2123 * css/CSSAllInOne.cpp: Ditto.
2124 * css/RuleSet.cpp: Changed to use SelectorFilter.
2125 (WebCore::RuleData::RuleData): Ditto.
2126 * css/SelectorChecker.cpp: Ditto.
2127 * css/SelectorChecker.h: Ditto.
2129 * css/StyleResolver.cpp: Ditto.
2131 (WebCore::StyleResolver::pushParentElement): Ditto.
2132 (WebCore::StyleResolver::popParentElement): Ditto.
2133 (WebCore::StyleResolver::collectMatchingRulesForList): Ditto.
2134 * css/StyleResolver.h:
2135 (StyleResolver): Ditto.
2137 2012-12-23 Qiankun Miao <qiankun.miao@intel.com>
2139 Remove unused reference to "class LayerChromium"
2140 https://bugs.webkit.org/show_bug.cgi?id=105502
2142 Reviewed by Kentaro Hara.
2144 class LayerChromium doesn't exist any more. Just remove the unused
2147 * platform/graphics/chromium/Canvas2DLayerBridge.h:
2149 2012-12-23 Alexey Proskuryakov <ap@apple.com>
2151 <rdar://problem/12808377> Network process should respect cookie accept policy
2152 https://bugs.webkit.org/show_bug.cgi?id=105684
2154 Reviewed by Sam Weinig.
2156 Changed cookie change observer to not use platform strategies, to make it usable
2157 in NetworkProcess. startObservingCookieChanges() now just takes a callback pointer.
2160 * platform/CookiesStrategy.h:
2161 * platform/network/CookieStorage.h:
2162 * platform/network/cf/CookieStorageCFNet.cpp:
2163 (WebCore::notifyCookiesChangedOnMainThread):
2164 (WebCore::startObservingCookieChanges):
2165 * platform/network/mac/CookieStorageMac.mm:
2166 (-[WebCookieStorageObjCAdapter notifyCookiesChangedOnMainThread]):
2167 (-[WebCookieStorageObjCAdapter startListeningForCookieChangeNotificationsWithCallback:]):
2168 (WebCore::startObservingCookieChanges):
2170 2012-12-23 Tony Chang <tony@chromium.org>
2172 [Qt][Mac] Unreviewed fix the build after r138413
2173 https://bugs.webkit.org/show_bug.cgi?id=105686
2175 Don't use a temporary const reference so the compiler doesn't make a copy.
2176 An example compile error (clang):
2177 Source/WebCore/loader/CookieJar.cpp:73:67: error: copying parameter of type 'WebCore::NetworkStorageSession' invokes deleted constructor
2178 return platformStrategies()->cookiesStrategy()->cookiesForDOM(SESSION(document), document->firstPartyForCookies(), url);
2180 * loader/CookieJar.cpp:
2182 (WebCore::setCookies):
2183 (WebCore::cookiesEnabled):
2184 (WebCore::cookieRequestHeaderFieldValue):
2185 (WebCore::getRawCookies):
2186 (WebCore::deleteCookie):
2188 2012-12-22 Alexey Proskuryakov <ap@apple.com>
2190 Add a separate class for networking related storage
2191 https://bugs.webkit.org/show_bug.cgi?id=105676
2193 Reviewed by Sam Weinig.
2195 NetworkingContext combines a reference to storage (cookies and more) and data that's
2196 only meaningful when loading. This makes it very ugly to use for cookie manipulation
2197 when there is no load (e.g. for document.cookie).
2199 Adding NetworkStorageSession, which encorportes network-related sesion data, such
2200 as cookies and session HTTP credentials.
2202 For some ports, refactoring is not finished, NetworkStorageSession being a wrapper
2203 for NetworkingContext.
2206 * GNUmakefile.list.am:
2210 * WebCore.vcproj/WebCore.vcproj:
2211 * WebCore.xcodeproj/project.pbxproj:
2212 Updated for new files and functions.
2214 * platform/network/PlatformCookieJar.h:
2215 * loader/CookieJar.cpp:
2216 * platform/CookiesStrategy.h:
2217 * platform/network/cf/CookieJarCFNet.cpp:
2218 * platform/network/chromium/CookieJarChromium.cpp:
2219 * platform/network/curl/CookieJarCurl.cpp:
2220 * platform/network/mac/CookieJarMac.mm:
2221 * platform/network/qt/CookieJarQt.cpp:
2222 * platform/network/soup/CookieJarSoup.cpp:
2223 * platform/network/win/CookieJarWin.cpp:
2224 PlatformCookieJar and strategy cookie functions now take a NetworkStorageSession
2225 instead of NetworkingContext.
2226 Note that they take a const reference to support creating a temporary session
2227 wrapper for ports that just wrap a NetworkingContext.
2229 * loader/ResourceLoader.cpp:
2230 * loader/cache/CachedResource.h:
2231 * platform/network/BlobResourceHandle.cpp:
2232 * platform/network/ResourceHandle.cpp:
2233 * platform/network/ResourceHandle.h:
2234 * platform/network/ResourceHandleInternal.h:
2235 * platform/network/chromium/ResourceHandle.cpp:
2236 * platform/network/curl/ResourceHandleCurl.cpp:
2237 * platform/network/mac/ResourceHandleMac.mm:
2238 * platform/network/qt/QNetworkReplyHandler.cpp:
2239 * platform/network/soup/DNSSoup.cpp:
2240 * platform/network/soup/ResourceHandleSoup.cpp:
2241 * platform/network/win/ResourceHandleWin.cpp:
2242 ResourceHandle no longer includes unneeded NetworkingContext.h and AuthenticationClient.h.
2243 This avoids near-world rebuilds on any NetworkingContext change.
2245 * platform/network/NetworkStorageSession.h: Added.
2246 * platform/network/NetworkStorageSessionStub.cpp: Added.
2247 * platform/network/cf/NetworkStorageSessionCFNet.cpp: Added.
2248 Good new stuff. Stub version just wraps NetworkingContext for platforms that still
2249 need to finish the refactoring.
2251 * platform/network/NetworkingContext.h:
2252 The context now has a NetworkStorageSession, and doesn't expose CFNet level objects directly.
2254 * platform/network/cf/CookieStorageCFNet.cpp:
2255 * platform/network/cf/CookieStorageCFNet.h: Removed.
2256 We no longer have separate free functions to track storage, it's part of NetworkStorageSession now.
2258 * platform/network/cf/ResourceHandleCFNet.cpp: Updated to use NetworkStorageSession.
2260 * platform/network/mac/CookieStorageMac.mm: Dont include CookieStorageCFNet.h, it
2263 2012-12-22 Nico Weber <thakis@chromium.org>
2265 InlineTextBox: Remove potentially confusing "} if" pattern.
2266 https://bugs.webkit.org/show_bug.cgi?id=105499
2268 Reviewed by Ojan Vafai.
2270 It's not clear to me on first look if this is intentional or missing
2271 an "else" (and this pattern was used in just one other place in
2272 webkit, which I've removed). It turns out no else is missing here,
2273 this is checked by fast/text/justified-selection.html
2275 * rendering/InlineTextBox.cpp:
2276 (WebCore::paintTextWithShadows):
2278 2012-12-21 Jan Keromnes <janx@linux.com>
2280 Web Inspector: Update CodeMirror to stable
2281 https://bugs.webkit.org/show_bug.cgi?id=105653
2283 Reviewed by Pavel Feldman.
2285 Fixes several minor issues, including throw scroll on mac.
2287 * inspector/front-end/cm/codemirror.css:
2290 (.CodeMirror-gutter):
2292 * inspector/front-end/cm/codemirror.js:
2293 (window.CodeMirror):
2294 (window.CodeMirror.):
2295 * inspector/front-end/cm/css.js:
2297 * inspector/front-end/cm/htmlmixed.js:
2299 * inspector/front-end/cm/javascript.js:
2301 * inspector/front-end/cm/xml.js:
2303 2012-12-21 Elliott Sprehn <esprehn@chromium.org>
2305 Replace documentFragmentIsShadowRoot with isTreeScope
2306 https://bugs.webkit.org/show_bug.cgi?id=105345
2308 Reviewed by Dimitri Glazkov.
2310 We can replace documentFragmentIsShadowRoot with isTreeScope() which is
2311 trival to detect by checking treeScope()->rootNode() == this. To do this
2312 we must stop adopting ShadowRoots into the document when they're removed,
2313 which was always wrong anyway as it meant that the TreeScope of a ShadowRoot
2314 was no longer itself after it had been removed. It also meant that the
2315 children of a ShadowRoot that was removed were no longer in it's tree scope
2316 despite being descendants of it.
2318 Making this simplification allows further simplication like
2319 Node::containingShadowRoot can be made O(1) instead of O(k) where k is
2320 the depth of the node.
2322 No new tests, just refactoring.
2325 * dom/DocumentFragment.h:
2327 * dom/ElementShadow.cpp:
2328 (WebCore::ElementShadow::removeAllShadowRoots):
2330 (WebCore::Node::setTreeScope):
2331 (WebCore::Node::isTreeScope):
2335 (WebCore::Node::isShadowRoot):
2336 * dom/ShadowRoot.cpp:
2337 (WebCore::ShadowRoot::~ShadowRoot):
2341 2012-12-21 Xianzhu Wang <wangxianzhu@chromium.org>
2343 [Chromium-Android] Use harfbuzz-ng instead of harfbuzz-old on Android
2344 https://bugs.webkit.org/show_bug.cgi?id=104410
2346 Using harfbuzz-ng we can avoid many bugs of the obsolete harfbuzz-old.
2348 Reviewed by Eric Seidel.
2350 No new tests. No change of functionality. Existing tests should pass.
2352 * WebCore.gyp/WebCore.gyp: Use harfbuzz-ng on Android.
2354 2012-12-21 Joshua Bell <jsbell@chromium.org>
2356 IndexedDB: Combine openConnection and openConnectionWithVersion
2357 https://bugs.webkit.org/show_bug.cgi?id=105658
2359 Reviewed by Tony Chang.
2361 Combine the logic from these two methods. Mostly a refactor, but in the "pending calls"
2362 case the behavior is slightly altered since the version and no-version queues were
2363 previously separate, so the order changes. The new order matches the spec and FF/IE
2364 behavior, and a test is added to verify this.
2366 Chromium's webkit_unit_tests rely on a quirk to bypass the upgrade mechanism; the usage
2367 is slightly altered and made more explicit, and requires a small amount of test-only code.
2369 Test: storage/indexeddb/open-ordering.html
2371 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2372 (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create):
2373 (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
2374 (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
2375 (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
2376 (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
2377 (WebCore::IDBDatabaseBackendImpl::openConnection):
2378 (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
2379 (WebCore::IDBDatabaseBackendImpl::close):
2380 * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2381 (IDBDatabaseBackendImpl):
2382 * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
2383 (WebCore::IDBFactoryBackendImpl::open):
2385 2012-12-21 Brady Eidson <beidson@apple.com>
2387 Update localizable strings as a followup to http://trac.webkit.org/changeset/138387
2388 https://bugs.webkit.org/show_bug.cgi?id=105592
2390 Rubberstamped by Alexey Proskuryakov.
2392 * English.lproj/Localizable.strings: Added a new error string.
2394 2012-12-21 Kenneth Russell <kbr@google.com>
2396 Expose ArrayBufferView constructor on DOMWindow
2397 https://bugs.webkit.org/show_bug.cgi?id=105605
2399 Reviewed by Sam Weinig.
2401 Update IDL to track recent spec change exposing ArrayBufferView
2402 constructor on DOMWindow for instanceof checks. There are no
2403 constructors exposed in the Web IDL, however, so calling it via
2404 operator new throws TypeError.
2406 Test (updated): fast/canvas/webgl/array-unit-tests.html
2408 * html/canvas/ArrayBufferView.idl:
2409 Removed OmitConstructor attribute.
2410 * page/DOMWindow.idl:
2411 Exposed ArrayBufferView constructor function attribute.
2413 2012-12-21 Brady Eidson <beidson@apple.com>
2415 Remove ResourceLoadScheduler::addMainResourceLoad and all related code
2416 <rdar://problem/12925275> and https://bugs.webkit.org/show_bug.cgi?id=105644
2418 Reviewed by Alexey Proskuryakov.
2420 Now that main resources loads are scheduled (bug 49246) we don't need this stuff anymore.
2422 No new tests (No change in behavior).
2425 * loader/ResourceLoadScheduler.cpp:
2426 * loader/ResourceLoadScheduler.h:
2428 2012-12-21 Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
2430 [WebGL][EFL][Qt] Transparent canvas composited non-transparent
2431 https://bugs.webkit.org/show_bug.cgi?id=105325
2433 Reviewed by Kenneth Rohde Christiansen.
2435 glXPixmap is always created without alpha channel because 1st GLXFBConfig
2436 in a list doesn't support transparency.
2437 Use the same code that is used to find GLXFBConfig with alpha for window
2438 creation in GraphicsSurfacePrivate::createPixmap(). Code is moved to
2439 findFBConfigWithAlpha() method.
2441 Covered by fast/canvas/webgl/webgl-composite-modes-repaint.html
2443 * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
2444 (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2445 (WebCore::GraphicsSurfacePrivate::createPixmap):
2446 (WebCore::GraphicsSurfacePrivate::findFBConfigWithAlpha):
2447 (GraphicsSurfacePrivate):
2449 2012-12-21 Dimitri Glazkov <dglazkov@chromium.org>
2451 Unreviewed, rolling out r138376.
2452 http://trac.webkit.org/changeset/138376
2453 https://bugs.webkit.org/show_bug.cgi?id=104995
2455 Broke a bunch of tests on mac.
2457 * dom/ShadowRoot.cpp:
2458 (WebCore::ShadowRoot::nodeName):
2463 2012-12-21 Sheriff Bot <webkit.review.bot@gmail.com>
2465 Unreviewed, rolling out r138237.
2466 http://trac.webkit.org/changeset/138237
2467 https://bugs.webkit.org/show_bug.cgi?id=105637
2469 Regresses web inspector's editor performance. (Requested by
2470 pfeldman on #webkit).
2472 * inspector/front-end/DefaultTextEditor.js:
2473 (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
2474 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2475 (WebInspector.TextEditorMainChunk.prototype.expand):
2477 2012-12-21 Ilya Tikhonovsky <loislo@chromium.org>
2479 Various tests in media/track are intermittently crashing.
2480 https://bugs.webkit.org/show_bug.cgi?id=105606
2482 Reviewed by Eric Seidel.
2484 The root of problem is the fact that we update tracks even if we are in process of deleting the document.
2485 Media element can stop doing that if the document informed the element via ::stop that it is going away.
2487 * html/HTMLMediaElement.cpp:
2488 (WebCore::HTMLMediaElement::endIgnoringTrackDisplayUpdateRequests):
2490 2012-12-21 Alexei Svitkine <asvitkine@chromium.org>
2492 [Chromium/Mac] Don't send an onclick event from a ctrl-click
2493 https://bugs.webkit.org/show_bug.cgi?id=105554
2495 Reviewed by Dimitri Glazkov.
2497 Don't send the onclick event on a control click event (which
2498 triggers the context menu on the Mac). This matches the
2499 behaviour of the Apple Mac port, although the Apple port
2500 does this by checking whether the context menu is visible
2501 in WebPage::mouseEvent().
2503 This is a fix for http://crbug.com/146143
2505 Test: fast/events/controlclick-no-onclick.html
2507 * page/EventHandler.cpp:
2508 (WebCore::EventHandler::handleMouseReleaseEvent):
2510 2012-12-21 Shinya Kawanaka <shinyak@chromium.org>
2512 Implement ShadowRoot::elementFromPoint
2513 https://bugs.webkit.org/show_bug.cgi?id=104579
2515 Reviewed by Dimitri Glazkov.
2517 Move elementFromPoint and nodeFromPoint to TreeScope from Document so that ShadowRoot can call it.
2518 In the elementFromPoint(), the element taken by nodeFromPoint is not in the same tree scope, its ancestor is returned.
2520 Since nodeFromPoint does not return the shadow ancestor of the result node, I don't make it TreeScope method.
2522 Test: fast/dom/shadow/elementfrompoint.html
2525 (WebCore::Document::elementFromPoint): Code is shared with TreeScope.
2526 (WebCore::Document::caretRangeFromPoint):
2527 * dom/ShadowRoot.idl:
2528 * dom/TreeScope.cpp:
2529 (WebCore::nodeFromPoint): Moved from Document.cpp
2531 (WebCore::TreeScope::elementFromPoint):
2536 2012-12-21 Kenneth Rohde Christiansen <kenneth@webkit.org>
2538 [EFL][WK2] Never create WebCore scrollbars for EFL/WK2
2539 https://bugs.webkit.org/show_bug.cgi?id=105632
2541 Reviewed by Antonio Gomes.
2543 For delegates scroll we must not use the scroll animator,
2544 or similar as those depends on creating WebCore scrollbars.
2546 Handle the wheel event manually for delegates scrolling.
2548 * page/FrameView.cpp:
2549 (WebCore::FrameView::wheelEvent):
2551 2012-12-21 Shinya Kawanaka <shinyak@chromium.org>
2553 [Shadow DOM]: ShadowRoot wrong nodeName attribute
2554 https://bugs.webkit.org/show_bug.cgi?id=104995
2556 Reviewed by Dimitri Glazkov.
2558 According to the Shadow DOM spec, ShadowRoot.nodeName should return '#document-fragment' instead of '#shadow-root'.
2559 We remove ShadowRoot::nodeName.
2561 No new tests, covered by existing tests.
2563 * dom/ShadowRoot.cpp:
2567 2012-12-21 Mihai Parparita <mihaip@chromium.org>
2569 Slow performance with <select> with many options and size >= 2
2570 https://bugs.webkit.org/show_bug.cgi?id=105483
2572 Reviewed by Eric Seidel.
2574 Avoids creating renderers for children of list <select>s that are not
2575 <option> or <optgroup>. This is both more correct (no other browser
2576 displays them) and provides a performance benefit (direct text children
2577 of <select> would have O(N^2) behavior; this usually happened due to
2578 whitespace between <option>...</option> tags).
2580 Test: fast/forms/menulist-no-renderer-for-unexpected-children.html
2582 * html/HTMLSelectElement.cpp:
2583 (WebCore::HTMLSelectElement::childShouldCreateRenderer):
2585 2012-12-21 Keishi Hattori <keishi@webkit.org>
2587 Fix typing zero into multiple field input
2588 https://bugs.webkit.org/show_bug.cgi?id=105501
2590 Reviewed by Kent Tamura.
2592 We have a couple of problems when handling zero in a multiple fields
2594 1. Typing '02' into a month field will set '12'.
2595 2. Typing '0' into 12 hour hour field will set '12' and move to the
2596 focus to the next field.
2597 This change adds a type ahead buffer so we can handle these cases
2598 properly. If the value in the type ahead buffer is valid we set it so a
2599 change event will fire.
2601 Added tests to *-multiple-fields-keyboard-events.html.
2603 * html/shadow/DateTimeNumericFieldElement.cpp:
2604 (WebCore::DateTimeNumericFieldElement::didBlur): Clear the type ahead
2605 buffer. handleKeyboardEvent() won't set the type ahead value if it is
2606 not in range, so we set the value here.
2607 (WebCore::DateTimeNumericFieldElement::handleKeyboardEvent):
2608 (WebCore::DateTimeNumericFieldElement::setEmptyValue): Clear type ahead buffer.
2609 (WebCore::DateTimeNumericFieldElement::setValueAsInteger):
2610 (WebCore::DateTimeNumericFieldElement::stepDown): Clear type ahead buffer.
2611 (WebCore::DateTimeNumericFieldElement::stepUp): Clear type ahead buffer.
2612 (WebCore::DateTimeNumericFieldElement::typeAheadValue): Returns integer
2613 value for the type ahead characters.
2615 (WebCore::DateTimeNumericFieldElement::visibleValue): If we have type
2616 ahead characters, show that.
2617 * html/shadow/DateTimeNumericFieldElement.h:
2618 (DateTimeNumericFieldElement):
2620 2012-12-21 Xabier Rodriguez Calvar <calvaris@igalia.com>
2622 [GStreamer] Buffering ranges are reported incorrectly with GStreamer 1.0
2623 https://bugs.webkit.org/show_bug.cgi?id=105319
2625 Reviewed by Philippe Normand.
2627 We add the gPercentMax constant to select between 100 and
2628 GST_FORMAT_PERCENT_MAX depending if we are compiling against
2629 GStreamer 0.10 or 1.0 and we use that in the corresponding method.
2631 Current tests should suffice.
2633 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2634 (WebCore::MediaPlayerPrivateGStreamer::buffered): Added the use of
2635 gPercentMax constant instead of 100 to have the different code
2636 paths for GStreamer 0.10 and 1.0.
2638 2012-12-21 Tim Horton <timothy_horton@apple.com>
2640 PDFPlugin: Cannot drop files/URLs on PDFPlugin
2641 https://bugs.webkit.org/show_bug.cgi?id=105516
2642 <rdar://problem/12729443>
2644 Reviewed by Alexey Proskuryakov.
2646 * page/DragController.cpp:
2647 (WebCore::DragController::operationForLoad): If we drag over a PluginDocument, check if its PluginView
2648 claims to support navigation resulting from a drag (only PDFPlugin will for now). If it does, allow the drag.
2649 * plugins/PluginViewBase.h:
2650 (WebCore::PluginViewBase::shouldAllowNavigationFromDrags): Add shouldAllowNavigationFromDrags.
2652 2012-12-21 Sheriff Bot <webkit.review.bot@gmail.com>
2654 Unreviewed, rolling out r138338.
2655 http://trac.webkit.org/changeset/138338
2656 https://bugs.webkit.org/show_bug.cgi?id=105621
2658 speculative rollout because fast/dom/shadow/content-element-
2659 distributed-nodes.html is crashing on linux debug. (Requested
2660 by loislo on #webkit).
2663 * dom/DocumentFragment.h:
2665 (WebCore::Node::documentFragmentIsShadowRoot):
2669 (WebCore::Node::isShadowRoot):
2672 2012-12-21 Adam Bergkvist <adam.bergkvist@ericsson.com>
2674 MediaStream API: Update the MediaStream constructor
2675 https://bugs.webkit.org/show_bug.cgi?id=98416
2677 Reviewed by Adam Barth.
2679 Updated the MediaStream constructor to support the more general argument
2680 list from the latest Media Capture and Streams specification:
2681 http://dev.w3.org/2011/webrtc/editor/getusermedia.html
2683 Added more test cases to existing tests.
2685 * Modules/mediastream/MediaStream.cpp:
2686 (WebCore::containsSource):
2688 (WebCore::processTrack):
2689 (WebCore::createFromSourceVectors):
2690 (WebCore::MediaStream::create):
2691 * Modules/mediastream/MediaStream.h:
2692 * Modules/mediastream/MediaStream.idl:
2694 2012-12-20 Ryosuke Niwa <rniwa@webkit.org>
2696 More fix after r138348.
2698 * platform/network/cf/SocketStreamHandleCFNet.cpp:
2699 (WebCore::SocketStreamHandle::createStreams):
2701 2012-12-20 Alexey Proskuryakov <ap@apple.com>
2703 Disable Nagle algorithm on WebSocket implementation for CF.
2704 https://bugs.webkit.org/show_bug.cgi?id=102079
2706 Build fix. Disable the new code on Lion, _kCFStreamSocketSetNoDelay apparently
2707 cannot be used on this OS version.
2709 * platform/network/cf/SocketStreamHandleCFNet.cpp:
2710 (WebCore::SocketStreamHandle::createStreams):
2712 2012-12-20 KyungTae Kim <ktf.kim@samsung.com>
2714 Fix build warnings related with gstreamer
2715 https://bugs.webkit.org/show_bug.cgi?id=105614
2717 Reviewed by Kentaro Hara.
2719 The below functions have unused parameters.
2720 Remove the parameter names to fix 'unused parameter' build warnings.
2722 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2723 (WebCore::onGStreamerWavparsePadAddedCallback):
2724 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2725 (WebCore::messageCallback):
2726 (WebCore::onGStreamerDeinterleavePadAddedCallback):
2727 (WebCore::onGStreamerDeinterleaveReadyCallback):
2728 (WebCore::onGStreamerDecodebinPadAddedCallback):
2730 2012-12-20 Takashi Toyoshima <toyoshim@chromium.org>
2732 Disable Nagle algorithm on WebSocket implementation for CF.
2733 https://bugs.webkit.org/show_bug.cgi?id=102079
2735 Reviewed by Alexey Proskuryakov.
2737 Set TCP_NODELAY on CFWriteStream for SocketStreamHandle to improve
2738 communication latency. Combination of Nagle and delayed-ACK could
2739 affect performance in some environment, e.g., over Wifi network.
2741 * platform/network/cf/SocketStreamHandleCFNet.cpp:
2742 (WebCore::SocketStreamHandle::createStreams):
2744 2012-12-20 Huang Dongsung <luxtella@company100.net>
2746 [WebGL][EFL][Qt][GTK] Jelly fishes leave trails on webgl canvas.
2747 https://bugs.webkit.org/show_bug.cgi?id=105326
2749 Reviewed by Noam Rosenthal.
2751 Clear a drawing buffer after compositing if preserveDrawingBuffer is
2753 http://www.khronos.org/registry/webgl/specs/latest/#2.2
2755 No new tests. Covered by existing webgl-preserve-drawing-buffer-repaint test.
2757 * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
2758 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2759 * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2760 (GraphicsContext3DPrivate::copyToGraphicsSurface):
2761 * platform/graphics/qt/GraphicsContext3DQt.cpp:
2762 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2763 (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
2765 2012-12-20 Filip Pizlo <fpizlo@apple.com>
2767 Create a variable name for a RAII scope so it doesn't die immediately.
2769 Reviewed by Sam Weinig.
2773 * html/HTMLMediaElement.cpp:
2774 (WebCore::HTMLMediaElement::textTrackAddCues):
2775 (WebCore::HTMLMediaElement::textTrackRemoveCues):
2776 (WebCore::HTMLMediaElement::removeTrack):
2777 (WebCore::HTMLMediaElement::removeAllInbandTracks):
2779 2012-12-20 Elliott Sprehn <esprehn@chromium.org>
2781 Replace documentFragmentIsShadowRoot with isTreeScope
2782 https://bugs.webkit.org/show_bug.cgi?id=105345
2784 Reviewed by Dimitri Glazkov.
2786 We can replace documentFragmentIsShadowRoot with isTreeScope() which is
2787 trival to detect by checking treeScope()->rootNode() == this;
2789 No new tests, just refactoring.
2792 * dom/DocumentFragment.h:
2795 (WebCore::Node::isTreeScope):
2798 (WebCore::Node::isShadowRoot):
2802 2012-12-20 Rik Cabanier <cabanier@adobe.com>
2804 Add canvas blending modes using Core Graphics
2805 https://bugs.webkit.org/show_bug.cgi?id=100070
2807 Reviewed by Dirk Schulze.
2809 globalCompositeOperation is extended so it takes blend modes as well as compositing operators.
2810 This patch adds an implementation for the Core Graphics port.
2812 Tests: fast/canvas/canvas-blend-image.html
2813 fast/canvas/canvas-blend-solid.html
2815 * html/canvas/CanvasRenderingContext2D.cpp:
2816 (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Passed blendMode to underlying layer.
2817 (WebCore::CanvasRenderingContext2D::drawImage): Passed blendMode to underlying drawImage call.
2818 (WebCore::CanvasRenderingContext2D::drawImageFromRect): Passed blendMode to platofrm layer.
2819 * html/canvas/CanvasRenderingContext2D.h:
2820 (CanvasRenderingContext2D): Eextended drawImage with new blendmode parameter.
2821 * platform/graphics/cg/GraphicsContextCG.cpp:
2822 (WebCore::GraphicsContext::setPlatformCompositeOperation): Passed blendmode to Core Graphics API.
2824 2012-12-20 KyungTae Kim <ktf.kim@samsung.com>
2826 Percentage min/max width replaced element may incorrectly rendered
2827 https://bugs.webkit.org/show_bug.cgi?id=105264
2829 Reviewed by Tony Chang.
2831 To make do not include percentage min width in preferred logical width calculation,
2832 because we cannot resolve it for preferred width.
2834 Test: fast/css/percent-min-width-img-src-change.html
2836 * rendering/RenderBox.cpp:
2837 (WebCore::RenderBox::computeReplacedLogicalWidth):
2838 Modify includeMaxWidth parameter to shouldComputePreferred.
2839 (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
2840 Modify includeMaxWidth parameter to shouldComputePreferred.
2841 If shouldComputePreferred is ComputePreferred,
2842 don't use minLogicalWidth or maxLogicalWidth if they are percent type.
2843 * rendering/RenderBox.h:
2845 * rendering/RenderReplaced.cpp:
2846 (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2847 Modify includeMaxWidth parameter to shouldComputePreferred.
2848 (WebCore::RenderReplaced::computeMaxPreferredLogicalWidth):
2849 Modify from set includeMaxWidth=false to set shouldComputePreferred=ComputePreferred.
2850 * rendering/RenderReplaced.h:
2852 * rendering/RenderSVGRoot.cpp:
2853 (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
2854 Modify includeMaxWidth parameter to shouldComputePreferred.
2855 * rendering/RenderSVGRoot.h:
2857 * rendering/RenderVideo.cpp:
2858 (WebCore::RenderVideo::computeReplacedLogicalWidth):
2859 Modify includeMaxWidth parameter to shouldComputePreferred.
2860 * rendering/RenderVideo.h:
2863 2012-12-20 Alexey Proskuryakov <ap@apple.com>
2865 REGRESSION (r138191): Tests crash in ResourceRequest::setStorageSession
2866 https://bugs.webkit.org/show_bug.cgi?id=105563
2868 Reviewed by Brady Eidson.
2870 Partially fixes crashing http/tests/appcache/main-resource-redirect.html
2871 (but there is an unrelated regression affecting this test).
2873 * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::willSendRequest):
2874 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::willSendRequest):
2875 The client can make the object get destoryed, protect it to avoid accessing deleted memory.
2877 2012-12-20 Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
2879 [EFL] [WebGL] [Wk2] Contents are not rendered properly.
2880 https://bugs.webkit.org/show_bug.cgi?id=104664
2882 Reviewed by Noam Rosenthal.
2884 WebGL pages that render more than one frame are broken. Only 1st
2885 frame comes to the UI side. All webgl repaint tests fail because
2887 Specification of EXT_texture_from_pixmap extension here
2888 http://www.opengl.org/registry/specs/EXT/texture_from_pixmap.txt
2890 "The contents of the texture after the drawable has been bound are defined
2891 as the result of all rendering that has completed before the call to
2892 glXBindTexImageEXT."
2893 It means that in order to get updates for every frame glXBindTexImageEXT has
2894 to be called on every frame update.
2896 Covered by existing fast/canavs/webgl/*repaint tests.
2898 * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
2899 (WebCore::GraphicsSurfacePrivate::isReceiver):
2900 (WebCore::GraphicsSurface::platformSwapBuffers):
2901 * platform/graphics/texmap/TextureMapperBackingStore.cpp:
2902 (WebCore::TextureMapperSurfaceBackingStore::swapBuffersIfNeeded):
2904 2012-12-20 Ryuan Choi <ryuan.choi@samsung.com>
2906 [EFL] Build break with latest EFL libraries.
2907 https://bugs.webkit.org/show_bug.cgi?id=104827
2909 Reviewed by Laszlo Gombos.
2911 The eo EFL package is introduced and evas and ecore use it since 1.8.
2912 While introducing Eo, EFL changed several structures of Evas and Ecore
2913 from own specific class to Eo.
2915 So, this patch adds FindEo and changes declaration of Evas, Evas_Object,
2916 Ecore_Timer to build with latest EFL libraries.
2918 * PlatformEfl.cmake: Includes eo EFL library.
2919 * platform/Widget.h: Modified declaration of Evas and Evas_Object.
2920 In addition, removed unnecessary declaration.
2921 * platform/efl/EflScreenUtilities.h: Modified declaration of Evas.
2922 * platform/efl/RenderThemeEfl.h: Removed unnecessary declaration.
2923 * platform/graphics/Icon.h: Ditto.
2924 * platform/graphics/Image.h: Modified declaration of Evas and Evas_Object.
2926 2012-12-20 Sheriff Bot <webkit.review.bot@gmail.com>
2928 Unreviewed, rolling out r138270.
2929 http://trac.webkit.org/changeset/138270
2930 https://bugs.webkit.org/show_bug.cgi?id=105589
2932 Many media tests are failing/crashing intermittently, often
2933 pointing at WebCore::HTMLTrackElement::didCompleteLoad as
2934 culprit (Requested by dino_ on #webkit).
2936 * html/HTMLMediaElement.cpp:
2937 (WebCore::HTMLMediaElement::textTrackModeChanged):
2938 * html/HTMLTrackElement.cpp:
2939 (WebCore::HTMLTrackElement::HTMLTrackElement):
2940 (WebCore::HTMLTrackElement::insertedInto):
2941 (WebCore::HTMLTrackElement::parseAttribute):
2942 (WebCore::HTMLTrackElement::scheduleLoad):
2943 (WebCore::HTMLTrackElement::textTrackModeChanged):
2944 * html/HTMLTrackElement.h:
2945 * html/track/TextTrack.cpp:
2946 * html/track/TextTrack.h:
2948 2012-12-20 Pratik Solanki <psolanki@apple.com>
2950 Rename HAVE(NETWORK_CFDATA_ARRAY_CALLBACK) to USE(NETWORK_CFDATA_ARRAY_CALLBACK)
2951 https://bugs.webkit.org/show_bug.cgi?id=105578
2953 Reviewed by Alexey Proskuryakov.
2955 * loader/ResourceBuffer.cpp: Remove duplicate append() call that was under the wrong ifdef.
2956 * loader/ResourceBuffer.h:
2958 2012-12-20 Elliott Sprehn <esprehn@chromium.org>
2960 RenderBlock hit testing should ignore PseudoElements
2961 https://bugs.webkit.org/show_bug.cgi?id=105545
2963 Reviewed by Eric Seidel.
2965 Use nonPseudoNode() in hit testing code in RenderBlock and RenderBox so
2966 that when clicking on the box generated by a pseudo element we never
2967 generate a Position for the PseudoElement, but instead for the
2970 Test: fast/css-generated-content/block-and-box-hit-testing.html
2972 * rendering/RenderBlock.cpp:
2973 (WebCore::RenderBlock::positionForBox):
2974 (WebCore::isEditingBoundary):
2975 (WebCore::positionForPointRespectingEditingBoundaries):
2976 * rendering/RenderBox.cpp:
2977 (WebCore::RenderBox::positionForPoint):
2979 2012-12-20 Stephen Chenney <schenney@chromium.org>
2981 SVG: <altglpyh> for a surrogate pair character in a ligature fails
2982 https://bugs.webkit.org/show_bug.cgi?id=102969
2984 Reviewed by Dirk Schulze.
2986 There are two issues with SVG <altglyph> tags applied to surrogate
2987 fonts, particularly when mixed with non-standard forms (arabic,
2990 First, there is an assertion that is invalid when an alt glyph is
2991 substituted for the surrogate, because the text chunk that is consumed
2992 by an alt glyph is the entire run, whereas we assert that a
2993 surrogate's chunk is length 2 regardless. That assertion has been
2996 Second, when an arabic character or some other characters requiring a
2997 special form appears before the surrogate pair character inside the alt
2998 glyph tag, we reject the alt glyph because it is not compatible with the form.
2999 However, when we process the next character - the surrogate pair - we
3000 do accept the alt glyph. This breaks all the indexes because we have
3001 already consumed part of the run that is now considered the alt glyph.
3002 Chaos ensues. This patch forces us to always accept alt glyph
3003 characters (assuming we have some glyph to draw). This better matches
3004 the intent of the spec - if someone specifies an alt glyph they are
3005 explicitly stating which glyph they want used. We should not argue
3006 with the content author.
3008 Tests: svg/text/alt-glyph-for-surrogate-pair-expected.svg
3009 svg/text/alt-glyph-for-surrogate-pair.svg
3011 * rendering/svg/SVGTextLayoutEngine.cpp:
3012 (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): Fix some poor code.
3013 * rendering/svg/SVGTextMetricsBuilder.cpp:
3014 (WebCore::SVGTextMetricsBuilder::advanceSimpleText): Remove an assert that is not always valid.
3015 * svg/SVGFontData.cpp:
3016 (WebCore::SVGFontData::applySVGGlyphSelection): Always return an altGlyph when found. Do not check it compatibility.
3018 2012-12-20 Adam Klein <adamk@chromium.org>
3020 Properly process <template> end tags when in TemplateContentsMode
3021 https://bugs.webkit.org/show_bug.cgi?id=105556
3023 Reviewed by Eric Seidel.
3025 * html/parser/HTMLTreeBuilder.cpp:
3026 (WebCore::HTMLTreeBuilder::processEndTag): Take care of the FIXME and just call
3027 processTemplateEndTag() instead of incorrectly special-casing the end tag behavior in some cases.
3029 2012-12-20 Kondapally Kalyan <kalyan.kondapally@intel.com>
3031 [EFL][WebGL][Wk2] Replace HAVE(GLX) checks with USE(GLX)
3032 https://bugs.webkit.org/show_bug.cgi?id=105431
3034 Reviewed by Kenneth Rohde Christiansen.
3036 This patch changes the check HAVE(GLX) to USE(GLX).
3037 This would enable us to choose our preferred GL backend during build time.
3038 This patch also adds an additional api to query the shared buffer handle.
3039 Buffer handle is not same as gl surface and would depend on how the content is
3042 * platform/graphics/opengl/GLDefs.h:
3044 * platform/graphics/opengl/GLPlatformContext.cpp:
3045 (WebCore::GLPlatformContext::createContext):
3046 (WebCore::GLPlatformContext::createOffScreenContext):
3047 (WebCore::GLPlatformContext::createCurrentContextWrapper):
3048 * platform/graphics/opengl/GLPlatformSurface.cpp:
3049 (WebCore::GLPlatformSurface::createOffscreenSurface):
3050 (WebCore::GLPlatformSurface::createTransportSurface):
3051 (WebCore::GLPlatformSurface::GLPlatformSurface):
3052 (WebCore::GLPlatformSurface::handle):
3054 (WebCore::GLPlatformSurface::drawable):
3055 * platform/graphics/opengl/GLPlatformSurface.h:
3056 (GLPlatformSurface):
3057 * platform/graphics/surfaces/glx/GLXContext.cpp:
3058 * platform/graphics/surfaces/glx/GLXContext.h:
3059 * platform/graphics/surfaces/glx/GLXSurface.cpp:
3060 (WebCore::GLXTransportSurface::GLXTransportSurface):
3061 (WebCore::GLXTransportSurface::destroy):
3062 (WebCore::GLXPBuffer::initialize):
3063 (WebCore::GLXPBuffer::freeResources):
3064 * platform/graphics/surfaces/glx/GLXSurface.h:
3065 * platform/graphics/surfaces/glx/GLXWindowResources.h:
3066 * platform/graphics/surfaces/glx/X11WindowResources.cpp:
3067 (WebCore::X11OffScreenWindow::X11OffScreenWindow):
3068 (WebCore::X11OffScreenWindow::setGeometry):
3069 (WebCore::X11OffScreenWindow::createOffscreenWindow):
3070 (WebCore::X11OffScreenWindow::destroyWindow):
3071 * platform/graphics/surfaces/glx/X11WindowResources.h:
3073 (DummySharedResources):
3074 (WebCore::DummySharedResources::create):
3075 (WebCore::DummySharedResources::nativeDisplay):
3076 (WebCore::DummySharedResources::pBufferContextConfig):
3077 (WebCore::DummySharedResources::surfaceContextConfig):
3078 (WebCore::DummySharedResources::DummySharedResources):
3079 (WebCore::DummySharedResources::~DummySharedResources):
3081 2012-12-20 Emil A Eklund <eae@chromium.org>
3083 [flexbox] Fix handling of very large flex grow/shrink values
3084 https://bugs.webkit.org/show_bug.cgi?id=105579
3086 Reviewed by Tony Chang.
3088 Add isfinite to childSize calculation in RenderFlexibleBox::
3089 resolveFlexibleLengths to avoid overflow.
3091 Covered by css3/flexbox/flex-algorithm.html.
3093 * rendering/RenderFlexibleBox.cpp:
3094 (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
3095 Check if value is finite before adding to childSize.
3097 2012-12-20 Sheriff Bot <webkit.review.bot@gmail.com>
3099 Unreviewed, rolling out r138265.
3100 http://trac.webkit.org/changeset/138265
3101 https://bugs.webkit.org/show_bug.cgi?id=105586
3103 Accidentally committed extra code that is not reviewed and
3104 shouldn't go with this commit. (Requested by ostap on
3107 * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
3108 (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
3109 (WebCore::GraphicsSurfacePrivate::createPixmap):
3110 (GraphicsSurfacePrivate):
3111 (WebCore::GraphicsSurface::platformSwapBuffers):
3112 * platform/graphics/texmap/TextureMapperBackingStore.cpp:
3113 (WebCore::TextureMapperSurfaceBackingStore::swapBuffersIfNeeded):
3115 2012-12-20 Ryosuke Niwa <rniwa@webkit.org>
3117 REGRESSION(r133820?): SimplifyMarkupTest API test asserts
3118 https://bugs.webkit.org/show_bug.cgi?id=105370
3120 Reviewed by Simon Fraser.
3122 The bug was caused by SimplifyMarkupCommand::doApply calling removeNodePreservingChildren on nodes
3123 that have already been removed. We normally check this condition in pruneSubsequentAncestorsToRemove
3124 but we weren't checking it when there were no ancestor to remove because we early exited in that case.
3126 Fixed the bug by doing the early exit for when the node's parent had already been removed first.
3128 Test: TestWebKitAPI/Tests/mac/SimplifyMarkup.mm
3130 * editing/SimplifyMarkupCommand.cpp:
3131 (WebCore::SimplifyMarkupCommand::doApply):
3132 (WebCore::SimplifyMarkupCommand::pruneSubsequentAncestorsToRemove): Also removed an unused variable
3133 nodeAfterHighestAncestorToRemove.
3135 2012-12-20 Antti Koivisto <antti@apple.com>
3137 Font description not synchronized correctly on orientation affecting property changes
3138 https://bugs.webkit.org/show_bug.cgi?id=105533
3140 Reviewed by Enrica Casucci.
3142 In StyleResolver checkForOrientationChange() function checks if the new computed orientation differs from the parent
3143 orientation and updates the style's font description only if it does. This is not correct as equal values do not guarantee
3144 the new font description is actually up to date. We can leave the function with the computed orientation and the font
3145 description still out of sync.
3147 Fix by bailing out fast only if the font description is already in sync.
3149 No layout test yet, verified with a test app.
3151 * css/StyleResolver.cpp:
3152 (WebCore::checkForOrientationChange):
3153 (WebCore::StyleResolver::updateFont):
3155 2012-12-20 Ryan Sleevi <rsleevi@chromium.org>
3157 window.crypto.getRandomValues should return the input ArrayBufferView
3158 https://bugs.webkit.org/show_bug.cgi?id=104845
3160 The W3C Web Crypto API FPWD, as well as the WHATWG February 2012 draft,
3161 define crypto.getRandomValues() as returning the input ArrayBufferView,
3162 to allow function call chaining. Update the implementation to match
3163 the current spec, rather than the old spec of void/undefined.
3165 Reviewed by Kentaro Hara.
3167 Test: security/crypto-random-values-types.html
3169 * GNUmakefile.list.am:
3173 * WebCore.xcodeproj/project.pbxproj:
3174 * bindings/js/JSBindingsAllInOne.cpp:
3175 * bindings/js/JSCryptoCustom.cpp: Added.
3177 (WebCore::JSCrypto::getRandomValues):
3178 Added custom getRandomValues implementation so that the input wrapped
3179 ArrayBufferView can be returned directly to the caller. This is to
3180 preserve the underlying type and indexing accessor for the TypedArray
3182 * bindings/v8/custom/V8CryptoCustom.cpp: Added.
3184 (WebCore::V8Crypto::getRandomValuesCallback):
3185 Added custom getRandomValues implementation so that the input wrapped
3186 ArrayBufferView can be returned directly to the caller. This is to
3187 preserve the underlying type and indexing accessor for the TypedArray
3191 2012-12-20 Erik Arvidsson <arv@chromium.org>
3193 CodeGen: Make [Reflect] use getIdAttribute and getNameAttribute
3194 https://bugs.webkit.org/show_bug.cgi?id=105549
3196 Reviewed by Andreas Kling.
3198 Let the codegen use getIdAttribute and getNameAttribute when we know the attribute
3199 is HTMLNames::idAttr or HTMLNames::nameAttr respectively. The more specialized functions
3200 do not search for the attribute if it knows that the element does not have that attribute
3201 speeding up the case where id or name are not present.
3203 This improves Dromaeo/dom-attr by 5% and Bindings/undefined-id-getter by 2%
3205 No new tests. No change in behavior
3207 * bindings/scripts/CodeGenerator.pm:
3209 2012-12-20 Erik Arvidsson <arv@chromium.org>
3211 fastAttributeLookupAllowed: classAttr is only animatable by SVG styled elements
3212 https://bugs.webkit.org/show_bug.cgi?id=105565
3214 Reviewed by Eric Seidel.
3216 When it comes to determining if we can use fastGetAttribute we should not penalize
3217 all classAttr access just because some SVG styled elements does funky things with
3220 This makes classAttr considered animatable only for styled SVG elements.
3222 No new tests. No change in behavior.
3224 * bindings/scripts/CodeGenerator.pm:
3226 * svg/SVGElement.cpp:
3229 2012-12-20 Huang Dongsung <luxtella@company100.net>
3231 [TexMap] Remove ParentChange in TextureMapperLayer.
3232 https://bugs.webkit.org/show_bug.cgi?id=105494
3234 Reviewed by Noam Rosenthal.
3236 ParentChange is useless, because ChildrenChange is enough. In addition,
3237 GraphicsLayer uses setParent() method internally. This patch copies
3238 GraphicsLayer::setChildren() into TextureMapperLayer::setChildren().
3240 No new tests. Covered by existing tests.
3242 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3244 (WebCore::GraphicsLayerTextureMapper::setChildren):
3245 Match the similar style of replaceChild().
3246 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3247 (GraphicsLayerTextureMapper):
3248 * platform/graphics/texmap/TextureMapperLayer.cpp:
3249 (WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
3250 (WebCore::TextureMapperLayer::setChildren):
3251 Copied from GraphicsLayer::setChildren().
3253 (WebCore::TextureMapperLayer::addChild):
3254 Copied from GraphicsLayer::addChild().
3255 (WebCore::TextureMapperLayer::removeFromParent):
3256 Copied from GraphicsLayer::removeFromParent().
3257 (WebCore::TextureMapperLayer::removeAllChildren):
3258 Copied from GraphicsLayer::removeAllChildren().
3259 * platform/graphics/texmap/TextureMapperLayer.h:
3260 (TextureMapperLayer):
3262 2012-12-20 Alec Flett <alecflett@chromium.org>
3264 IndexedDB: Cursor and IndexWriter cleanup for refactor
3265 https://bugs.webkit.org/show_bug.cgi?id=105449
3267 Reviewed by Tony Chang.
3269 This is a cleanup of some code to make the refactor that is coming
3270 in https://bugs.webkit.org/show_bug.cgi?id=102741 cleaner. Some
3271 CursorType assertions have been removed because the code will be
3272 used in more generic circumstances in a future patch.
3274 The previously-private IndexWriter has been pulled into
3275 IDBObjectStoreBackendImpl and made to just use IDB*Metadata
3276 so it can be reused later.
3278 No new tests as this does not change the logic of executing code.
3280 * Modules/indexeddb/IDBCursorBackendImpl.cpp:
3281 (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
3282 (WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):
3283 * Modules/indexeddb/IDBCursorBackendImpl.h:
3284 (WebCore::IDBCursorBackendImpl::create):
3285 (WebCore::IDBCursorBackendImpl::value):
3286 (IDBCursorBackendImpl):
3287 * Modules/indexeddb/IDBIndexBackendImpl.cpp:
3288 (WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::create):
3289 (WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::OpenIndexCursorOperation):
3290 (IDBIndexBackendImpl::OpenIndexCursorOperation):
3291 (WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::perform):
3292 * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3293 (WebCore::IDBObjectStoreBackendImpl::IndexWriter::verifyIndexKeys):
3294 (WebCore::IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys):
3295 (WebCore::IDBObjectStoreBackendImpl::IndexWriter::addingKeyAllowed):
3296 (WebCore::IDBObjectStoreBackendImpl::makeIndexWriters):
3297 * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
3299 (WebCore::IDBObjectStoreBackendImpl::IndexWriter::IndexWriter):
3300 (IDBObjectStoreBackendImpl):
3301 * Modules/indexeddb/IDBRequest.cpp:
3302 (WebCore::IDBRequest::IDBRequest):
3303 (WebCore::IDBRequest::setCursorDetails):
3304 (WebCore::IDBRequest::setResultCursor):
3305 (WebCore::IDBRequest::onSuccess):
3306 * Modules/indexeddb/IDBRequest.h:
3309 2012-12-20 Alexey Proskuryakov <ap@apple.com>
3311 REGRESSION (r138191): Tests fail in ResourceRequest::setStorageSession
3312 https://bugs.webkit.org/show_bug.cgi?id=105563
3314 Reviewed by Sam Weinig.
3316 * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::willSendRequest):
3317 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::willSendRequest):
3318 Don't try to appky a session if client canceled the request by setting it ot a null one.
3320 * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::setStorageSession):
3321 * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::setStorageSession):
3322 Update platform request, so that the session does not get lost once it's updated later.
3324 2012-12-20 Nate Chapin <japhet@chromium.org>
3326 Rename shouldBufferData to dataBufferingPolicy
3327 https://bugs.webkit.org/show_bug.cgi?id=105450
3329 Reviewed by Alexey Proskuryakov.
3331 No new tests, simple rename.
3333 * html/MediaDocument.cpp:
3334 (WebCore::MediaDocumentParser::createDocumentStructure):
3335 * html/PluginDocument.cpp:
3336 (WebCore::PluginDocumentParser::appendBytes):
3337 * inspector/InspectorResourceAgent.cpp:
3338 (WebCore::InspectorResourceAgent::didReceiveData):
3339 * loader/DocumentThreadableLoader.cpp:
3340 (WebCore::DocumentThreadableLoader::loadRequest):
3341 * loader/MainResourceLoader.cpp:
3342 (WebCore::MainResourceLoader::setDataBufferingPolicy):
3343 * loader/MainResourceLoader.h:
3344 (MainResourceLoader):
3345 * loader/ResourceLoader.cpp:
3346 (WebCore::ResourceLoader::setDataBufferingPolicy):
3347 (WebCore::ResourceLoader::addData):
3348 (WebCore::ResourceLoader::willStopBufferingData):
3349 * loader/ResourceLoader.h:
3351 * loader/ResourceLoaderOptions.h:
3352 (WebCore::ResourceLoaderOptions::ResourceLoaderOptions):
3353 (ResourceLoaderOptions):
3354 * loader/cache/CachedRawResource.cpp:
3355 (WebCore::CachedRawResource::data):
3356 (WebCore::CachedRawResource::setDataBufferingPolicy):
3357 (WebCore::CachedRawResource::canReuse):
3358 * loader/cache/CachedRawResource.h:
3359 (CachedRawResource):
3360 * loader/cache/CachedResource.h:
3361 (WebCore::CachedResource::dataBufferingPolicy):
3362 * loader/mac/ResourceLoaderMac.mm:
3363 (WebCore::ResourceLoader::didReceiveDataArray):
3364 * page/EventSource.cpp:
3365 (WebCore::EventSource::connect):
3367 2012-12-19 Dean Jackson <dino@apple.com>
3369 Track menu in wrong location when fullscreen
3370 https://bugs.webkit.org/show_bug.cgi?id=105234
3372 Reviewed by Eric Carlson.
3374 Add a rule to position the captions menu in the correct location
3375 when the <video> is fullscreen. Also a drive-by removal of unnecessary
3376 CSS selectors, and changing an encoded PNG into an SVG.
3378 * css/fullscreenQuickTime.css:
3379 (video:-webkit-full-screen::-webkit-media-controls-closed-captions-container): Add a rule to position
3380 the menu when in fullscreen.
3381 * css/mediaControlsQuickTime.css: Remove the unnecessary <audio> selectors.
3382 (video::-webkit-media-controls-toggle-closed-captions-button):
3383 (video::-webkit-media-controls-closed-captions-container):
3384 (video::-webkit-media-controls-closed-captions-track-list):
3386 2012-12-19 Dean Jackson <dino@apple.com>
3388 Follow WebVTT line breaking rules
3389 https://bugs.webkit.org/show_bug.cgi?id=105496
3391 Reviewed by Eric Carlson.
3393 WebVTT requires that captions never overflow their containers. In other
3394 words, that it is ok to break within words rather than hide content.
3395 Implement this by using CSS's word-break property.
3397 Test: media/track/track-word-breaking.html
3399 * css/mediaControls.css:
3400 (video::-webkit-media-text-track-container): Add word-break.
3401 * css/mediaControlsQuickTime.css: Drive-by cleanup to make sure selection doesn't happen.
3402 (audio::-webkit-media-controls-closed-captions-container, video::-webkit-media-controls-closed-captions-container):
3403 (audio::-webkit-media-controls-closed-captions-track-list, video::-webkit-media-controls-closed-captions-track-list):
3405 2012-12-20 James Simonsen <simonjam@chromium.org>
3407 [Resource Timing] 304 responses should show up in the timing buffer
3408 https://bugs.webkit.org/show_bug.cgi?id=105490
3410 Reviewed by Tony Gentilcore.
3412 Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_cached.html
3414 * loader/cache/CachedResourceLoader.cpp:
3415 (WebCore::CachedResourceLoader::loadDone):
3417 2012-12-19 Simon Fraser <simon.fraser@apple.com>
3419 Lots of sticky tests failing in WK2
3420 https://bugs.webkit.org/show_bug.cgi?id=105464
3422 Reviewed by Brady Eidson.
3424 Fixing this bug altered the timing of InternalSettings::Backup()
3425 and restoreTo(), such that 'canStartMedia' on Page would get saved as false,
3426 and then restored as false, which breaks all media tests.
3428 'canStartMedia' is set to false initially by the WebPage constructor, and is also
3429 set to false when the WKView leaves the window, so treating it like other Settings
3430 that can be saved and restored is unreliable, as seen here. It's easier and simpler
3431 to just always reset it to 'true' between tests.
3433 * testing/InternalSettings.cpp:
3434 (WebCore::InternalSettings::Backup::Backup):
3435 (WebCore::InternalSettings::Backup::restoreTo):
3436 (WebCore::InternalSettings::InternalSettings):
3437 (WebCore::InternalSettings::reset):
3438 * testing/InternalSettings.h:
3441 2012-12-20 Erik Arvidsson <arv@chromium.org>
3443 REGRESSION(r138263): Don't use fastGetAttribute for HTMLNames::classAttr because it breaks on SVGElement
3444 https://bugs.webkit.org/show_bug.cgi?id=105555
3446 Reviewed by Tony Chang.
3448 The code generated generated code that uses fastGetAttribute for the className WebIDL attribute getter.
3449 However, this attribute is animatable in SVG so we cannot use the fast function for it.
3451 No new tests. The assert is no longer hit.