1 2012-07-09 Ryosuke Niwa <rniwa@webkit.org>
3 Build fix after r122115 and some cleanups.
5 * html/HTMLCollection.h:
7 * html/HTMLElement.cpp:
8 (WebCore::HTMLElement::properties):
11 * html/HTMLPropertiesCollection.cpp:
12 (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
13 * html/HTMLPropertiesCollection.h:
14 (HTMLPropertiesCollection):
16 2012-07-09 Dean Jackson <dino@apple.com>
18 Tiled drawing means some elements can disappear behind the page
19 https://bugs.webkit.org/show_bug.cgi?id=88906
21 Reviewed by Simon Fraser.
23 The compositing layers in the tile cache could become siblings
24 of the compositing layers for page elements. This meant that in
25 some 3d transforms, the elements could disappear behind the
26 page background (which is rendered into the tile cache) or intersect
27 with the tile cache tiles.
29 Fix this by inserting a flattening layer between the tile cache
30 and the page, ensuring that the cache will always be rendered
31 first. I was able to reuse the clipping layer for this, because
32 the tile cache is attached to the RenderView, so there should never
33 be a case where we have both a clipping layer and tiles.
35 The unfortunate part of this code is the temporary state variable
36 that wraps the call to GraphicsLayer::create. Because that method
37 calls back into the object, we need to make sure we don't create
40 Also added some obvious names to the tile cache layers to
43 Test: compositing/tile-cache-must-flatten.html
45 * platform/graphics/ca/mac/TileCache.mm:
46 (WebCore::TileCache::TileCache): give the tile host layer a name.
47 (WebCore::TileCache::createTileLayer):
48 * platform/graphics/ca/mac/WebTileCacheLayer.mm:
49 (WebCore): give each tile layer a name.
50 * rendering/RenderLayerBacking.cpp:
52 (WebCore::RenderLayerBacking::shouldUseTileCache): check if we're in the middle
53 of creating the primary graphics layer before answering.
54 (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): wrap our call to
55 createGraphicsLayer with a message to indicate we are making the layer that should
57 (WebCore::RenderLayerBacking::destroyGraphicsLayers):
58 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): needs to make
59 sure the flattening layer is in the tree.
60 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
61 (WebCore::RenderLayerBacking::updateInternalHierarchy):
62 (WebCore::RenderLayerBacking::updateClippingLayers):
63 (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
64 * rendering/RenderLayerBacking.h: rename m_clippingLayer to m_containmentLayer
65 because it can now either be the clip or the tile cache flattener. Also
66 a new state property used when creating the main graphics layer.
67 (WebCore::RenderLayerBacking::hasClippingLayer):
68 (WebCore::RenderLayerBacking::clippingLayer):
69 (WebCore::RenderLayerBacking::parentForSublayers):
70 (WebCore::RenderLayerBacking::hasTileCacheFlatteningLayer):
71 (WebCore::RenderLayerBacking::tileCacheFlatteningLayer):
74 2012-07-09 Christophe Dumez <christophe.dumez@intel.com>
76 [EFL] Log significant Gamepad API-related events
77 https://bugs.webkit.org/show_bug.cgi?id=90595
79 Reviewed by Antonio Gomes.
81 Log significant Gamepad API-related events in
84 No new tests, no behavior change.
86 * platform/efl/GamepadsEfl.cpp:
87 (WebCore::GamepadDeviceEfl::deviceFile):
89 (WebCore::GamepadDeviceEfl::GamepadDeviceEfl):
90 (WebCore::GamepadDeviceEfl::readCallback):
91 (WebCore::GamepadsEfl::registerDevice):
92 (WebCore::GamepadsEfl::unregisterDevice):
94 2012-07-09 Simon Fraser <simon.fraser@apple.com>
96 Reduce the amount of flashing when falling into tiled layers
97 https://bugs.webkit.org/show_bug.cgi?id=90808
99 Reviewed by Dean Jackson.
101 Implement +prefetchedTiles so that CATiledLayer renders more
102 tiles at a time, reducing the appearance of flashing.
104 * platform/graphics/mac/WebTiledLayer.mm:
105 (+[WebTiledLayer prefetchedTiles]):
107 2012-07-09 Leandro Gracia Gil <leandrogracia@chromium.org>
109 SurroundingText should not advance character iterators if they are at end.
110 https://bugs.webkit.org/show_bug.cgi?id=90560
112 Reviewed by Ryosuke Niwa.
114 CharacterIterator and BackwardsCharacterIterator try to advance their
115 internal TextIterator without checking if they already are at end.
116 This can cause crashes in TextIterator::advance.
118 Test: platform/chromium/editing/surrounding-text/surrounding-text.html
120 * editing/SurroundingText.cpp:
121 (WebCore::SurroundingText::SurroundingText):
122 (WebCore::SurroundingText::rangeFromContentOffsets):
124 2012-07-09 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
126 [EFL] [WK2] Ecore errors from ecore_evas_screen_geometry_get()
127 https://bugs.webkit.org/show_bug.cgi?id=90609
129 Reviewed by Daniel Bates.
131 Do not call ecore_evas_screen_geometry_get() if ecoreEvas is null.
133 No new tests. This patch doesn't change behavior.
135 * platform/efl/PlatformScreenEfl.cpp:
136 (WebCore::screenRect): Early return if Evas is null.
138 2012-07-09 Alexandru Chiculita <achicu@adobe.com>
140 [CSS Filters] Blur filter is not repainted correctly when applied on a parent of a fixed element
141 https://bugs.webkit.org/show_bug.cgi?id=90087
143 Reviewed by Simon Fraser.
145 Added a new method, RenderLayer::hasAncestorWithFilterOutsets, to check that there's no filter with outsets (ie. blur)
146 applied on top level fixed positioned elements, nor any of its parent layers. In the event of a blur filter we need to
147 disable the fast scrolling optimization, otherwise the outsets of the filter will be carried around the page and
148 repainting will not work correctly.
150 Tests: css3/filters/blur-filter-page-scroll-parents.html
151 css3/filters/blur-filter-page-scroll-self.html
153 * page/FrameView.cpp:
154 (WebCore::FrameView::scrollContentsFastPath):
155 * rendering/RenderLayer.cpp:
157 (WebCore::RenderLayer::hasAncestorWithFilterOutsets):
158 * rendering/RenderLayer.h:
161 2012-07-09 Joshua Bell <jsbell@chromium.org>
163 IndexedDB: Empty arrays shouldn't be valid key paths
164 https://bugs.webkit.org/show_bug.cgi?id=90798
166 Reviewed by Tony Chang.
168 Other IDB implementations already enforce this although it is not yet in
169 the spec (see https://www.w3.org/Bugs/Public/show_bug.cgi?id=17657). If an
170 empty array is passed as the key path arg to IDBDatabase.createObjectStore()
171 or IDBObjectStore.createIndex(), a SYNTAX_ERR DOMException is now thrown.
173 Test: storage/indexeddb/keypath-arrays.html
174 storage/indexeddb/keypath-basics.html
176 * Modules/indexeddb/IDBKeyPath.cpp:
177 (WebCore::IDBKeyPath::isValid): Test for empty array.
179 2012-07-09 Dana Jansens <danakj@chromium.org>
181 [chromium] Create render surfaces on main thread only for the current frame
182 https://bugs.webkit.org/show_bug.cgi?id=89793
184 Reviewed by Adrienne Walker.
186 Previously we would create render surfaces for animating layers
187 in the main thread since these layers might have a surface on impl,
188 in order to assist culling. This makes it very difficult to estimate
189 how much texture memory is needed for RenderSurfaces on the main
190 thread, in order to keep contents+surface memory below our limit.
192 Here we stop doing this, and create RenderSurfaces on both threads
193 under the same conditions, so main thread has surfaces only if the
194 layers in its current frame demand them. While this may reduce
195 paint culling within an animating subtree, this seems like an edge
196 case and knowing the amount of surface memory needed for the frame
199 Animation tests in CCLayerTreeHostCommonTest used to verify that these
200 layers got surfaces, so now no longer do. Creation of surfaces under
201 other conditions is covered by other CCLayerTreeHostCommonTests.
203 * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
204 (WebCore::subtreeShouldRenderToSeparateSurface):
206 2012-07-09 Ryosuke Niwa <rniwa@webkit.org>
208 Mac build fix after r122116.
210 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
212 2012-07-09 Ryosuke Niwa <rniwa@webkit.org>
214 EFL build fix after r122115.
216 * html/HTMLPropertiesCollection.cpp:
217 (WebCore::HTMLPropertiesCollection::create):
219 2012-07-09 Joshua Netterfield <jnetterfield@rim.com>
220 Make GC3D and E3D more maintainable for GLES platforms
221 https://bugs.webkit.org/show_bug.cgi?id=90567
223 Reviewed by Rob Buis.
225 This patch cleans up code for WebGL on OpenGLES platforms which use
226 GraphicsContext3DOpenGL* and Extensions3DOpenGL*. Although
227 GraphicsContext3DOpenGL was already split into GraphicsContext3DOpenGL,
228 GraphicsContext3DOpenGLCommon, and GraphicsContext3DOpenGLES, this patch
229 is an attempt to refactor this code in a way that will help BlackBerry and
230 other teams support WebGL on mobile platforms with as little use of
231 "#IF USE(OPENGL_ES_2)" in common code as possible. Also included is the
232 separation of Extensions3DOpenGL into Extensions3DOpenGLCommon,
233 Extensions3DOpenGL, and Extensions3DOpenGLES as well as the introduction
236 This patch is created in large part by Jonathan Feldstein.
238 No new tests: no new behaviour.
240 * PlatformBlackBerry.cmake: Recognize BlackBerry as OPENGL ES, add new files to build
241 * Target.pri: Add new Extensions3DOpenGL* to WebGL builds
242 * platform/graphics/GraphicsContext3D.h: Add validateDepthStencil, make systemAllowsMultisamplingOnATICards a a member function.
244 * platform/graphics/OpenGLESShims.h: Added.
245 * platform/graphics/opengl/Extensions3DOpenGL.cpp: Move code to Extensions3DOpenGLCommon where possible
246 (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Reflect that it is now inherits Extensions3DCommon
247 (WebCore::Extensions3DOpenGL::supportsExtension): Contains OpenGL specific code from supports
249 (WebCore::Extensions3DOpenGL::getExtensions): Returns a list of extensions
250 * platform/graphics/opengl/Extensions3DOpenGL.h: Remove functions now in Extensions3DOpenGLCommon
252 (Extensions3DOpenGL):
253 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: Added.
255 (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
256 (WebCore::Extensions3DOpenGLCommon::~Extensions3DOpenGLCommon):
257 (WebCore::Extensions3DOpenGLCommon::supports):
258 (WebCore::Extensions3DOpenGLCommon::ensureEnabled):
259 (WebCore::Extensions3DOpenGLCommon::isEnabled):
260 (WebCore::Extensions3DOpenGLCommon::getGraphicsResetStatusARB):
261 (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Existed before, but did nothing. Now does what is says it does.
262 (WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions): Moved from Extensions3DOpenGL::supports
263 * platform/graphics/opengl/Extensions3DOpenGLCommon.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
265 (Extensions3DOpenGLCommon):
266 * platform/graphics/opengl/Extensions3DOpenGLES.cpp: Added.
268 (WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
269 (WebCore::Extensions3DOpenGLES::~Extensions3DOpenGLES):
270 (WebCore::Extensions3DOpenGLES::framebufferTexture2DMultisampleIMG):
271 (WebCore::Extensions3DOpenGLES::renderbufferStorageMultisampleIMG):
272 (WebCore::Extensions3DOpenGLES::createVertexArrayOES):
273 (WebCore::Extensions3DOpenGLES::deleteVertexArrayOES):
274 (WebCore::Extensions3DOpenGLES::isVertexArrayOES):
275 (WebCore::Extensions3DOpenGLES::bindVertexArrayOES):
276 (WebCore::Extensions3DOpenGLES::supportsExtension): Contains OpenGLES specific code from supports
277 (WebCore::Extensions3DOpenGLES::getExtensions):
278 * platform/graphics/opengl/Extensions3DOpenGLES.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
280 (Extensions3DOpenGLES):
281 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
282 (WebCore::GraphicsContext3D::validateAttributes):
284 (WebCore::GraphicsContext3D::renderbufferStorage):
285 (WebCore::GraphicsContext3D::texImage2D):
286 (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
287 (WebCore::GraphicsContext3D::getExtensions):
288 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
289 (WebCore::GraphicsContext3D::validateDepthStencil):
290 (WebCore::GraphicsContext3D::clear):
291 (WebCore::GraphicsContext3D::isTexture):
293 (WebCore::GraphicsContext3D::lineWidth):
294 (WebCore::GraphicsContext3D::linkProgram):
295 (WebCore::GraphicsContext3D::pixelStorei):
296 (WebCore::GraphicsContext3D::polygonOffset):
297 (WebCore::GraphicsContext3D::readPixels):
298 (WebCore::GraphicsContext3D::deleteBuffer):
299 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
300 (WebCore::GraphicsContext3D::releaseShaderCompiler):
301 (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
302 (WebCore::GraphicsContext3D::validateAttributes):
304 (WebCore::GraphicsContext3D::getExtensions):
305 (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
306 * platform/graphics/qt/GraphicsContext3DQt.cpp:
308 (WebCore::GraphicsContext3D::releaseShaderCompiler):
310 2012-07-02 Ryosuke Niwa <rniwa@webkit.org>
312 Make HTMLCollection RefCounted
313 https://bugs.webkit.org/show_bug.cgi?id=90414
315 Reviewed by Sam Weinig.
317 Make HTMLCollection ref counted and stop forwarding ref and deref to its owner (m_base)
318 so as to align its life time management to that of DynamicNodeList.
320 After this patch, each HTMLCollection is owned by JSC/V8 and m_cachedCollections in ElementRareData
321 and m_collection in Document merely hold raw pointers for the caching purpose. These raw pointers
322 are cleared when each HTMLCollection is destructed via corresponding removeCachedHTMLCollection's.
324 In the destructor of HTMLCollection, we use the CollectionType to decide whether base() is an element
325 or an document, and call the appropriate removeCachedHTMLCollection except for WindowNamedItems and
326 DocumentNamedItems. For those two types, we need to know the atomic string name associated with
327 the collection just like many DynamicNodeList to remove the cache, so we let HTMLNameCollection
328 directly call removeWindowNamedItemCache and removeDocumentNamedItemCache. We'll cleanup this mess in
329 a follow up patch using a nice class hierarchy and virtual destructors.
331 * accessibility/AccessibilityRenderObject.cpp:
332 (WebCore::AccessibilityRenderObject::getDocumentLinks):
333 * bindings/js/JSDOMWindowCustom.cpp:
334 (WebCore::namedItemGetter):
335 * bindings/js/JSHTMLDocumentCustom.cpp:
336 (WebCore::JSHTMLDocument::nameGetter):
337 * bindings/v8/custom/V8DOMWindowCustom.cpp:
338 (WebCore::V8DOMWindow::namedPropertyGetter):
340 (WebCore::Document::Document):
341 (WebCore::Document::openSearchDescriptionURL):
343 (WebCore::Document::cachedCollection):
344 (WebCore::Document::removeCachedHTMLCollection):
345 (WebCore::Document::images):
346 (WebCore::Document::applets):
347 (WebCore::Document::embeds):
348 (WebCore::Document::plugins):
349 (WebCore::Document::objects):
350 (WebCore::Document::scripts):
351 (WebCore::Document::links):
352 (WebCore::Document::forms):
353 (WebCore::Document::anchors):
354 (WebCore::Document::all):
355 (WebCore::Document::windowNamedItems):
356 (WebCore::Document::documentNamedItems):
357 (WebCore::Document::removeWindowNamedItemCache):
358 (WebCore::Document::removeDocumentNamedItemCache):
362 (WebCore::Element::ensureCachedHTMLCollection):
363 (WebCore::ElementRareData::ensureCachedHTMLCollection):
364 (WebCore::Element::removeCachedHTMLCollection):
368 * dom/ElementRareData.h:
370 (WebCore::ElementRareData::cachedHTMLCollection):
371 (WebCore::ElementRareData::removeCachedHTMLCollection):
372 * html/CollectionType.h:
373 (WebCore): Since WindowNamedItems is not a part of UnnamedDocumentCachedType, we shouldn't addd 1.
374 (WebCore::isUnnamedDocumentCachedType):
375 (WebCore::isNodeCollectionType):
376 * html/HTMLAllCollection.cpp:
377 (WebCore::HTMLAllCollection::create):
378 * html/HTMLAllCollection.h:
380 * html/HTMLCollection.cpp:
381 (WebCore::HTMLCollection::create):
382 (WebCore::HTMLCollection::~HTMLCollection):
383 (WebCore::HTMLCollection::itemAfter):
384 * html/HTMLCollection.h:
385 (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
387 (WebCore::HTMLCollection::base):
388 * html/HTMLDataListElement.cpp:
389 (WebCore::HTMLDataListElement::options):
390 * html/HTMLDataListElement.h:
391 (HTMLDataListElement):
392 * html/HTMLElement.cpp:
393 (WebCore::HTMLElement::children):
394 (WebCore::HTMLElement::properties):
395 * html/HTMLElement.h:
397 * html/HTMLFieldSetElement.cpp:
398 (WebCore::HTMLFieldSetElement::elements):
399 * html/HTMLFieldSetElement.h:
400 (HTMLFieldSetElement):
401 * html/HTMLFormCollection.cpp:
402 (WebCore::HTMLFormCollection::create):
403 * html/HTMLFormCollection.h:
404 (HTMLFormCollection):
405 * html/HTMLFormElement.cpp:
406 (WebCore::HTMLFormElement::elements):
407 * html/HTMLFormElement.h:
409 * html/HTMLMapElement.cpp:
410 (WebCore::HTMLMapElement::imageElement):
411 (WebCore::HTMLMapElement::areas):
412 * html/HTMLMapElement.h:
414 * html/HTMLNameCollection.cpp:
415 (WebCore::HTMLNameCollection::HTMLNameCollection):
416 (WebCore::HTMLNameCollection::~HTMLNameCollection):
418 * html/HTMLNameCollection.h:
419 (WebCore::HTMLNameCollection::create):
420 (HTMLNameCollection):
421 * html/HTMLOptionsCollection.cpp:
422 (WebCore::HTMLOptionsCollection::create):
423 * html/HTMLOptionsCollection.h:
424 (HTMLOptionsCollection):
425 * html/HTMLPropertiesCollection.h:
426 (HTMLPropertiesCollection):
427 * html/HTMLSelectElement.cpp:
428 (WebCore::HTMLSelectElement::selectedOptions):
429 (WebCore::HTMLSelectElement::options):
430 * html/HTMLSelectElement.h:
432 * html/HTMLTableElement.cpp:
433 (WebCore::HTMLTableElement::rows):
434 (WebCore::HTMLTableElement::tBodies):
435 * html/HTMLTableElement.h:
437 * html/HTMLTableRowElement.cpp:
438 (WebCore::HTMLTableRowElement::insertCell):
439 (WebCore::HTMLTableRowElement::deleteCell):
440 (WebCore::HTMLTableRowElement::cells):
441 * html/HTMLTableRowElement.h:
442 (HTMLTableRowElement):
443 * html/HTMLTableRowsCollection.cpp:
444 (WebCore::HTMLTableRowsCollection::create):
445 * html/HTMLTableRowsCollection.h:
446 (HTMLTableRowsCollection):
447 * html/HTMLTableSectionElement.cpp:
448 (WebCore::HTMLTableSectionElement::insertRow):
449 (WebCore::HTMLTableSectionElement::deleteRow):
450 (WebCore::HTMLTableSectionElement::rows):
451 * html/HTMLTableSectionElement.h:
452 (HTMLTableSectionElement):
454 2012-07-09 Pavel Feldman <pfeldman@chromium.org>
456 Web Inspector: unindent line ending block upon { hit.
457 https://bugs.webkit.org/show_bug.cgi?id=90795
459 Reviewed by Vsevolod Vlasov.
461 Added block-start / block-end markup into the highlighter.
463 * inspector/front-end/SourceCSSTokenizer.js:
464 (WebInspector.SourceCSSTokenizer.prototype.nextToken):
465 * inspector/front-end/SourceCSSTokenizer.re2js:
466 * inspector/front-end/SourceJavaScriptTokenizer.js:
467 (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
468 * inspector/front-end/SourceJavaScriptTokenizer.re2js:
469 * inspector/front-end/TextEditor.js:
470 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
471 (WebInspector.TextEditorMainPanel.prototype._unindentAfterBlock):
473 2012-07-09 Sheriff Bot <webkit.review.bot@gmail.com>
475 Unreviewed, rolling out r122107.
476 http://trac.webkit.org/changeset/122107
477 https://bugs.webkit.org/show_bug.cgi?id=90794
479 Build failure on Mac debug bots (Requested by falken_ on
483 * Configurations/FeatureDefines.xcconfig:
484 * DerivedSources.cpp:
485 * DerivedSources.make:
486 * DerivedSources.pri:
489 * WebCore.xcodeproj/project.pbxproj:
490 * bindings/generic/RuntimeEnabledFeatures.cpp:
492 * bindings/generic/RuntimeEnabledFeatures.h:
493 (RuntimeEnabledFeatures):
494 * dom/ContextFeatures.cpp:
495 * dom/ContextFeatures.h:
496 * html/HTMLDialogElement.cpp: Removed.
497 * html/HTMLDialogElement.h: Removed.
498 * html/HTMLDialogElement.idl: Removed.
499 * html/HTMLElementsAllInOne.cpp:
500 * html/HTMLTagNames.in:
501 * page/DOMWindow.idl:
503 2012-07-09 Andrei Onea <onea@adobe.com>
505 [CSSRegions] Rename NamedFlow::getRegionsByContentNode to NamedFlow::getRegionsByContent
506 https://bugs.webkit.org/show_bug.cgi?id=90759
508 Reviewed by Andreas Kling.
510 Renamed NamedFlow::getRegionsByContentNode to NamedFlow::getRegionsByContent as per CSS Regions spec:
511 http://www.w3.org/TR/css3-regions/#dom-named-flow
513 Tests: fast/regions/get-regions-by-content-horiz-bt.html
514 fast/regions/get-regions-by-content-horiz-tb.html
515 fast/regions/get-regions-by-content-vert-lr.html
516 fast/regions/get-regions-by-content-vert-rl.html
517 fast/regions/get-regions-by-content.html
518 fast/regions/get-regions-by-content2.html
520 * dom/WebKitNamedFlow.cpp:
521 (WebCore::WebKitNamedFlow::getRegionsByContent):
522 * dom/WebKitNamedFlow.h:
524 * dom/WebKitNamedFlow.idl:
526 2012-07-09 Matt Falkenhagen <falken@chromium.org>
528 Add ENABLE_DIALOG_ELEMENT and skeleton files
529 https://bugs.webkit.org/show_bug.cgi?id=90521
531 Reviewed by Kent Tamura.
533 This adds the ENABLE_DIALOG_ELEMENT feature flag and dummy implementation files for <dialog>. In addition, a runtime feature flag is added.
534 The feature is diabled by default.
536 No new tests, as there is no behavior change.
539 * Configurations/FeatureDefines.xcconfig:
540 * DerivedSources.cpp:
541 * DerivedSources.make:
542 * DerivedSources.pri:
545 * WebCore.xcodeproj/project.pbxproj:
546 * bindings/generic/RuntimeEnabledFeatures.cpp:
548 * bindings/generic/RuntimeEnabledFeatures.h: Added a runtime feature flag for dialog.
549 (RuntimeEnabledFeatures):
550 (WebCore::RuntimeEnabledFeatures::dialogElementEnabled):
551 (WebCore::RuntimeEnabledFeatures::setDialogElementEnabled):
552 * dom/ContextFeatures.cpp:
553 (WebCore::ContextFeatures::dialogElementEnabled):
555 * dom/ContextFeatures.h: Added a per-context flag for dialog so that dialog can be disabled in HTMLTagNames.in and DOMWindow.idl when the dialog runtime feature flag is off.
556 * html/HTMLDialogElement.cpp: Added.
558 (WebCore::HTMLDialogElement::HTMLDialogElement):
559 (WebCore::HTMLDialogElement::create):
560 (WebCore::HTMLDialogElement::close):
561 (WebCore::HTMLDialogElement::show):
562 * html/HTMLDialogElement.h: Added.
565 * html/HTMLDialogElement.idl: Added.
566 * html/HTMLElementsAllInOne.cpp:
567 * html/HTMLTagNames.in:
568 * page/DOMWindow.idl:
570 2012-07-09 Pavel Feldman <pfeldman@chromium.org>
572 Web Inspector: inspector does not reflect newly created text nodes from contenteditable
573 https://bugs.webkit.org/show_bug.cgi?id=90779
575 Reviewed by Vsevolod Vlasov.
577 We need to report first text node as inserted, otherwise we fail to report character data modified on it.
579 * inspector/InspectorDOMAgent.cpp:
580 (WebCore::InspectorDOMAgent::characterDataModified):
582 2012-07-09 Andrey Kosyakov <caseq@chromium.org>
584 REGRESSION(r121980) Layout Test inspector/timeline/timeline-frames.html started to crash.
585 https://bugs.webkit.org/show_bug.cgi?id=90747
587 Reviewed by Pavel Feldman.
589 - consider didCancelFrame() call normal if there is no pending frame, remove assertion;
590 - always set empty data object for frame records;
592 * inspector/InspectorTimelineAgent.cpp:
593 (WebCore::InspectorTimelineAgent::didCancelFrame):
594 (WebCore::InspectorTimelineAgent::commitFrameRecord):
596 2012-07-09 Taiju Tsuiki <tzik@chromium.org>
598 Web Inspector: Add FileContentView for FileSystemView
599 https://bugs.webkit.org/show_bug.cgi?id=90529
601 Adding FileContentView to Inspector.
602 This class provides preview of text files in FileSystem.
604 Reviewed by Vsevolod Vlasov.
607 * WebCore.vcproj/WebCore.vcproj:
608 * inspector/compile-front-end.py:
609 * inspector/front-end/FileContentView.js: Added.
610 * inspector/front-end/FileSystemView.js:
611 (WebInspector.FileSystemView.prototype.get visibleView):
612 (WebInspector.FileSystemView.EntryTreeElement.prototype.onselect):
613 (WebInspector.FileSystemView.EntryTreeElement.prototype._directoryContentReceived):
614 (WebInspector.FileSystemView.EntryTreeElement.prototype.refresh):
615 * inspector/front-end/WebKit.qrc:
616 * inspector/front-end/inspector.html:
618 2012-07-09 Carlos Garcia Campos <cgarcia@igalia.com>
620 [SOUP] Use soup_cookie_jar_is_persistent() to set whether cookie is a session one or not
621 https://bugs.webkit.org/show_bug.cgi?id=90769
623 Reviewed by Gustavo Noronha Silva.
625 It's currently set to false, because there were no API to know
626 whether cookies were persistent or not. Now that we bumped libsoup
627 requirements, we can use soup_cookie_jar_is_persistent().
629 * platform/network/soup/CookieJarSoup.cpp:
630 (WebCore::getRawCookies):
632 2012-07-09 Taiju Tsuiki <tzik@chromium.org>
634 Web Inspector: Add text file support for FileSystemAgent::requestFileContent
635 https://bugs.webkit.org/show_bug.cgi?id=90439
637 Reviewed by Vsevolod Vlasov.
639 * inspector/Inspector.json:
640 * inspector/InspectorFileSystemAgent.cpp:
642 (WebCore::InspectorFileSystemAgent::requestFileContent):
643 * inspector/InspectorFileSystemAgent.h:
644 (InspectorFileSystemAgent):
645 * inspector/front-end/FileSystemModel.js:
646 (WebInspector.FileSystemModel.prototype.requestFileContent):
647 (WebInspector.FileSystemModel.File.prototype.requestFileContent):
648 (WebInspector.FileSystemRequestManager.prototype._fileContentReceived):
649 (WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
651 2012-07-09 MORITA Hajime <morrita@google.com>
653 [Chromium] ContextFeaturesClient::isEnabled is slow
654 https://bugs.webkit.org/show_bug.cgi?id=90367
656 Reviewed by Kent Tamura.
658 * dom/ContextFeatures.h:
659 (WebCore::ContextFeaturesClient::urlDidChange): Added.
660 (WebCore::ContextFeatures::urlDidChange): Added.
663 (WebCore::Document::setURL): Added an urlDidChange() call.
665 2012-07-09 Andrei Onea <onea@adobe.com>
667 [CSSRegions] Implement NamedFlow::firstEmptyRegionIndex attribute
668 https://bugs.webkit.org/show_bug.cgi?id=90608
670 Reviewed by Andreas Kling.
672 Implemented NamedFlow::firstEmptyRegionIndex as per spec: http://www.w3.org/TR/css3-regions/#dom-named-flow
674 Test: fast/regions/webkit-named-flow-first-empty-region-index.html
676 * dom/WebKitNamedFlow.cpp:
677 (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
679 * dom/WebKitNamedFlow.h:
681 * dom/WebKitNamedFlow.idl:
683 2012-07-08 Yoshifumi Inoue <yosin@chromium.org>
685 [Platform-Mac] Derive LocaleMac.{cpp,h} and LocalizedDateMac.cpp from LocaleWin
686 https://bugs.webkit.org/show_bug.cgi?id=90752
688 Reviewed by Kent Tamura.
690 This patch is preparation of introducing LocaleMac class for localize date form.
691 This patch copies LocaleWin and LocalizedDateWin.cpp as below:
692 - LocaleMac.h from LocaleWin.h
693 - LocaleMac.mm from LocaliedDateMac.mm
694 - LocaliedDateMac.cpp from LocalizedDateWin.cpp
696 Due by git, diffs are appeared as new thing. I'll do svn copy at landing time.
698 No new tests. This patch doesn't change behavior.
700 * platform/text/mac/LocaleMac.h: Copied from platform/text/LocaleWin.h
701 * platform/text/mac/LocaleMac.mm: Copied from platform/text/mac/LocalizedDateMac.mm
702 * platform/text/mac/LocalizedDateMac.cpp: Copied from platform/text/LocalizedDateWin.cpp
704 2012-07-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
706 Introduce a build flag for low quality JPEG images
707 https://bugs.webkit.org/show_bug.cgi?id=90748
709 Reviewed by Adam Barth.
711 Introduce build options for no JPEG dithering (USE(LOW_QUALITY_IMAGE_NO_JPEG_DITHERING))
712 and no JPEG fancy upsampling (USE(LOW_QUALITY_IMAGE_NO_JPEG_FANCY_UPSAMPLING)).
714 No new tests as there is no change in functionality.
716 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
720 2012-07-08 Sheriff Bot <webkit.review.bot@gmail.com>
722 Unreviewed, rolling out r121968.
723 http://trac.webkit.org/changeset/121968
724 https://bugs.webkit.org/show_bug.cgi?id=90749
726 Caused a link error on chromium Win dbg. (Requested by hayato
729 * inspector/InspectorMemoryAgent.cpp:
730 (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
731 * inspector/front-end/NativeMemorySnapshotView.js:
732 (WebInspector.MemoryBlockViewProperties._initialize):
733 * platform/MemoryUsageSupport.cpp:
734 * platform/MemoryUsageSupport.h:
735 (MemoryUsageSupport):
736 * platform/chromium/MemoryUsageSupportChromium.cpp:
738 2012-07-08 Mary Wu <mary.wu@torchmobile.com.cn>
740 [BlackBerry] Make setForceDownload a setter method.
741 https://bugs.webkit.org/show_bug.cgi?id=90591
743 Reviewed by Rob Buis.
745 * platform/network/blackberry/ResourceRequest.h:
746 (WebCore::ResourceRequest::setForceDownload):
748 2012-07-05 MORITA Hajime <morrita@google.com>
750 Heap-use-after-free in WebCore::RenderObject::destroyAndCleanupAnonymousWrappers
751 https://bugs.webkit.org/show_bug.cgi?id=90480
753 Reviewed by Kent Tamura.
755 If <select> has any insertion point, the attachment phase
756 unpextedly creates a renderer for distributed node and added to
757 the renderer of the <select>, which breaks an assumption and
760 This change tighten the childShouldCreateRenderer() to forbid
761 child renderers even from distributed nodes.
763 There is an exception as always: ValidationMessage can create a
764 ShadowRoot to <select>, which generates usually-forbidden child
765 renderers. This change introduces HTMLFormControlElement::validationMessageContains()
766 to let these renderers in.
768 Test: fast/dom/shadow/insertion-point-list-menu-crash.html
770 * html/HTMLFormControlElement.cpp:
771 (WebCore::HTMLFormControlElement::validationMessageContains):
773 * html/HTMLFormControlElement.h:
774 (HTMLFormControlElement):
775 * html/HTMLSelectElement.cpp:
776 (WebCore::HTMLSelectElement::childShouldCreateRenderer):
777 * html/ValidationMessage.cpp:
778 (WebCore::ValidationMessage::contains):
780 * html/ValidationMessage.h:
784 2012-07-07 Kwang Yul Seo <skyul@company100.net>
786 Remove unnecessary member HTMLTreeBuilder::m_lastScriptElementStartPosition
787 https://bugs.webkit.org/show_bug.cgi?id=90726
789 Reviewed by Adam Barth.
791 HTMLTreeBuilder::m_lastScriptElementStartPosition is of no use. Currently,
792 m_lastScriptElementStartPosition is used to store the text position in
793 "script" start tag, and then the stored position is passed to m_scriptToProcessStartPosition
794 later in "script" end tag. Because HTMLTreeBuilder handles one script tag at
795 a time, we can store the text position directly to m_scriptToProcessStartPosition
796 in "script" start tag.
798 No behavior change, so no new tests.
800 * html/parser/HTMLTreeBuilder.cpp:
801 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
802 (WebCore::HTMLTreeBuilder::processEndTag):
803 (WebCore::HTMLTreeBuilder::processScriptStartTag):
804 * html/parser/HTMLTreeBuilder.h:
807 2012-07-08 Philip Rogers <pdr@google.com>
809 Refactor RenderSVGShape to not contain fallback code
810 https://bugs.webkit.org/show_bug.cgi?id=90514
812 Reviewed by Nikolas Zimmermann.
814 The interaction between RenderSVGShape and {RenderSVGEllipse, RenderSVGRect}
815 was too coupled and it was not clear when a path existed or who controlled
816 falling back to path codepaths in RenderSVGShape.
818 This patch cleans up RenderSVGShape so that it does not track fallback state
819 and does not have special handling for creating a shape in strokeContains. Because
820 some functions of RenderSVGShape can be called without a path existing, each
821 of these functions has switched to using the path() function which asserts that
824 There is only one remaining use of hasPath() in RenderSVGShape which I plan
825 to remove in a followup patch.
827 This patch also cleans up RenderSVGRect and RenderSVGEllipse. These classes
828 now handle fallback tracking themselves and choose when to use their optimized
829 strokeContains codepaths.
831 No new tests as this is just a refactoring.
833 * rendering/svg/RenderSVGEllipse.cpp:
834 (WebCore::RenderSVGEllipse::RenderSVGEllipse):
835 (WebCore::RenderSVGEllipse::createShape):
836 (WebCore::RenderSVGEllipse::objectBoundingBox):
837 (WebCore::RenderSVGEllipse::strokeBoundingBox):
838 (WebCore::RenderSVGEllipse::fillShape):
839 (WebCore::RenderSVGEllipse::strokeShape):
840 (WebCore::RenderSVGEllipse::shapeDependentStrokeContains):
841 (WebCore::RenderSVGEllipse::shapeDependentFillContains):
842 * rendering/svg/RenderSVGEllipse.h:
843 (WebCore::RenderSVGEllipse::isEmpty):
845 * rendering/svg/RenderSVGRect.cpp:
846 (WebCore::RenderSVGRect::RenderSVGRect):
847 (WebCore::RenderSVGRect::createShape):
848 (WebCore::RenderSVGRect::objectBoundingBox):
849 (WebCore::RenderSVGRect::strokeBoundingBox):
850 (WebCore::RenderSVGRect::fillShape):
851 (WebCore::RenderSVGRect::strokeShape):
852 (WebCore::RenderSVGRect::shapeDependentStrokeContains):
853 (WebCore::RenderSVGRect::shapeDependentFillContains):
854 * rendering/svg/RenderSVGRect.h:
855 (WebCore::RenderSVGRect::isEmpty):
857 * rendering/svg/RenderSVGShape.cpp:
858 (WebCore::RenderSVGShape::RenderSVGShape):
859 (WebCore::RenderSVGShape::createShape):
860 (WebCore::RenderSVGShape::isEmpty):
861 (WebCore::RenderSVGShape::objectBoundingBox):
862 (WebCore::RenderSVGShape::shapeDependentStrokeContains):
863 (WebCore::RenderSVGShape::shapeDependentFillContains):
864 (WebCore::RenderSVGShape::strokeContains):
865 (WebCore::RenderSVGShape::layout):
866 (WebCore::RenderSVGShape::hasSmoothStroke):
868 * rendering/svg/RenderSVGShape.h:
871 2012-07-08 Kinuko Yasuda <kinuko@chromium.org>
873 XHR.send should support ArrayBufferView
874 https://bugs.webkit.org/show_bug.cgi?id=90536
876 XHR.send should support ArrayBufferView according to the latest draft
877 and also eventually deprecate ArrayBuffer.
878 Spec: http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#dom-xmlhttprequest-send
880 Reviewed by Kenneth Russell.
882 Test: http/tests/xmlhttprequest/send-array-buffer.html
883 http/tests/xmlhttprequest/send-data-view.html
885 * bindings/js/JSXMLHttpRequestCustom.cpp:
886 (WebCore::JSXMLHttpRequest::send):
887 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
888 (WebCore::V8XMLHttpRequest::sendCallback):
889 * xml/XMLHttpRequest.cpp:
891 (WebCore::XMLHttpRequest::send):
892 * xml/XMLHttpRequest.h:
894 * xml/XMLHttpRequest.idl:
896 2012-07-08 Vivek Galatage <vivekgalatage@gmail.com>
898 Web Inspector: CodeGeneratorInspector.py should not generate statements with no effect
899 https://bugs.webkit.org/show_bug.cgi?id=90697
901 Reviewed by Vsevolod Vlasov.
903 Fix to remove the statements with no effect. The check for errors is added only when some valid
906 No new tests as generator related patch.
908 * inspector/CodeGeneratorInspector.py:
909 (Generator.process_command):
911 2012-07-06 Lauro Neto <lauro.neto@openbossa.org>
913 [Qt] Avoid deep copy of QImage in GraphicsContext3D::getImageData()
914 https://bugs.webkit.org/show_bug.cgi?id=90705
916 Reviewed by Noam Rosenthal.
918 Use QImage.constBits() as argument to packPixels instead of bits() to avoid
921 * platform/graphics/qt/GraphicsContext3DQt.cpp:
922 (WebCore::GraphicsContext3D::getImageData):
924 2012-07-06 Andy Estes <aestes@apple.com>
926 Fix errors reported by generate-bindings.pl after r121882.
928 * DerivedSources.make: Specify the correct path for notifications idl
929 files now that notifications/ lives in WebCore/Modules/.
931 2012-07-06 Justin Novosad <junov@chromium.org>
933 Drawing to accelerated 2D canvas causes compositor to recompute layer tree
934 https://bugs.webkit.org/show_bug.cgi?id=90630
936 Reviewed by Simon Fraser.
938 No new tests: covered by existing canvas/compositing layout tests
940 Before this change, there was no distinction between canvas changes
941 that require recomputing the compositor tree and canvas changes that
942 only require re-display. The new CanvasPixelsChanged member of enum
943 ContentChangeType requests re-display without re-layout.
945 * html/canvas/CanvasRenderingContext2D.cpp:
946 (WebCore::CanvasRenderingContext2D::didDraw):
947 * rendering/RenderBoxModelObject.h:
948 * rendering/RenderLayerBacking.cpp:
949 (WebCore::RenderLayerBacking::contentChanged):
951 2012-07-06 Pavel Feldman <pfeldman@chromium.org>
953 Web Inspector: get rid of this._lastMarkedRange in TextEditor.
954 https://bugs.webkit.org/show_bug.cgi?id=90691
956 Reviewed by Vsevolod Vlasov.
958 We don't need it, should use setSelection instead.
960 * inspector/front-end/TextEditor.js:
961 (WebInspector.TextEditor.prototype.markAndRevealRange):
962 (WebInspector.TextEditor.prototype._handleSelectionChange):
963 (WebInspector.TextEditor.prototype.setSelection):
964 (WebInspector.TextEditor.prototype._handleFocused):
966 2012-07-06 Vsevolod Vlasov <vsevik@chromium.org>
968 Web Inspector: Snippet renaming behavior is not correct.
969 https://bugs.webkit.org/show_bug.cgi?id=90689
971 Reviewed by Pavel Feldman.
973 Navigator overlay is now not closed when editing is canceled.
974 Esc handler in NavigatorOverlayController is not installed as a shortcut anymore since
975 it should not be called until all underlying DOM elements handled the key down event.
977 * inspector/front-end/NavigatorOverlayController.js:
978 (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
979 (WebInspector.NavigatorOverlayController.prototype._keyDown):
980 (WebInspector.NavigatorOverlayController.prototype._innerHideNavigatorOverlay):
981 * inspector/front-end/NavigatorView.js:
982 (WebInspector.NavigatorView.prototype.rename.commitHandler):
983 (WebInspector.NavigatorView.prototype.rename.cancelHandler):
984 (WebInspector.NavigatorView.prototype.rename.afterEditing):
985 * inspector/front-end/ScriptsNavigator.js:
986 (WebInspector.ScriptsNavigator):
987 (WebInspector.ScriptsNavigator.prototype._itemRenamingRequested):
988 (WebInspector.SnippetsNavigatorView.prototype._handleRenameSnippet):
989 * inspector/front-end/ScriptsPanel.js:
990 (WebInspector.ScriptsPanel.prototype._itemRenamingRequested.callback):
991 (WebInspector.ScriptsPanel.prototype._itemRenamingRequested):
993 2012-07-06 Andreas Kling <kling@webkit.org>
995 Separate mutating CSSStyleDeclaration operations.
996 <http://webkit.org/b/89945>
998 Reviewed by Antti Koivisto.
1000 Use separate paths for mutating the StylePropertySet wrapped by a CSSStyleDeclaration.
1001 PropertySetCSSStyleDeclaration now has:
1003 - propertySet() const
1004 - ensureMutablePropertySet()
1006 This is prep work for supporting immutable ElementAttributeData objects, the idea being
1007 that calling ensureMutablePropertySet() may cause the element to convert its internal
1008 attribute storage (which also holds the inline StylePropertySet.)
1010 * css/PropertySetCSSStyleDeclaration.cpp:
1011 (WebCore::PropertySetCSSStyleDeclaration::length):
1012 (WebCore::PropertySetCSSStyleDeclaration::item):
1013 (WebCore::PropertySetCSSStyleDeclaration::cssText):
1014 (WebCore::PropertySetCSSStyleDeclaration::setCssText):
1015 (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
1016 (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
1017 (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
1018 (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
1019 (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
1020 (WebCore::PropertySetCSSStyleDeclaration::setProperty):
1021 (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
1022 (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
1023 (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
1024 (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
1025 (WebCore::PropertySetCSSStyleDeclaration::copy):
1026 (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
1027 (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
1028 (WebCore::InlineCSSStyleDeclaration::didMutate):
1029 (WebCore::InlineCSSStyleDeclaration::ensureMutablePropertySet):
1030 * css/PropertySetCSSStyleDeclaration.h:
1031 (PropertySetCSSStyleDeclaration):
1032 (WebCore::PropertySetCSSStyleDeclaration::propertySet):
1033 (WebCore::PropertySetCSSStyleDeclaration::ensureMutablePropertySet):
1035 2012-07-06 Pavel Feldman <pfeldman@chromium.org>
1037 Web Inspector: text editor scrolls 2px horizontally as one navigates the source code.
1038 https://bugs.webkit.org/show_bug.cgi?id=90682
1040 Reviewed by Vsevolod Vlasov.
1042 Removing the hack that is glueing the scroller to the left.
1044 * inspector/front-end/TextEditor.js:
1045 (WebInspector.TextEditor.prototype._updatePanelOffsets):
1046 (WebInspector.TextEditorChunkedPanel.prototype._scroll):
1047 * inspector/front-end/textEditor.css:
1049 2012-07-06 Andrey Kosyakov <caseq@chromium.org>
1051 Web Inspector: get rid of cancellable records in Timeline, manage frame records explicitly
1052 https://bugs.webkit.org/show_bug.cgi?id=90684
1054 Reviewed by Pavel Feldman.
1056 - drop handling of "cancelable" records;
1057 - keep frame record until other records come (or frame is canceled)
1059 * inspector/InspectorTimelineAgent.cpp:
1060 (WebCore::InspectorTimelineAgent::didBeginFrame):
1061 (WebCore::InspectorTimelineAgent::didCancelFrame):
1062 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
1063 (WebCore::InspectorTimelineAgent::pushCurrentRecord):
1064 (WebCore::InspectorTimelineAgent::commitFrameRecord):
1065 (WebCore::InspectorTimelineAgent::clearRecordStack):
1066 * inspector/InspectorTimelineAgent.h:
1067 (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
1068 (TimelineRecordEntry):
1069 (InspectorTimelineAgent):
1071 2012-07-06 Alexei Filippov <alexeif@chromium.org>
1073 Web Inspector: Add native memory used by GlyphCache to the snapshot
1074 https://bugs.webkit.org/show_bug.cgi?id=90615
1076 Reviewed by Yury Semikhatsky.
1078 * inspector/InspectorMemoryAgent.cpp:
1081 (WebCore::addPlatformComponentsInfo):
1082 (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
1083 * inspector/front-end/NativeMemorySnapshotView.js:
1084 (WebInspector.MemoryBlockViewProperties._initialize):
1085 * platform/MemoryUsageSupport.cpp:
1086 (WebCore::MemoryUsageSupport::memoryUsageByComponents):
1088 * platform/MemoryUsageSupport.h:
1089 (MemoryUsageSupport):
1091 (WebCore::MemoryUsageSupport::ComponentInfo::ComponentInfo):
1092 * platform/chromium/MemoryUsageSupportChromium.cpp:
1093 (WebCore::glyphCacheVisitor):
1095 (WebCore::MemoryUsageSupport::memoryUsageByComponents):
1097 2012-07-06 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
1099 [Qt] Switch to new-style Qt 5 configure tests
1101 Use explicit project file action instead of syncqt magic.
1103 https://bugs.webkit.org/show_bug.cgi?id=90461
1105 Reviewed by Tor Arne Vestbø.
1109 2012-07-06 Pavel Feldman <pfeldman@chromium.org>
1111 Web Inspector: start searching from the cursor position in the Sources panel.
1112 https://bugs.webkit.org/show_bug.cgi?id=90677
1114 Reviewed by Vsevolod Vlasov.
1116 Web Inspector: start searching from the cursor position in the Sources panel.
1117 Drive-by: select whole match upon search cancel.
1119 * inspector/front-end/ScriptsPanel.js:
1120 (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
1121 (WebInspector.ScriptsPanel.prototype.performSearch):
1122 * inspector/front-end/SourceFrame.js:
1123 (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
1124 (WebInspector.SourceFrame.prototype.performSearch):
1125 * inspector/front-end/TextEditor.js:
1126 (WebInspector.TextEditor.prototype.lastSelection):
1127 (WebInspector.TextEditor.prototype._handleFocused):
1128 * inspector/front-end/TextEditorModel.js:
1129 (WebInspector.TextRange.prototype.serializeToObject):
1130 (WebInspector.TextRange.prototype.compareTo):
1132 2012-07-06 Vsevolod Vlasov <vsevik@chromium.org>
1134 Web Inspector: Snippets should be correctly (re)loaded when inspector is open and on navigation.
1135 https://bugs.webkit.org/show_bug.cgi?id=90672
1137 Reviewed by Pavel Feldman.
1139 Snippets are now reloaded from the storage on ScriptSnippetMapping reset.
1140 Fixed snippets storage.
1142 * inspector/front-end/ScriptSnippetModel.js:
1143 (WebInspector.ScriptSnippetModel):
1144 (WebInspector.ScriptSnippetModel.prototype._loadSnippets):
1145 (WebInspector.ScriptSnippetModel.prototype._reset):
1146 * inspector/front-end/SnippetStorage.js:
1147 (WebInspector.Snippet.fromObject):
1149 2012-07-06 Vsevolod Vlasov <vsevik@chromium.org>
1151 Web Inspector: Implement snippets removing.
1152 https://bugs.webkit.org/show_bug.cgi?id=90674
1154 Reviewed by Pavel Feldman.
1156 * inspector/front-end/NavigatorView.js:
1157 (WebInspector.NavigatorView.prototype.rename.afterEditing):
1158 * inspector/front-end/ScriptsNavigator.js:
1159 (WebInspector.ScriptsNavigator.prototype.removeUISourceCode):
1160 (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
1161 * inspector/front-end/ScriptsPanel.js:
1162 (WebInspector.ScriptsPanel.prototype._addUISourceCode):
1163 (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
1164 (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
1165 * inspector/front-end/TabbedEditorContainer.js:
1167 2012-07-06 'Pavel Feldman' <pfeldman@chromium.org>
1169 Not reviewed: fix inspector front-end compilation.
1171 * inspector/front-end/ElementsTreeOutline.js:
1172 * inspector/front-end/SearchController.js:
1174 2012-07-06 Yury Semikhatsky <yurys@chromium.org>
1176 Web Inspector: add memory reporting routine to Document
1177 https://bugs.webkit.org/show_bug.cgi?id=90668
1179 Reviewed by Pavel Feldman.
1181 Added methods for reporting HashSet, ListHashSet and Vector memory
1182 footprint. Made Document report its size along with its internal
1186 (WebCore::Document::reportMemoryUsage):
1190 * dom/MemoryInstrumentation.h:
1191 (MemoryInstrumentation):
1193 (WebCore::MemoryObjectInfo::reportHashMap):
1194 (WebCore::MemoryObjectInfo::reportHashSet):
1195 (WebCore::MemoryObjectInfo::reportListHashSet):
1196 (WebCore::MemoryObjectInfo::reportVector):
1197 (WebCore::MemoryObjectInfo::memoryInstrumentation):
1198 (WebCore::MemoryInstrumentation::reportHashMap):
1200 (WebCore::MemoryInstrumentation::reportHashSet):
1201 (WebCore::MemoryInstrumentation::reportListHashSet):
1202 (WebCore::MemoryInstrumentation::reportVector):
1203 * inspector/InspectorMemoryAgent.cpp:
1206 2012-07-06 Gabor Rapcsanyi <rgabor@webkit.org>
1208 Fixing defines for NEON intrinsics.
1209 https://bugs.webkit.org/show_bug.cgi?id=90666
1211 Reviewed by Zoltan Herczeg.
1213 Existing tests cover this issue.
1215 * platform/graphics/filters/FEGaussianBlur.cpp:
1216 (WebCore::FEGaussianBlur::platformApplyGeneric):
1217 * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
1218 * platform/graphics/filters/arm/NEONHelpers.h:
1220 2012-07-05 Vsevolod Vlasov <vsevik@chromium.org>
1222 Web Inspector: Workspace should dispatch WorkspaceReset event on navigation.
1223 https://bugs.webkit.org/show_bug.cgi?id=90616
1225 Reviewed by Pavel Feldman.
1227 Workspace UISourceCodeProviders are now reset on navigation.
1228 UISourceCodeRemoved event is not dispatched from UISourceCodeProviders on reset (page navigation) anymore.
1230 * inspector/front-end/CompilerScriptMapping.js:
1231 (WebInspector.CompilerScriptMapping.prototype.reset):
1232 * inspector/front-end/DebuggerScriptMapping.js:
1233 (WebInspector.DebuggerScriptMapping):
1234 * inspector/front-end/ResourceScriptMapping.js:
1235 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
1236 * inspector/front-end/ScriptSnippetModel.js:
1237 (WebInspector.ScriptSnippetModel.prototype._reset):
1238 * inspector/front-end/ScriptsPanel.js:
1239 (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
1240 (WebInspector.ScriptsPanel.prototype._reset):
1241 (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
1242 (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
1243 (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
1244 * inspector/front-end/StylesPanel.js:
1245 (WebInspector.StylesUISourceCodeProvider):
1246 (WebInspector.StylesUISourceCodeProvider.prototype.reset):
1247 * inspector/front-end/Workspace.js:
1248 (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodeProviders):
1249 (WebInspector.Workspace):
1250 (WebInspector.Workspace.prototype.registerUISourceCodeProvider):
1251 (WebInspector.Workspace.prototype._reset):
1253 2012-07-05 Arnaud Renevier <arno@renevier.net>
1255 [GTK] Showing the context menu in the Web Inspector can crash the browser
1256 https://bugs.webkit.org/show_bug.cgi?id=88800
1258 Reviewed by Carlos Garcia Campos.
1260 Remove ContextMenuItem from its parent before appending it again to a
1263 No new tests, behavior is unchanged.
1265 * platform/gtk/ContextMenuGtk.cpp:
1266 (WebCore::ContextMenu::appendItem):
1268 2012-07-05 Dongwoo Im <dw.im@samsung.com>
1270 [EFL] Unreviewed, Fix build break when WEB_AUDIO is enabled.
1271 https://bugs.webkit.org/show_bug.cgi?id=90653
1273 Unreviewed build fix.
1275 A new file, AudioFIFO.cpp, is added for the Web Audio fearure.
1276 This file should be included into the CMakeLists.txt file.
1278 * CMakeLists.txt: Add the newly created file into the CMakeLists.txt
1280 2012-07-05 Mike West <mkwst@chromium.org>
1282 Multiple Content Security Policy headers are correctly processed as separate headers.
1283 https://bugs.webkit.org/show_bug.cgi?id=90629
1285 Headers of the same name are normalized into a single, comma-separated
1286 string as per RFC2616, section 4.2. We didn't correctly account for this
1287 in ContentSecurityPolicy::didReceiveHeader. Now we do by walking through
1288 the header string, looking for commas and processing each block in turn.
1290 This oversight bit Firefox as well, and was patched in February:
1291 https://bugzilla.mozilla.org/show_bug.cgi?id=717511
1293 Reviewed by Adam Barth.
1295 Test: http/tests/security/contentSecurityPolicy/directive-parsing-multiple-headers.html
1297 * page/ContentSecurityPolicy.cpp:
1298 (WebCore::ContentSecurityPolicy::didReceiveHeader):
1300 2012-07-05 Sheriff Bot <webkit.review.bot@gmail.com>
1302 Unreviewed, rolling out r121921.
1303 http://trac.webkit.org/changeset/121921
1304 https://bugs.webkit.org/show_bug.cgi?id=90648
1306 caused hundreds of crashes on Mac (Requested by pizlo on
1309 * editing/SurroundingText.cpp:
1310 (WebCore::SurroundingText::SurroundingText):
1311 * editing/TextIterator.cpp:
1312 (WebCore::CharacterIterator::advance):
1313 (WebCore::BackwardsCharacterIterator::advance):
1315 2012-07-05 Anders Carlsson <andersca@apple.com>
1317 Type-ahead doesn't work in options inside optgroups
1318 https://bugs.webkit.org/show_bug.cgi?id=90647
1319 <rdar://problem/5604894>
1321 Reviewed by Dan Bernstein.
1323 Set the title of the menu item to a string that doesn't contain any leading or trailing whitespace.
1325 * platform/mac/PopupMenuMac.mm:
1326 (WebCore::PopupMenuMac::populate):
1328 2012-07-05 Hayato Ito <hayato@chromium.org>
1330 [Crash] Click an element which will be 'display: none' on focus.
1331 https://bugs.webkit.org/show_bug.cgi?id=90516
1333 Reviewed by Hajime Morita.
1335 EventHandler::handleMousePressEventSingleClick checks whether
1336 innerNode has a renderer in the beginning of the function. But
1337 the renderer may disappear in the middle of the function since its
1338 style has just become 'display:none'. As a result, it touches null renderer
1339 in EventHandler.cpp:517:
1340 VisiblePosition visiblePos(innerNode->renderer()->positionForPoint(event.localPoint()));
1341 In the case of 'display:none', we don't have to continue. So call
1342 updateLayoutIgnorePendingStylesheets() in the beginning so that we
1343 can early exit and do not touch null renderer.
1345 Test: fast/events/display-none-on-focus-crash.html
1347 * page/EventHandler.cpp:
1348 (WebCore::EventHandler::handleMousePressEventSingleClick):
1350 2012-07-05 Benjamin Poulain <bpoulain@apple.com>
1352 Double release of resources if the load is canceled in a callback of ResourceLoader::didFinishLoading
1353 https://bugs.webkit.org/show_bug.cgi?id=90431
1355 Reviewed by Anders Carlsson.
1357 In ResourceLoader::didFinishLoadingOnePart(), we invoke didFinishLoad() on the WebKit client. If WebKit
1358 causes the current frame to cancel the load synchronously, the resources are already freed when
1359 ResourceLoader::didFinishLoadingOnePart() ends.
1360 When ResourceLoader::didFinishLoading() subsequently invokes releaseResources(), we are releasing the
1361 resources a second time.
1363 This patch add a second check for cancellation after invoking ResourceLoader::didFinishLoadingOnePart() to
1366 The previous check at the beginning of ResourceLoader::didFinishLoading() has been removed because it is
1367 redundant with ResourceLoader::didFinishLoadingOnePart().
1369 * loader/ResourceLoader.cpp:
1370 (WebCore::ResourceLoader::didFinishLoading):
1371 (WebCore::ResourceLoader::didFinishLoadingOnePart):
1373 2012-07-05 Simon Fraser <simon.fraser@apple.com>
1375 Add a utility method for hasOverflowClip() or hasClip()
1376 https://bugs.webkit.org/show_bug.cgi?id=90635
1378 Reviewed by Dean Jackson.
1380 Add RenderObject::hasClipOrOverflowClip() as a convenience method
1381 since we end up calling hasOverfFlowClip() || hasClip() a lot in the layer code.
1383 No new tests; refactoring only.
1385 * rendering/RenderLayer.cpp:
1386 (WebCore::RenderLayer::calculateClipRects):
1387 (WebCore::RenderLayer::calculateRects):
1388 * rendering/RenderLayerCompositor.cpp:
1389 (WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer):
1390 (WebCore::RenderLayerCompositor::clipsCompositingDescendants):
1391 * rendering/RenderObject.h:
1392 (WebCore::RenderObject::hasClipOrOverflowClip):
1394 2012-07-05 Yongjun Zhang <yongjun_zhang@apple.com>
1396 Code refactoring: move mimeTypeFromUTITree to a separate file.
1397 https://bugs.webkit.org/show_bug.cgi?id=90619
1399 We should move UTI handling related code to a separate file.
1401 Reviewed by David Kilzer.
1403 * WebCore.xcodeproj/project.pbxproj: Add UTIUtilities.h/UTIUtilities.mm to xcode project, and drive-by fix
1404 that happened when editing the Xcode project file.
1405 * platform/network/mac/UTIUtilities.h: Added.
1407 * platform/network/mac/UTIUtilities.mm: Added. move mimeTypeFromUTITree to UTIUtilities.mm.
1409 (WebCore::mimeTypeFromUTITree):
1410 * platform/network/mac/WebCoreURLResponse.mm: include UTIUtilities.h to use mimeTypeFromUTITree.
1413 2012-07-05 Leandro Gracia Gil <leandrogracia@chromium.org>
1415 Character iterators should not advance if they are at end
1416 https://bugs.webkit.org/show_bug.cgi?id=90560
1418 Reviewed by Ryosuke Niwa.
1420 CharacterIterator and BackwardsCharacterIterator try to advance their
1421 internal TextIterator without checking if they already are at end.
1422 This can cause crashes in TextIterator::advance.
1424 Test: platform/chromium/editing/surrounding-text/surrounding-text.html
1426 * editing/SurroundingText.cpp:
1427 (WebCore::SurroundingText::SurroundingText):
1428 * editing/TextIterator.cpp:
1429 (WebCore::CharacterIterator::advance):
1430 (WebCore::BackwardsCharacterIterator::advance):
1432 2012-07-05 John Mellor <johnme@chromium.org>
1434 Text Autosizing: Add basic framework
1435 https://bugs.webkit.org/show_bug.cgi?id=88655
1437 Follow-up patch tweaking method signatures.
1439 Reviewed by Simon Fraser.
1441 No functional change, so no new tests.
1443 * page/FrameView.cpp:
1444 (WebCore::FrameView::layout):
1445 * rendering/TextAutosizer.cpp:
1446 (WebCore::TextAutosizer::processSubtree):
1447 (WebCore::TextAutosizer::processBlock):
1448 (WebCore::TextAutosizer::processText):
1450 * rendering/TextAutosizer.h:
1453 2012-07-05 Pavel Feldman <pfeldman@chromium.org>
1455 Web Inspector: move cursor to the current search match.
1456 https://bugs.webkit.org/show_bug.cgi?id=90621
1458 Reviewed by Vsevolod Vlasov.
1460 After closing the search dialog, the cursor should be at the latest search match location.
1462 * inspector/front-end/TextEditor.js:
1463 (WebInspector.TextEditor.prototype.markAndRevealRange):
1464 (WebInspector.TextEditor.prototype._handleFocused):
1466 2012-07-05 Behdad Esfahbod <behdad@behdad.org>
1468 Subpixel layout broken with spans with CSS position other than static
1469 https://bugs.webkit.org/show_bug.cgi?id=90097
1471 Reviewed by Eric Seidel.
1473 In InlineBox, don't truncate size to integers when returning.
1475 In RenderBlock, don't round-up width to next integer. Round-up to
1476 next LayoutUnit instead.
1478 Test: Added fast/sub-pixel/size-of-span-with-different-positions.html
1479 Adjust expected outputs affected by the rounding changes.
1481 * platform/FractionalLayoutUnit.h:
1482 (WebCore::FractionalLayoutUnit::fromFloatCeil):
1483 (FractionalLayoutUnit):
1484 * rendering/InlineBox.h:
1485 (WebCore::InlineBox::size):
1486 * rendering/RenderBlock.cpp:
1487 (WebCore::updatePreferredWidth):
1489 2012-07-05 Nate Chapin <japhet@chromium.org>
1491 REGRESSION (r115654): Sometimes does not replace content for multipart/x-mixed-replace
1492 https://bugs.webkit.org/show_bug.cgi?id=88436
1494 Reviewed by Brady Eidson.
1496 Test: http/tests/multipart/multipart-replace-non-html-content.php
1498 * loader/DocumentLoader.cpp:
1499 (WebCore::DocumentLoader::commitData): We should only send receivedFirstData() once per main resource load,
1500 rather than multiple times in a multipart load.
1501 (WebCore::DocumentLoader::setupForReplaceByMIMEType): m_gotFirstByte isn't set to true until data is
1502 actually committed, and multipart data is often not committed until the part is finished. Check
1503 whether the SharedBuffer is non-null instead.
1504 * testing/js/WebCoreTestSupport.cpp:
1505 (WebCoreTestSupport::resetInternalsObject): The JSInternals object my have already been cleared if the window shell
1506 was cleared as part of creation of a new Document. Check it before using it.
1508 2012-07-05 Pavel Feldman <pfeldman@chromium.org>
1510 Web Inspector: move search field to the bottom of the page.
1511 https://bugs.webkit.org/show_bug.cgi?id=90610
1513 Reviewed by Vsevolod Vlasov.
1515 This is the first step in the Search/replace implementation. This change moves search
1516 field from the inspector toolbar to the inspector view footer that is visible upon Cmd/Ctrl+F.
1518 * English.lproj/localizedStrings.js:
1519 * inspector/front-end/InspectorView.js:
1520 (WebInspector.InspectorView):
1521 (WebInspector.InspectorView.prototype._pushToHistory):
1522 (WebInspector.InspectorView.prototype.panelsElement):
1523 (WebInspector.InspectorView.prototype.setFooterElement):
1524 * inspector/front-end/Panel.js:
1525 (WebInspector.Panel.prototype.show):
1526 * inspector/front-end/ProfilesPanel.js:
1527 (WebInspector.ProfilesPanel.prototype._reset):
1528 * inspector/front-end/SearchController.js:
1529 (WebInspector.SearchController):
1530 (WebInspector.SearchController.prototype.updateSearchLabel):
1531 (WebInspector.SearchController.prototype.cancelSearch):
1532 (WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
1533 (WebInspector.SearchController.prototype.focusSearchField):
1534 (WebInspector.SearchController.prototype._onKeyDown):
1535 (WebInspector.SearchController.prototype._onNextButtonSearch):
1536 (WebInspector.SearchController.prototype._onPrevButtonSearch):
1537 (WebInspector.SearchController.prototype._performSearch):
1538 * inspector/front-end/inspector.css:
1540 (.toolbar-search-container):
1541 (.toolbar-search-navigation):
1542 (.toolbar-search-navigation:hover):
1543 (.toolbar-search-navigation.toolbar-search-navigation-prev):
1544 (.toolbar-search-navigation.toolbar-search-navigation-next):
1545 (.toolbar-search-navigation-hidden):
1547 (.search-drawer-header input[type="search"].search-config-search):
1548 (.inspector-footer):
1549 (.inspector-footer > div):
1550 * inspector/front-end/inspector.html:
1551 * inspector/front-end/inspector.js:
1552 (WebInspector.get _setCompactMode):
1553 (WebInspector.postDocumentKeyDown):
1555 2012-07-05 Sergey Rogulenko <rogulenko@google.com>
1557 Web Inspector: added low-level instrumentation support for TimelineAgent
1558 https://bugs.webkit.org/show_bug.cgi?id=90264
1560 Reviewed by Pavel Feldman.
1562 * inspector/InspectorInstrumentation.cpp:
1563 (WebCore::InspectorInstrumentation::timelineAgentForOrphanEvents):
1564 (WebCore::InspectorInstrumentation::setTimelineAgentForOrphanEvents):
1565 (WebCore::InspectorInstrumentation::threadSpecificTimelineAgentForOrphanEvents):
1566 * inspector/InspectorInstrumentation.h:
1567 (InspectorInstrumentation):
1568 * inspector/InspectorTimelineAgent.cpp:
1569 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
1570 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1571 (WebCore::InspectorTimelineAgent::pushCurrentRecord):
1572 * inspector/InspectorTimelineAgent.h:
1573 (InspectorTimelineAgent):
1575 2012-07-05 John Mellor <johnme@chromium.org>
1577 Text Autosizing: Add test framework and simple test.
1578 https://bugs.webkit.org/show_bug.cgi?id=90561
1580 Exposes methods allowing Layout Tests to enable Text Autosizing and
1581 get the same results as if they were running on a mobile device.
1583 Reviewed by Adam Barth.
1585 Test: fast/text-autosizing/simple-paragraph.html
1587 * page/Settings.cpp:
1588 (WebCore::Settings::Settings):
1590 (WebCore::Settings::setTextAutosizingWindowSizeOverride):
1593 (WebCore::Settings::textAutosizingWindowSizeOverride):
1594 * rendering/TextAutosizer.cpp:
1595 (WebCore::TextAutosizer::boostSubtree):
1596 * testing/InternalSettings.cpp:
1597 (WebCore::InternalSettings::InternalSettings):
1598 (WebCore::InternalSettings::restoreTo):
1599 (WebCore::InternalSettings::setTextAutosizingEnabled):
1601 (WebCore::InternalSettings::setTextAutosizingWindowSizeOverride):
1602 * testing/InternalSettings.h:
1604 * testing/InternalSettings.idl:
1606 2012-07-04 Andrey Kosyakov <caseq@chromium.org>
1608 Web Inspector: timeline events in the vicinity of event dividers some times are tricky to expand
1609 https://bugs.webkit.org/show_bug.cgi?id=90572
1611 Reviewed by Pavel Feldman.
1613 - do not use resources-event-divider-padding;
1614 - make dividers larger and use border-color to visualize them;
1615 - move resources-<color>-divider to timelinePanel.css, as they're not used outside of timeline;
1617 * inspector/front-end/TimelinePresentationModel.js:
1618 (WebInspector.TimelinePresentationModel.createEventDivider):
1619 * inspector/front-end/inspectorCommon.css:
1620 * inspector/front-end/timelinePanel.css:
1621 (.timeline .resources-event-divider):
1622 (.resources-red-divider):
1623 (.resources-blue-divider):
1624 (.resources-orange-divider):
1625 (.resources-divider.last):
1626 (.timeline .resources-event-divider.timeline-frame-divider):
1628 2012-07-04 Andrey Kosyakov <caseq@chromium.org>
1630 Web Inspector: incorrect height of main timeline pane after switching to memory mode
1631 https://bugs.webkit.org/show_bug.cgi?id=90387
1633 Reviewed by Pavel Feldman.
1635 * inspector/front-end/TimelinePanel.js:
1636 (WebInspector.TimelinePanel.prototype._splitterDragging):
1637 (WebInspector.TimelinePanel.prototype.set _setSplitterPosition):
1638 (WebInspector.TimelinePanel.prototype._overviewModeChanged):
1640 2012-07-05 Vivek Galatage <vivekgalatage@gmail.com>
1642 Web Inspector: Add support for keyboard increment / decrement on numbers in attributes in Elements Panel
1643 https://bugs.webkit.org/show_bug.cgi?id=89586
1645 Reviewed by Pavel Feldman
1647 Refactoring the key events while editing style property values. Migrated the code to UIUtils.js and referred
1648 from StylesSidebarPane.js, ElementsTreeOutline.js and MetricsSidebarPane.js.
1650 No new tests as code refactoring and UI feature added to ElementsTreeOutline.js
1652 * inspector/front-end/ElementsTreeOutline.js:
1653 (WebInspector.ElementsTreeElement.prototype._startEditingAttribute.handleKeyDownEvents):
1654 (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
1655 * inspector/front-end/MetricsSidebarPane.js:
1656 (WebInspector.MetricsSidebarPane.prototype._handleKeyDown.finishHandler):
1657 (WebInspector.MetricsSidebarPane.prototype._handleKeyDown.customNumberHandler):
1658 (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
1659 * inspector/front-end/StylesSidebarPane.js:
1660 (WebInspector.StylesSidebarPane.prototype._handleNameOrValueUpDown.finishHandler):
1661 (WebInspector.StylesSidebarPane.prototype._handleNameOrValueUpDown):
1662 * inspector/front-end/UIUtils.js:
1663 (WebInspector._modifiedHexValue):
1664 (WebInspector._modifiedFloatNumber):
1665 (WebInspector.handleElementValueModifications):
1667 2012-07-05 Gabor Rapcsanyi <rgabor@webkit.org>
1669 NEON intrinsics should be used with gaussian blur filter
1670 https://bugs.webkit.org/show_bug.cgi?id=90166
1672 Reviewed by Zoltan Herczeg.
1674 Rewrite inline assembly to NEON intrinsics for better portabilty
1675 and readibility. Remove unnecessary FEGaussianBlurNEON.cpp and add
1676 NEONHelpers.h to the project which will contains the shared
1677 NEON code of the filters.
1679 Existing tests cover this issue.
1682 * GNUmakefile.list.am:
1685 * WebCore.vcproj/WebCore.vcproj:
1686 * WebCore.xcodeproj/project.pbxproj:
1687 * platform/graphics/filters/FEGaussianBlur.cpp:
1688 (WebCore::FEGaussianBlur::platformApplyGeneric):
1689 (WebCore::FEGaussianBlur::platformApplyWorker):
1690 * platform/graphics/filters/FEGaussianBlur.h:
1692 * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Removed.
1693 * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
1694 (WebCore::boxBlurNEON):
1695 * platform/graphics/filters/arm/NEONHelpers.h: Added.
1697 (WebCore::loadRGBA8AsFloat):
1698 (WebCore::storeFloatAsRGBA8):
1700 2012-07-05 Sam D <dsam2912@gmail.com>
1702 Web Inspector: Having a "Scroll into view" for nodes through web inspector.
1703 https://bugs.webkit.org/show_bug.cgi?id=89554
1705 Added options for scrolling-into-view the element node through web
1708 Reviewed by Pavel Feldman.
1710 No new tests. UI change.
1712 * English.lproj/localizedStrings.js:
1713 * inspector/front-end/ElementsTreeOutline.js:
1714 (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
1716 * inspector/front-end/RemoteObject.js:
1717 (WebInspector.RemoteObject.prototype.callFunction):
1719 2012-07-05 Zan Dobersek <zandobersek@gmail.com>
1721 Add Gamepad logging channel
1722 https://bugs.webkit.org/show_bug.cgi?id=90570
1724 Reviewed by Carlos Garcia Campos.
1726 Add a new logging channel for logging significant
1727 events that are related to Gamepad API implementation.
1729 No new tests - no new testable functionality.
1731 * platform/Logging.cpp:
1733 (WebCore::getChannelFromName):
1734 * platform/Logging.h:
1736 * platform/gtk/GamepadsGtk.cpp: Log when a device is
1737 registered or unregistered.
1738 (WebCore::GamepadsGtk::registerDevice):
1739 (WebCore::GamepadsGtk::unregisterDevice):
1741 2012-07-05 Peter Wang <peter.wang@torchmobile.com.cn>
1743 Web Inspector: [JSC] support JS execution in the context of an isolated world
1744 https://bugs.webkit.org/show_bug.cgi?id=85709
1746 Reviewed by Gavin Barraclough.
1748 No new test case for this bug.
1750 * bindings/js/ScriptController.cpp:
1751 (WebCore::ScriptController::collectIsolatedContexts):
1754 2012-07-04 Huang Dongsung <luxtella@company100.net>
1756 Add virtual keyword to ~BitmapImage and ~StillImage because ~Image is virtual.
1757 https://bugs.webkit.org/show_bug.cgi?id=90447
1759 Reviewed by Alexey Proskuryakov.
1761 No new tests. This patch doesn't change behavior.
1763 * platform/graphics/BitmapImage.h:
1765 * platform/graphics/qt/StillImageQt.h:
1768 2012-07-04 Mike West <mkwst@chromium.org>
1770 Implement the script-nonce Content Security Policy directive.
1771 https://bugs.webkit.org/show_bug.cgi?id=89577
1773 Reviewed by Adam Barth.
1775 This patch implements the (experimental) script-nonce Content Security
1776 Policy directive from the 1.1 spec, which allows for selective
1777 execution of script by specifying a "nonce" attribute for the
1778 script tag. Script is only loaded and executed if it both matches the
1779 nonce and matches the script-src whitelist (if present).
1781 The implementation is gated on the ENABLE_CSP_NEXT flag, which is
1782 currently disabled for all ports other than Chromium.
1784 Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-nonce--experimental
1786 Tests: http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed.html
1787 http/tests/security/contentSecurityPolicy/1.1/scriptnonce-badnonce.html
1788 http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked.html
1789 http/tests/security/contentSecurityPolicy/1.1/scriptnonce-emptynonce.html
1790 http/tests/security/contentSecurityPolicy/1.1/scriptnonce-scriptsrc-blocked.html
1792 * dom/ScriptElement.cpp:
1793 (WebCore::ScriptElement::requestScript):
1794 (WebCore::ScriptElement::executeScript):
1795 Passing the nonce attribute through to check against CSP.
1796 * html/HTMLAttributeNames.in:
1797 * html/HTMLScriptElement.idl:
1798 Adding the `nonce` attribute to the script tag.
1799 * page/ContentSecurityPolicy.cpp:
1801 (WebCore::CSPDirectiveList::logInvalidNonce):
1803 (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
1804 (WebCore::CSPDirectiveList::allowJavaScriptURLs):
1805 (WebCore::CSPDirectiveList::allowInlineEventHandlers):
1806 If a nonce is set, deny JavaScript URLs and inline event handlers.
1807 (WebCore::CSPDirectiveList::allowScriptNonce):
1808 (WebCore::CSPDirectiveList::parseScriptNonce):
1809 (WebCore::CSPDirectiveList::addDirective):
1810 (WebCore::isAllowedByAllWithNonce):
1811 (WebCore::ContentSecurityPolicy::allowScriptNonce):
1812 * page/ContentSecurityPolicy.h:
1815 2012-07-04 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1817 Notifications should be in Modules/notifications
1818 https://bugs.webkit.org/show_bug.cgi?id=82121
1820 Reviewed by Adam Barth.
1822 The notifications directory is now self-contained. This patch moves it to the Modules directory.
1824 No new tests, covered by existing tests.
1827 * DerivedSources.make:
1828 * DerivedSources.pri:
1830 * GNUmakefile.list.am:
1831 * Modules/notifications/DOMWindowNotifications.cpp: Renamed from Source/WebCore/notifications/DOMWindowNotifications.cpp.
1833 (WebCore::DOMWindowNotifications::DOMWindowNotifications):
1834 (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
1835 (WebCore::DOMWindowNotifications::from):
1836 (WebCore::DOMWindowNotifications::webkitNotifications):
1837 (WebCore::DOMWindowNotifications::disconnectFrameForPageCache):
1838 (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache):
1839 (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInCachedFrame):
1840 (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInFrame):
1841 (WebCore::DOMWindowNotifications::willDetachGlobalObjectFromFrame):
1842 * Modules/notifications/DOMWindowNotifications.h: Renamed from Source/WebCore/notifications/DOMWindowNotifications.h.
1844 (DOMWindowNotifications):
1845 * Modules/notifications/DOMWindowNotifications.idl: Renamed from Source/WebCore/notifications/DOMWindowNotifications.idl.
1846 * Modules/notifications/Notification.cpp: Renamed from Source/WebCore/notifications/Notification.cpp.
1848 (WebCore::Notification::Notification):
1849 (WebCore::Notification::~Notification):
1850 (WebCore::Notification::create):
1851 (WebCore::getAndAddEventListener):
1852 (WebCore::Notification::interfaceName):
1853 (WebCore::Notification::show):
1854 (WebCore::Notification::close):
1855 (WebCore::Notification::eventTargetData):
1856 (WebCore::Notification::ensureEventTargetData):
1857 (WebCore::Notification::contextDestroyed):
1858 (WebCore::Notification::finalize):
1859 (WebCore::Notification::dispatchShowEvent):
1860 (WebCore::Notification::dispatchClickEvent):
1861 (WebCore::Notification::dispatchCloseEvent):
1862 (WebCore::Notification::dispatchErrorEvent):
1863 (WebCore::Notification::taskTimerFired):
1864 (WebCore::Notification::permissionLevel):
1865 (WebCore::Notification::permissionString):
1866 (WebCore::Notification::requestPermission):
1867 * Modules/notifications/Notification.h: Renamed from Source/WebCore/notifications/Notification.h.
1870 (WebCore::Notification::cancel):
1871 (WebCore::Notification::isHTML):
1872 (WebCore::Notification::setHTML):
1873 (WebCore::Notification::url):
1874 (WebCore::Notification::setURL):
1875 (WebCore::Notification::iconURL):
1876 (WebCore::Notification::title):
1877 (WebCore::Notification::body):
1878 (WebCore::Notification::dir):
1879 (WebCore::Notification::setDir):
1880 (WebCore::Notification::replaceId):
1881 (WebCore::Notification::setReplaceId):
1882 (WebCore::Notification::tag):
1883 (WebCore::Notification::setTag):
1884 (WebCore::Notification::direction):
1885 (WebCore::Notification::scriptExecutionContext):
1886 (WebCore::Notification::detachPresenter):
1887 (WebCore::Notification::setBody):
1888 (WebCore::Notification::refEventTarget):
1889 (WebCore::Notification::derefEventTarget):
1890 * Modules/notifications/Notification.idl: Renamed from Source/WebCore/notifications/Notification.idl.
1891 * Modules/notifications/NotificationCenter.cpp: Renamed from Source/WebCore/notifications/NotificationCenter.cpp.
1893 (WebCore::NotificationCenter::create):
1894 (WebCore::NotificationCenter::NotificationCenter):
1895 (WebCore::NotificationCenter::checkPermission):
1896 (WebCore::NotificationCenter::requestPermission):
1897 (WebCore::NotificationCenter::stop):
1898 (WebCore::NotificationCenter::requestTimedOut):
1899 (WebCore::NotificationCenter::NotificationRequestCallback::createAndStartTimer):
1900 (WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback):
1901 (WebCore::NotificationCenter::NotificationRequestCallback::startTimer):
1902 (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
1903 * Modules/notifications/NotificationCenter.h: Renamed from Source/WebCore/notifications/NotificationCenter.h.
1905 (NotificationCenter):
1906 (WebCore::NotificationCenter::createHTMLNotification):
1907 (WebCore::NotificationCenter::createNotification):
1908 (WebCore::NotificationCenter::client):
1909 (NotificationRequestCallback):
1910 * Modules/notifications/NotificationCenter.idl: Renamed from Source/WebCore/notifications/NotificationCenter.idl.
1911 * Modules/notifications/NotificationClient.h: Renamed from Source/WebCore/notifications/NotificationClient.h.
1913 (NotificationClient):
1914 (WebCore::NotificationClient::clearNotifications):
1915 (WebCore::NotificationClient::~NotificationClient):
1916 * Modules/notifications/NotificationController.cpp: Renamed from Source/WebCore/notifications/NotificationController.cpp.
1918 (WebCore::NotificationController::NotificationController):
1919 (WebCore::NotificationController::~NotificationController):
1920 (WebCore::NotificationController::create):
1921 (WebCore::NotificationController::clientFrom):
1922 (WebCore::NotificationController::supplementName):
1923 (WebCore::provideNotification):
1924 * Modules/notifications/NotificationController.h: Renamed from Source/WebCore/notifications/NotificationController.h.
1926 (NotificationController):
1927 (WebCore::NotificationController::from):
1928 (WebCore::NotificationController::client):
1929 * Modules/notifications/NotificationPermissionCallback.h: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.h.
1931 (NotificationPermissionCallback):
1932 (WebCore::NotificationPermissionCallback::~NotificationPermissionCallback):
1933 * Modules/notifications/NotificationPermissionCallback.idl: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.idl.
1934 * Modules/notifications/WorkerContextNotifications.cpp: Renamed from Source/WebCore/notifications/WorkerContextNotifications.cpp.
1936 (WebCore::WorkerContextNotifications::WorkerContextNotifications):
1937 (WebCore::WorkerContextNotifications::~WorkerContextNotifications):
1938 (WebCore::WorkerContextNotifications::from):
1939 (WebCore::WorkerContextNotifications::webkitNotifications):
1940 * Modules/notifications/WorkerContextNotifications.h: Renamed from Source/WebCore/notifications/WorkerContextNotifications.h.
1942 (WorkerContextNotifications):
1943 * Modules/notifications/WorkerContextNotifications.idl: Renamed from Source/WebCore/notifications/WorkerContextNotifications.idl.
1945 * WebCore.gyp/WebCore.gyp:
1948 * WebCore.vcproj/WebCore.vcproj:
1949 * WebCore.vcproj/WebCoreCommon.vsprops:
1950 * WebCore.vcproj/copyForwardingHeaders.cmd:
1951 * WebCore.xcodeproj/project.pbxproj:
1953 2012-07-04 Hayato Ito <hayato@chromium.org>
1955 Remove inline keywords from functions which can not be inlined in ComposedShadowTreeWalker
1956 https://bugs.webkit.org/show_bug.cgi?id=90432
1958 Reviewed by Hajime Morita.
1960 No new tests - no functional changes.
1962 * dom/ComposedShadowTreeWalker.cpp:
1963 (WebCore::ComposedShadowTreeWalker::traverseParent):
1964 (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
1966 2012-07-04 Luke Macpherson <macpherson@chromium.org>
1968 Inspector crashes when trying to inspect a page with CSS variables
1969 https://bugs.webkit.org/show_bug.cgi?id=89818
1971 Reviewed by Antti Koivisto.
1973 Patch works by fixing treating handling of CSSPropertyID == CSSPropertyVariable as a special case,
1974 and looking up the author-defined property name from the CSSValue.
1976 Added test inspector/styles/variables/css-variables.html that inspects an element using CSS variables.
1977 Test is skipped when variables are compiled out.
1979 * css/CSSProperty.cpp:
1980 (WebCore::CSSProperty::cssName):
1982 (WebCore::CSSProperty::cssText):
1983 * css/CSSProperty.h:
1985 * css/PropertySetCSSStyleDeclaration.cpp:
1986 (WebCore::PropertySetCSSStyleDeclaration::item):
1987 * css/StylePropertySet.cpp:
1988 (WebCore::StylePropertySet::asText):
1989 * inspector/InspectorStyleSheet.cpp:
1990 (WebCore::InspectorStyle::populateAllProperties):
1992 2012-07-04 Anthony Scian <ascian@rim.com>
1994 Web Inspector [JSC]: Implement ScriptCallStack::stackTrace
1995 https://bugs.webkit.org/show_bug.cgi?id=40118
1997 Reviewed by Yong Li.
1999 Implemented stub for createScriptCallStack to call into
2000 Interpreter and extract the current stack frames, iterate
2001 through the frames and create the return result required.
2003 No new tests, manually tested thrown exception and inspector
2006 * bindings/js/ScriptCallStackFactory.cpp:
2007 (WebCore::createScriptCallStack):
2009 2012-07-04 Dana Jansens <danakj@chromium.org>
2011 [chromium] Respect memory needed for RenderSurfaces when reserving contents textures
2012 https://bugs.webkit.org/show_bug.cgi?id=89901
2014 Reviewed by Adrienne Walker.
2016 Treat the memory allocation given to a tab as an allocation for its
2017 contents and surfaces. Then only use up contents memory such that
2018 the surface textures will still fit within the limit. Report histograms
2019 for the amount of contents and surface texture memory used by each
2020 frame generated by the main thread.
2022 In the context of ubercomp, each nested compositor will use less memory
2023 for contents ensuring that the root compositor has space for surfaces
2024 caused by that nested compositor.
2026 Since surface memory can no longer be taken by contents, we remove the
2027 preferred memory limit from the texture manager.
2029 Tests: TiledLayerChromiumTest.dontAllocateContentsWhenTargetSurfaceCantBeAllocated
2030 CCPrioritizedTextureTest.renderSurfacesReduceMemoryAvailableOutsideRootSurface
2031 CCPrioritizedTextureTest.renderSurfacesReduceMemoryAvailableForRequestLate
2032 CCPrioritizedTextureTest.whenRenderSurfaceNotAvailableTexturesAlsoNotAvailable
2034 * platform/graphics/chromium/LayerRendererChromium.cpp:
2035 (WebCore::LayerRendererChromium::drawBackgroundFilters):
2036 * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2037 (WebCore::ScrollbarLayerChromium::setTexturePriorities):
2038 * platform/graphics/chromium/TiledLayerChromium.cpp:
2039 (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
2040 * platform/graphics/chromium/TiledLayerChromium.h:
2041 (TiledLayerChromium):
2042 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2043 (WebCore::CCLayerTreeHost::initializeLayerRenderer):
2044 (WebCore::CCLayerTreeHost::updateLayers):
2045 (WebCore::CCLayerTreeHost::prioritizeTextures):
2046 (WebCore::CCLayerTreeHost::paintLayerContents):
2047 * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
2048 (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
2049 (WebCore::CCOverdrawMetrics::didUseContentsTextureMemoryBytes):
2051 (WebCore::CCOverdrawMetrics::didUseRenderSurfaceTextureMemoryBytes):
2052 (WebCore::CCOverdrawMetrics::recordMetricsInternal):
2053 * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
2054 (CCOverdrawMetrics):
2055 * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
2056 (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
2057 (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
2058 (WebCore::CCPrioritizedTextureManager::requestLate):
2059 (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
2060 (WebCore::CCPrioritizedTextureManager::reduceMemory):
2061 * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
2062 (WebCore::CCPrioritizedTextureManager::create):
2063 (WebCore::CCPrioritizedTextureManager::memoryForRenderSurfacesBytes):
2064 (CCPrioritizedTextureManager):
2065 * platform/graphics/chromium/cc/CCPriorityCalculator.cpp:
2066 (WebCore::CCPriorityCalculator::uiPriority):
2067 (WebCore::CCPriorityCalculator::visiblePriority):
2069 (WebCore::CCPriorityCalculator::renderSurfacePriority):
2070 (WebCore::CCPriorityCalculator::priorityFromDistance):
2071 (WebCore::CCPriorityCalculator::priorityFromVisibility):
2072 * platform/graphics/chromium/cc/CCPriorityCalculator.h:
2073 (CCPriorityCalculator):
2075 2012-07-04 John Mellor <johnme@chromium.org>
2077 Text Autosizing: Add basic framework
2078 https://bugs.webkit.org/show_bug.cgi?id=88655
2080 This adds a highly simplified foundation that subsequent Text Autosizing patches
2081 can build upon. I've refactored this code (since the earlier combined diff
2082 uploaded to http://webkit.org/b/84186) to touch as few files as possible.
2084 Reviewed by Adam Barth.
2086 No new tests. I plan to add a test framework as my next Text Autosizing patch.
2090 (WebCore::Document::Document):
2094 (WebCore::Document::textAutosizer):
2095 * page/FrameView.cpp:
2096 (WebCore::FrameView::layout):
2097 * rendering/TextAutosizer.cpp: Added.
2099 (WebCore::TextAutosizer::TextAutosizer):
2100 (WebCore::TextAutosizer::~TextAutosizer):
2101 (WebCore::TextAutosizer::create):
2102 (WebCore::TextAutosizer::boostSubtree):
2103 (WebCore::TextAutosizer::boostBlock):
2104 (WebCore::TextAutosizer::boostText):
2105 (WebCore::TextAutosizer::treatAsInline):
2106 (WebCore::TextAutosizer::traverseNext):
2107 (WebCore::TextAutosizer::cloneRenderStyleWithState):
2108 * rendering/TextAutosizer.h: Added.
2112 2012-07-04 Andrey Kosyakov <caseq@chromium.org>
2114 Unreviewed, rolling out r121767.
2115 http://trac.webkit.org/changeset/121767
2116 https://bugs.webkit.org/show_bug.cgi?id=89584
2118 Crashes inspected page while recording timeline due to
2119 conflict with BeginFrame in record stack
2121 * inspector/InspectorTimelineAgent.cpp:
2122 (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2123 (WebCore::InspectorTimelineAgent::willProcessTask):
2124 (WebCore::InspectorTimelineAgent::didProcessTask):
2125 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2126 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
2127 * inspector/InspectorTimelineAgent.h:
2128 (InspectorTimelineAgent):
2129 * inspector/front-end/MemoryStatistics.js:
2130 (WebInspector.MemoryStatistics.prototype._onRecordAdded):
2131 * inspector/front-end/TimelineFrameController.js:
2132 (WebInspector.TimelineFrameController.prototype._addRecord):
2133 * inspector/front-end/TimelineModel.js:
2134 * inspector/front-end/TimelineOverviewPane.js:
2135 (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord):
2136 (WebInspector.TimelineCategoryStrips.prototype.update):
2137 * inspector/front-end/TimelinePanel.js:
2138 (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
2139 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2140 * inspector/front-end/TimelinePresentationModel.js:
2141 (WebInspector.TimelinePresentationModel.categories):
2142 (WebInspector.TimelinePresentationModel.recordStyle):
2143 (WebInspector.TimelinePresentationModel.categoryForRecord):
2144 (WebInspector.TimelinePresentationModel.forAllRecords):
2145 (WebInspector.TimelinePresentationModel.prototype.addRecord):
2147 2012-07-04 Dana Jansens <danakj@chromium.org>
2149 [chromium] Clear RenderSurfaces still when no idle paint will be done
2150 https://bugs.webkit.org/show_bug.cgi?id=90553
2152 Reviewed by Adrienne Walker.
2154 Currently if idle painting is disabled, updateLayers() will early-out.
2155 But this prevents it from doing cleanup and clearing all RenderSurface
2156 pointers, leaving the layer tree in an unexpected state.
2158 Tests: CCLayerTreeHostTestCompositeAndReadbackCleanup
2160 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2161 (WebCore::CCLayerTreeHost::updateLayers):
2163 2012-07-04 John Mellor <johnme@chromium.org>
2165 Text Autosizing: Add compile flag and runtime setting
2166 https://bugs.webkit.org/show_bug.cgi?id=87394
2168 This patch renames Font Boosting to Text Autosizing and adds compile guards around the runtime setting.
2170 Reviewed by Adam Barth.
2172 No functionality yet, so no new tests.
2174 * Configurations/FeatureDefines.xcconfig:
2177 * page/Settings.cpp:
2178 (WebCore::Settings::Settings):
2179 (WebCore::Settings::setTextAutosizingEnabled):
2182 (WebCore::Settings::textAutosizingEnabled):
2184 2012-07-03 Alexander Pavlov <apavlov@chromium.org>
2186 Web Inspector: Emulate pseudo styles (hover etc.) of non-selected elements
2187 https://bugs.webkit.org/show_bug.cgi?id=86630
2189 Reviewed by Pavel Feldman.
2191 - A map of pseudo-states for all bound DOM nodes is maintained in the backend and queried whenever StyleResolver
2192 calculates the effective element style.
2193 - In the frontend, markers are introduced to distinguish elements that have forced pseudo styles set for them.
2194 Additionally, dimmed markers are added for collapsed nodes, whose descendants have forced pseudo styles.
2195 More ElementDecorator subtypes will be added for other types of markers.
2197 Test: inspector/styles/force-pseudo-state.html
2199 * English.lproj/localizedStrings.js:
2200 * inspector/InspectorCSSAgent.cpp:
2201 (WebCore::InspectorCSSAgent::InspectorCSSAgent):
2202 (WebCore::InspectorCSSAgent::clearFrontend):
2203 (WebCore::InspectorCSSAgent::reset):
2204 (WebCore::InspectorCSSAgent::forcePseudoState):
2205 (WebCore::InspectorCSSAgent::recalcStyleForPseudoStateIfNeeded):
2206 (WebCore::InspectorCSSAgent::elementForId):
2207 (WebCore::InspectorCSSAgent::didRemoveDocument):
2208 (WebCore::InspectorCSSAgent::didRemoveDOMNode):
2209 (WebCore::InspectorCSSAgent::resetPseudoStates):
2210 * inspector/InspectorCSSAgent.h:
2211 (InspectorCSSAgent):
2212 * inspector/InspectorDOMAgent.cpp:
2213 (WebCore::InspectorDOMAgent::unbind):
2214 (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2215 * inspector/front-end/ElementsPanel.js:
2216 (WebInspector.ElementsPanel.get this):
2217 (WebInspector.ElementsPanel):
2218 (WebInspector.ElementsPanel.prototype._setPseudoClassForNodeId):
2219 * inspector/front-end/ElementsTreeOutline.js:
2220 (WebInspector.ElementsTreeOutline):
2221 (WebInspector.ElementsTreeOutline.prototype._createNodeDecorators):
2222 (WebInspector.ElementsTreeOutline.prototype.updateOpenCloseTags):
2223 (WebInspector.ElementsTreeOutline.ElementDecorator):
2224 (WebInspector.ElementsTreeOutline.ElementDecorator.prototype.decorate):
2225 (WebInspector.ElementsTreeOutline.ElementDecorator.prototype.decorateAncestor):
2226 (WebInspector.ElementsTreeOutline.PseudoStateDecorator):
2227 (WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorate):
2228 (WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorateAncestor):
2229 (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2230 (WebInspector.ElementsTreeElement.prototype._populateForcedPseudoStateItems):
2231 (WebInspector.ElementsTreeElement.prototype.updateTitle):
2232 (WebInspector.ElementsTreeElement.prototype._createDecoratorElement):
2233 (WebInspector.ElementsTreeElement.prototype._updateDecorations):
2234 * inspector/front-end/StylesSidebarPane.js:
2235 (WebInspector.StylesSidebarPane):
2236 (WebInspector.StylesSidebarPane.prototype.get forcedPseudoClasses):
2237 (WebInspector.StylesSidebarPane.prototype._updateForcedPseudoStateInputs):
2238 (WebInspector.StylesSidebarPane.prototype.update):
2239 (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
2240 (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
2241 (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
2242 (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
2243 * inspector/front-end/elementsPanel.css:
2244 (#elements-content .elements-gutter-decoration):
2245 (#elements-content .elements-gutter-decoration.elements-has-decorated-children):
2247 2012-07-04 Pavel Feldman <pfeldman@chromium.org>
2249 Web Inspector: fix search on the network panel.
2250 https://bugs.webkit.org/show_bug.cgi?id=90557
2252 Reviewed by Vsevolod Vlasov.
2254 * inspector/front-end/NetworkPanel.js:
2255 (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
2257 2012-07-04 Kwang Yul Seo <skyul@company100.net>
2259 Stop tracking line number in tokenizer
2260 https://bugs.webkit.org/show_bug.cgi?id=90544
2262 Reviewed by Adam Barth.
2264 Because SegmentedString knows how to track the current line and column,
2265 a tokenizer does not need to keep track of the current line by itself.
2266 No behavior change, so no new tests.
2268 * html/parser/HTMLDocumentParser.cpp:
2269 (WebCore::HTMLDocumentParser::pumpTokenizer):
2270 (WebCore::HTMLDocumentParser::lineNumber):
2271 (WebCore::HTMLDocumentParser::textPosition):
2272 * html/parser/HTMLTokenizer.cpp:
2273 (WebCore::HTMLTokenizer::reset):
2274 (WebCore::HTMLTokenizer::flushBufferedEndTag):
2276 (WebCore::HTMLTokenizer::nextToken):
2277 * html/parser/HTMLTreeBuilder.cpp:
2278 (WebCore::HTMLTreeBuilder::processScriptStartTag):
2279 * html/track/WebVTTTokenizer.cpp:
2280 (WebCore::WebVTTTokenizer::reset):
2281 (WebCore::WebVTTTokenizer::nextToken):
2282 * platform/text/SegmentedString.cpp:
2283 (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase):
2284 * platform/text/SegmentedString.h:
2285 (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
2286 (WebCore::SegmentedString::advanceAndUpdateLineNumber):
2288 * xml/parser/MarkupTokenizerBase.h:
2289 (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
2290 (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
2291 (WebCore::MarkupTokenizerBase::emitAndResumeIn):
2292 (WebCore::MarkupTokenizerBase::emitEndOfFile):
2293 (WebCore::MarkupTokenizerBase::reset):
2294 (MarkupTokenizerBase):
2295 * xml/parser/MarkupTokenizerInlineMethods.h:
2297 * xml/parser/XMLTokenizer.cpp:
2298 (WebCore::XMLTokenizer::nextToken):
2300 2012-07-04 Ryuan Choi <ryuan.choi@samsung.com>
2302 [CMAKE] Add GENERATE_BINDINGS macro to share the codes which use generate-bindings.pl.
2303 https://bugs.webkit.org/show_bug.cgi?id=90258
2305 Reviewed by Rob Buis.
2307 Use GENERATE_BINDINGS instead of using generate-bindings.pl directly.
2311 * PlatformBlackBerry.cmake:
2313 2012-07-04 Vsevolod Vlasov <vsevik@chromium.org>
2315 Web Inspector: UISourceCode should take care of adding revision after committing working copy.
2316 https://bugs.webkit.org/show_bug.cgi?id=90549
2318 Reviewed by Pavel Feldman.
2320 Revision is now added in UISourceCode.commitWorkingCopy synchronously even if saving to JS VM or CSS model failed.
2322 * inspector/front-end/CSSStyleModel.js:
2323 (WebInspector.CSSStyleModelResourceBinding.prototype.setStyleContent):
2324 * inspector/front-end/ExtensionServer.js:
2325 (WebInspector.ExtensionServer.prototype._handleOpenURL):
2326 (WebInspector.ExtensionServer.prototype._onGetResourceContent):
2327 (WebInspector.ExtensionServer.prototype._onSetResourceContent):
2328 * inspector/front-end/JavaScriptSource.js:
2329 (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
2330 * inspector/front-end/StylesPanel.js:
2331 (WebInspector.StyleSource.prototype._callOrSetTimeout):
2332 * inspector/front-end/UISourceCode.js:
2333 (WebInspector.UISourceCode.prototype.commitWorkingCopy):
2334 * inspector/front-end/Workspace.js:
2335 (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodeForURL):
2337 2012-07-04 Pavel Feldman <pfeldman@chromium.org>
2339 Web Inspector: move settings button back to the right.
2340 https://bugs.webkit.org/show_bug.cgi?id=90552
2342 Reviewed by Vsevolod Vlasov.
2344 * inspector/front-end/inspector.css:
2345 (button.status-bar-item:active, button.status-bar-item.emulate-active):
2346 (button.settings-status-bar-item):
2348 2012-07-04 Vsevolod Vlasov <vsevik@chromium.org>
2350 Web Inspector: Get rid of ResourceDomainModelBinding and DebuggerResourceBinding, make Resource.setContent private.
2351 https://bugs.webkit.org/show_bug.cgi?id=90531
2353 Reviewed by Pavel Feldman.
2355 Resource.setContent made private. It is delegating now to UISourceCodes which take care of domain specific actions.
2356 DebuggerResourceBinding was be removed and DebuggerResourceBinding.setScriptSource was moved to JavaScriptSource.
2357 ResourceDomainModelBinding was removed as well.
2360 * WebCore.vcproj/WebCore.vcproj:
2361 * inspector/compile-front-end.py:
2362 * inspector/front-end/CSSStyleModel.js:
2363 (WebInspector.CSSStyleModelResourceBinding):
2364 * inspector/front-end/DebuggerResourceBinding.js: Removed.
2365 * inspector/front-end/JavaScriptSource.js:
2366 (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
2367 (WebInspector.JavaScriptSource.prototype._setScriptSource.didEditScriptSource):
2368 (WebInspector.JavaScriptSource.prototype._setScriptSource):
2369 * inspector/front-end/Resource.js:
2370 (WebInspector.Resource.prototype._setContent):
2371 (WebInspector.Resource.prototype.revertToOriginal):
2372 (WebInspector.Resource.prototype.revertAndClearHistory):
2373 (WebInspector.ResourceRevision.prototype.revertToThis):
2374 * inspector/front-end/StylesPanel.js:
2375 (WebInspector.StyleSource.prototype.isEditable):
2376 * inspector/front-end/UISourceCode.js:
2377 * inspector/front-end/WebKit.qrc:
2378 * inspector/front-end/Workspace.js:
2379 (WebInspector.Workspace):
2380 * inspector/front-end/inspector.html:
2382 2012-07-04 'Pavel Feldman' <pfeldman@chromium.org>
2384 Not reviewed: follow up to r121843, reduce inspector dock timeout to 200ms.
2386 * inspector/front-end/StatusBarButton.js:
2387 (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseDown):
2389 2012-07-04 Ian Vollick <vollick@chromium.org>
2391 [chromium] Correctly reject accelerated animations with certain rotations.
2392 https://bugs.webkit.org/show_bug.cgi?id=89768
2394 Reviewed by James Robinson.
2397 GraphicsLayerChromiumTest.createTransformAnimationWithBigRotation
2398 GraphicsLayerChromiumTest.createTransformAnimationWithRotationInvolvingNegativeAngles
2399 GraphicsLayerChromiumTest.createTransformAnimationWithSmallRotationInvolvingLargeAngles
2401 * platform/graphics/chromium/AnimationTranslationUtil.cpp:
2402 (WebCore::appendKeyframe):
2403 (WebCore::isRotationType):
2405 (WebCore::causesRotationOfAtLeast180Degrees):
2406 (WebCore::CCKeyframedTransformAnimationCurve):
2407 (WebCore::createActiveAnimation):
2408 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2409 (WebCore::GraphicsLayerChromium::addAnimation):
2411 2012-07-04 Pavel Feldman <pfeldman@chromium.org>
2413 Web Inspector: "Dock to right" shouldn't be in the settings dialog
2414 https://bugs.webkit.org/show_bug.cgi?id=76917
2416 Reviewed by Vsevolod Vlasov.
2418 Introduced 'long click-enabled' options for status bar buttons. Made dock/undock one of them.
2420 * inspector/front-end/Images/statusbarButtonGlyphs.png:
2421 * inspector/front-end/StatusBarButton.js:
2422 (WebInspector.StatusBarButton.prototype._clicked):
2423 (WebInspector.StatusBarButton.prototype.set visible):
2424 (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseDown):
2425 (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseUp):
2426 (WebInspector.StatusBarButton.prototype.makeLongClickEnabled):
2427 (WebInspector.StatusBarButton.prototype._showOptions.mouseOver):
2428 (WebInspector.StatusBarButton.prototype._showOptions.mouseOut):
2429 (WebInspector.StatusBarButton.prototype._showOptions.mouseUp):
2430 (WebInspector.StatusBarButton.prototype._showOptions):
2431 * inspector/front-end/UIUtils.js:
2432 (WebInspector.elementDragStart):
2433 (WebInspector.elementDragEnd):
2434 (WebInspector.GlassPane):
2435 (WebInspector.GlassPane.prototype.dispose):
2436 * inspector/front-end/inspector.css:
2437 (.long-click-glyph):
2438 (.long-click-glyph.shadow):
2439 (button.status-bar-item:active:not(.emulate-inactive), button.status-bar-item.emulate-active):
2440 (.alternate-status-bar-buttons-bar):
2441 (.alternate-status-bar-buttons-bar .status-bar-item):
2442 * inspector/front-end/inspector.js:
2443 (WebInspector._createGlobalStatusBarItems):
2444 (WebInspector._createDockOptions.onClick.set else):
2445 (WebInspector._createDockOptions.onClick):
2447 2012-07-04 Sheriff Bot <webkit.review.bot@gmail.com>
2449 Unreviewed, rolling out r121813.
2450 http://trac.webkit.org/changeset/121813
2451 https://bugs.webkit.org/show_bug.cgi?id=90522
2453 Causes browser_tests failure:
2454 ErrorPageTest.DNSError_GoBack2{Forward2,AndForward} on
2455 Chromium {Linux,Mac,Win} (Requested by yosin on #webkit).
2457 * loader/DocumentLoader.cpp:
2458 (WebCore::DocumentLoader::commitData):
2459 (WebCore::DocumentLoader::setupForReplaceByMIMEType):
2460 * testing/js/WebCoreTestSupport.cpp:
2461 (WebCoreTestSupport::resetInternalsObject):
2463 2012-07-04 Kihong Kwon <kihong.kwon@samsung.com>
2465 [EFL] Change format of return value of navigator.language
2466 https://bugs.webkit.org/show_bug.cgi?id=89639
2468 Reviewed by Kenneth Rohde Christiansen.
2470 Remove encoding type from return value of navigator.language.
2471 For example, from en-US.UTF-8 to en-US.
2473 Use exist test case (fast/js/navigator-language.html).
2475 * platform/efl/LanguageEfl.cpp:
2476 (WebCore::platformLanguage):
2478 2012-07-03 Carlos Garcia Campos <cgarcia@igalia.com>
2480 [GTK] Don't show accel labels in context menu items
2481 https://bugs.webkit.org/show_bug.cgi?id=90437
2483 Reviewed by Martin Robinson.
2485 When a context menu item is created with a GtkMenuItem that has
2486 been created from a GtkAction, if the action has an accelerator,
2487 it's shown in the menu item label, like menu items in a menu
2488 bar. In that case we should reset the accel closure of the menu
2489 item label, like GtkUIManager does for popup menus, to make sure
2490 the accelerator is not shown. This isn't needed for all other
2491 ContextMenuIem constructors, because the GtkAction is created
2492 without accelerator by webkit in those cases.
2494 * platform/gtk/ContextMenuItemGtk.cpp:
2495 (WebCore::ContextMenuItem::ContextMenuItem):
2497 2012-07-03 Christophe Dumez <christophe.dumez@intel.com>
2499 [EFL] Move BatteryClientEfl from WebKit to WebCore
2500 https://bugs.webkit.org/show_bug.cgi?id=90063
2502 Reviewed by Kenneth Rohde Christiansen.
2504 Move BatteryClientEfl class from WebKit to WebCore
2505 so that it can be reused in WebKit2.
2507 No new tests, no behavior change.
2509 * PlatformEfl.cmake:
2510 * platform/efl/BatteryClientEfl.cpp: Renamed from Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp.
2512 (WebCore::BatteryClientEfl::BatteryClientEfl):
2513 (WebCore::BatteryClientEfl::setController):
2514 (WebCore::BatteryClientEfl::startUpdating):
2515 (WebCore::BatteryClientEfl::stopUpdating):
2516 (WebCore::BatteryClientEfl::batteryControllerDestroyed):
2517 (WebCore::BatteryClientEfl::setBatteryStatus):
2518 (WebCore::BatteryClientEfl::timerFired):
2519 (WebCore::BatteryClientEfl::getBatteryStatus):
2520 (WebCore::BatteryClientEfl::setBatteryClient):
2521 * platform/efl/BatteryClientEfl.h: Renamed from Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h.
2524 (WebCore::BatteryClientEfl::~BatteryClientEfl):
2525 (WebCore::BatteryClientEfl::batteryStatus):
2527 2012-07-03 Huang Dongsung <luxtella@company100.net>
2529 Add a comment in order to clarify why
2530 BitmapImage::frameHasAlphaAtIndex returns true as default.
2531 https://bugs.webkit.org/show_bug.cgi?id=90445
2533 Reviewed by Eric Seidel.
2535 No new tests. This patch doesn't change behavior.
2537 * platform/graphics/BitmapImage.cpp:
2538 (WebCore::BitmapImage::frameHasAlphaAtIndex):
2541 2012-07-03 Alex Sakhartchouk <alexst@chromium.org>
2543 [chromium] Avoid calling getUniformLocation??() in the compositor startup
2544 https://bugs.webkit.org/show_bug.cgi?id=90217
2546 Reviewed by Adrienne Walker.
2548 This change allows chrome compositor to bind uniform locations instead of querying
2549 them from the graphics context by using GL_CHROMIUM_bind_uniform_location.
2551 The extention itself is tested in chromium and the change in webkit simply adds
2552 plumbing to allow its usage. Existing pixel tests would be able to verify proper behaviour.
2554 * platform/graphics/chromium/LayerRendererChromium.cpp:
2555 (WebCore::LayerRendererChromium::LayerRendererChromium):
2556 (WebCore::LayerRendererChromium::initialize):
2557 (WebCore::LayerRendererChromium::initializeSharedObjects):
2558 (WebCore::LayerRendererChromium::tileCheckerboardProgram):
2559 (WebCore::LayerRendererChromium::solidColorProgram):
2560 (WebCore::LayerRendererChromium::headsUpDisplayProgram):
2561 (WebCore::LayerRendererChromium::renderPassProgram):
2562 (WebCore::LayerRendererChromium::renderPassProgramAA):
2563 (WebCore::LayerRendererChromium::renderPassMaskProgram):
2564 (WebCore::LayerRendererChromium::renderPassMaskProgramAA):
2565 (WebCore::LayerRendererChromium::tileProgram):
2566 (WebCore::LayerRendererChromium::tileProgramOpaque):
2567 (WebCore::LayerRendererChromium::tileProgramAA):
2568 (WebCore::LayerRendererChromium::tileProgramSwizzle):
2569 (WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
2570 (WebCore::LayerRendererChromium::tileProgramSwizzleAA):
2571 (WebCore::LayerRendererChromium::textureProgram):
2572 (WebCore::LayerRendererChromium::textureProgramFlip):
2573 (WebCore::LayerRendererChromium::textureIOSurfaceProgram):
2574 (WebCore::LayerRendererChromium::videoYUVProgram):
2575 (WebCore::LayerRendererChromium::videoStreamTextureProgram):
2576 * platform/graphics/chromium/LayerRendererChromium.h:
2577 (LayerRendererChromium):
2578 * platform/graphics/chromium/ProgramBinding.cpp:
2579 (WebCore::ProgramBindingBase::ProgramBindingBase):
2580 (WebCore::ProgramBindingBase::~ProgramBindingBase):
2581 (WebCore::ProgramBindingBase::init):
2582 (WebCore::ProgramBindingBase::link):
2584 (WebCore::ProgramBindingBase::cleanup):
2585 (WebCore::ProgramBindingBase::createShaderProgram):
2586 (WebCore::ProgramBindingBase::cleanupShaders):
2587 * platform/graphics/chromium/ProgramBinding.h:
2588 (ProgramBindingBase):
2589 (WebCore::ProgramBinding::initialize):
2590 * platform/graphics/chromium/ShaderChromium.cpp:
2591 (WebCore::VertexShaderPosTex::init):
2592 (WebCore::VertexShaderPosTexYUVStretch::init):
2593 (WebCore::VertexShaderPos::init):
2594 (WebCore::VertexShaderPosTexTransform::init):
2595 (WebCore::VertexShaderQuad::init):
2596 (WebCore::VertexShaderTile::init):
2597 (WebCore::VertexShaderVideoTransform::init):
2598 (WebCore::FragmentTexAlphaBinding::init):
2599 (WebCore::FragmentTexOpaqueBinding::init):
2600 (WebCore::FragmentShaderOESImageExternal::init):
2601 (WebCore::FragmentShaderRGBATexAlphaAA::init):
2602 (WebCore::FragmentTexClampAlphaAABinding::init):
2603 (WebCore::FragmentShaderRGBATexAlphaMask::init):
2604 (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
2605 (WebCore::FragmentShaderYUVVideo::init):
2606 (WebCore::FragmentShaderColor::init):
2607 (WebCore::FragmentShaderCheckerboard::init):
2608 * platform/graphics/chromium/ShaderChromium.h:
2609 (VertexShaderPosTex):
2610 (VertexShaderPosTexYUVStretch):
2612 (WebCore::VertexShaderPosTexIdentity::init):
2613 (VertexShaderPosTexTransform):
2616 (VertexShaderVideoTransform):
2617 (FragmentTexAlphaBinding):
2618 (FragmentTexOpaqueBinding):
2619 (FragmentShaderOESImageExternal):
2620 (FragmentShaderRGBATexAlphaAA):
2621 (FragmentTexClampAlphaAABinding):
2622 (FragmentShaderRGBATexAlphaMask):
2623 (FragmentShaderRGBATexAlphaMaskAA):
2624 (FragmentShaderYUVVideo):
2625 (FragmentShaderColor):
2626 (FragmentShaderCheckerboard):
2627 * platform/graphics/chromium/TextureCopier.cpp:
2628 (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
2629 (WebCore::AcceleratedTextureCopier::copyTexture):
2630 * platform/graphics/chromium/TextureCopier.h:
2631 (WebCore::AcceleratedTextureCopier::create):
2632 (AcceleratedTextureCopier):
2634 2012-07-03 Erik Arvidsson <arv@chromium.org>
2636 [V8] Remove enableFasterDOMStoreAccess which is never used
2637 https://bugs.webkit.org/show_bug.cgi?id=90489
2639 Reviewed by Adam Barth.
2641 No new tests. Dead code removal.
2643 * bindings/v8/V8DOMMap.cpp:
2644 * bindings/v8/V8DOMMap.h:
2647 2012-07-03 Joshua Bell <jsbell@chromium.org>
2649 Binding: IDL type DOMString[] shouldn't match null
2650 https://bugs.webkit.org/show_bug.cgi?id=84217
2652 Reviewed by Kentaro Hara.
2654 Similar to r121714, IDL overloads with T[] (which is only minimally supported)
2655 were being treated as Nullable by default during overloaded method dispatching,
2656 which deviates from the WebIDL specification. Extend the previous change to
2657 look for Nullable (specified by "?" type suffix in the IDL) for array types.
2659 Also, after inspection of the spec, use a strict "is this an Array?" test in
2660 the JS generator rather than an "inherits from Array.prototype?" test, to
2661 match the WebIDL spec.
2663 IDL files with affected overloads are modified to include the "?" suffix
2664 so that no behavior changes are introduced by this patch - the JS and V8
2665 generator results before/after the change show no diffs apart from the stricter
2668 Test: bindings/scripts/test/TestObj.idl (a non-Nullable T[] overload)
2670 * Modules/indexeddb/IDBDatabase.idl: Tag T[] overloads with ? suffix.
2671 * Modules/indexeddb/IDBObjectStore.idl: Ditto.
2672 * Modules/vibration/NavigatorVibration.idl: Ditto.
2673 * bindings/scripts/CodeGeneratorJS.pm: Check isNullable for T[].
2674 (GenerateParametersCheckExpression):
2675 * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2676 (GenerateParametersCheckExpression):
2677 * bindings/scripts/test/JS/JSTestObj.cpp: Rebaselined.
2678 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
2680 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
2681 * bindings/scripts/test/TestObj.idl: Tag existing T[] with ?, add non-? T[].
2682 * bindings/scripts/test/V8/V8TestObj.cpp: Rebaselined.
2683 (WebCore::TestObjV8Internal::overloadedMethod9Callback):
2684 (TestObjV8Internal):
2685 (WebCore::TestObjV8Internal::overloadedMethodCallback):
2687 2012-07-03 Nate Chapin <japhet@chromium.org>
2689 REGRESSION (r115654): Sometimes does not replace content for multipart/x-mixed-replace
2690 https://bugs.webkit.org/show_bug.cgi?id=88436
2692 Reviewed by Brady Eidson.
2694 Test: http/tests/multipart/multipart-replace-non-html-content.php
2696 * loader/DocumentLoader.cpp:
2697 (WebCore::DocumentLoader::commitData): We should only send receivedFirstData() once per main resource load,
2698 rather than multiple times in a multipart load.
2699 (WebCore::DocumentLoader::setupForReplaceByMIMEType): m_gotFirstByte isn't set to true until data is
2700 actually committed, and multipart data is often not committed until the part is finished. Check
2701 whether the SharedBuffer is non-null instead.
2702 * testing/js/WebCoreTestSupport.cpp:
2703 (WebCoreTestSupport::resetInternalsObject): The JSInternals object my have already been cleared if the window shell
2704 was cleared as part of creation of a new Document. Check it before using it.
2706 2012-07-03 Raymond Toy <rtoy@google.com>
2708 Add AudioFIFO class and simplify AudioPullFIFO
2709 https://bugs.webkit.org/show_bug.cgi?id=90398
2711 Reviewed by Chris Rogers.
2713 No new tests. This code will be used in audio back-end implementation.
2715 Add AudioFIFO class to implement main parts of FIFO. Simplify
2716 implementation of AudioPushFIFO by using AudioFIFO.
2718 * WebCore.gypi: Add new files.
2721 * platform/audio/AudioFIFO.cpp: Copied from Source/WebCore/platform/audio/AudioPullFIFO.cpp.
2723 (WebCore::AudioFIFO::AudioFIFO):
2724 (WebCore::AudioFIFO::consume):
2725 (WebCore::AudioFIFO::push):
2726 (WebCore::AudioFIFO::findWrapLengths):
2727 * platform/audio/AudioFIFO.h: Copied from Source/WebCore/platform/audio/AudioPullFIFO.h.
2730 (WebCore::AudioFIFO::framesInFifo):
2731 (WebCore::AudioFIFO::updateIndex):
2734 * platform/audio/AudioPullFIFO.cpp:
2735 (WebCore::AudioPullFIFO::AudioPullFIFO):
2736 (WebCore::AudioPullFIFO::consume):
2737 (WebCore::AudioPullFIFO::fillBuffer):
2738 * platform/audio/AudioPullFIFO.h:
2741 2012-07-03 Nate Chapin <japhet@chromium.org>
2743 Protect this DocumentThreadableLoader in cancel() to handle reentrancy properly.
2744 https://bugs.webkit.org/show_bug.cgi?id=90483
2746 Reviewed by Abhishek Arya.
2748 No new tests, covered by http/tests/xmlhttprequest/reentrant-cancel.html
2750 * loader/DocumentThreadableLoader.cpp:
2751 (WebCore::DocumentThreadableLoader::cancel):
2753 2012-07-03 Tony Chang <tony@chromium.org>
2755 [chromium] Unreviewed, update .gitignore to handle VS2010 files.
2757 * WebCore.gyp/.gitignore:
2759 2012-07-03 Zan Dobersek <zandobersek@gmail.com>
2761 [Gtk][Gamepads] 'warning: comparison is always true due to limited range of data type [-Wtype-limits]' in GamepadsGtk.cpp
2762 https://bugs.webkit.org/show_bug.cgi?id=90477
2764 Reviewed by Martin Robinson.
2766 Vector::find() returns value of type size_t, springing errors when
2767 assigning the value to a variable of type unsigned. Use size_t type
2768 for that variable instead.
2770 No new tests - no changed functionality.
2772 * platform/gtk/GamepadsGtk.cpp:
2773 (WebCore::GamepadsGtk::unregisterDevice):
2775 2012-07-03 Dominik Röttsches <dominik.rottsches@intel.com>
2777 Fix LayoutUnit usage in RenderImage::imageDimensionsChanged
2778 https://bugs.webkit.org/show_bug.cgi?id=90173
2780 Reviewed by Eric Seidel.
2782 The appropriate type should be used for storing width() and height() into local temporary variables.
2784 No new tests, no change in behavior.
2786 * rendering/RenderImage.cpp:
2787 (WebCore::RenderImage::imageDimensionsChanged):
2789 2012-07-03 Sergio Villar Senin <svillar@igalia.com>
2791 [TextureMapper] Typo in edge-distance anti-aliasing code
2792 https://bugs.webkit.org/show_bug.cgi?id=90475
2794 Reviewed by Martin Robinson.
2796 No new tests. This just fixes a typo.
2798 * platform/graphics/texmap/TextureMapperGL.cpp:
2799 (WebCore::TextureMapperGL::drawQuad):
2801 2012-06-27 Vsevolod Vlasov <vsevik@chromium.org>
2803 Web Inspector: [Extensions API] Resource manipulations should be based on UISourceCode thus extending Sources Panel.
2804 https://bugs.webkit.org/show_bug.cgi?id=89868
2806 Reviewed by Pavel Feldman.
2808 Extensions API is now based on both ScriptsPanel acting as a UISourceCodeProvider and ResourceTreeModel.
2809 Extensions API resource could be for any content provider now.
2810 Extensions API resource.setContent implementation is now based on UISourceCode editing methods.
2811 Drive-by StyleSource insremental editing timeout fix.
2813 * inspector/front-end/ExtensionServer.js:
2814 (WebInspector.ExtensionServer.prototype._handleOpenURL):
2815 (WebInspector.ExtensionServer.prototype._makeResource):
2816 (WebInspector.ExtensionServer.prototype._onGetPageResources):
2817 (WebInspector.ExtensionServer.prototype._getResourceContent):
2818 (WebInspector.ExtensionServer.prototype._onGetResourceContent):
2819 (WebInspector.ExtensionServer.prototype._onSetResourceContent):
2820 (WebInspector.ExtensionServer.prototype._notifyResourceAdded):
2821 (WebInspector.ExtensionServer.prototype._notifyResourceContentCommitted):
2822 * inspector/front-end/JavaScriptSource.js:
2823 * inspector/front-end/ScriptsPanel.js:
2824 (WebInspector.ScriptsPanel.prototype.uiSourceCodes):
2825 (WebInspector.ScriptsPanel.prototype.uiSourceCodeForURL):
2826 (WebInspector.ScriptsPanel.prototype._addUISourceCode):
2827 (WebInspector.ScriptsPanel.prototype._reset):
2828 (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
2829 * inspector/front-end/StylesPanel.js:
2830 (WebInspector.StyleSource.prototype.workingCopyCommitted):
2831 (WebInspector.StyleSource.prototype.workingCopyChanged):
2832 (WebInspector.StyleSource.prototype._callOrSetTimeout):
2833 (WebInspector.StyleSource.prototype._commitIncrementalEdit):
2834 (WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):
2835 * inspector/front-end/UISourceCode.js:
2836 (WebInspector.UISourceCode.prototype.requestContent):
2837 (WebInspector.UISourceCode.prototype.workingCopy):
2838 (WebInspector.UISourceCode.prototype.setWorkingCopy):
2839 (WebInspector.UISourceCode.prototype.isDirty):
2841 2012-07-03 Vsevolod Vlasov <vsevik@chromium.org>
2843 Web Inspector: Anonymous scripts (evals) should not be added to Workspace.
2844 https://bugs.webkit.org/show_bug.cgi?id=90467
2846 Reviewed by Pavel Feldman.
2848 * inspector/front-end/ResourceScriptMapping.js:
2849 (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
2850 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
2851 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
2852 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
2853 * inspector/front-end/ScriptSnippetModel.js:
2854 (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
2855 * inspector/front-end/ScriptsPanel.js:
2856 (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
2858 2012-07-03 Robert Hogan <robert@webkit.org>
2860 CSS 2.1 failure: floats-wrap-top-below-inline-* fail
2861 https://bugs.webkit.org/show_bug.cgi?id=88171
2863 Reviewed by Eric Seidel.
2865 When shifting a line or element left or right to avoid a float use the height
2866 of the line or element to determine whether the float is inside the element or
2867 if it overlaps the bottom of the element.
2869 Do this by passing the height of the element to the interval tree used to detect
2870 the overlap with it's containing block's floats. The height is zero by default so
2871 callers to logical[Left|Right]OffsetForLine will need to pass the height if they
2872 want to use it to detect floats to avoid.
2874 Tests: css2.1/20110323/floats-wrap-top-below-bfc-001l.htm
2875 css2.1/20110323/floats-wrap-top-below-bfc-001r.htm
2876 css2.1/20110323/floats-wrap-top-below-bfc-002l.htm
2877 css2.1/20110323/floats-wrap-top-below-bfc-002r.htm
2878 css2.1/20110323/floats-wrap-top-below-bfc-003l.htm
2879 css2.1/20110323/floats-wrap-top-below-bfc-003r.htm
2880 css2.1/20110323/floats-wrap-top-below-inline-001l.htm
2881 css2.1/20110323/floats-wrap-top-below-inline-001r.htm
2882 css2.1/20110323/floats-wrap-top-below-inline-002l.htm
2883 css2.1/20110323/floats-wrap-top-below-inline-002r.htm
2884 css2.1/20110323/floats-wrap-top-below-inline-003l.htm
2885 css2.1/20110323/floats-wrap-top-below-inline-003r.htm
2886 css2.1/20110323/floats-zero-height-wrap-001.htm
2887 css2.1/20110323/floats-zero-height-wrap-002.htm
2888 fast/block/float/floats-wrap-inside-inline-001.htm
2889 fast/block/float/floats-wrap-inside-inline-002.htm
2890 fast/block/float/floats-wrap-inside-inline-003.htm
2891 fast/block/float/floats-wrap-inside-inline-004.htm
2892 fast/block/float/floats-wrap-inside-inline-005.htm
2894 * rendering/RenderBlock.cpp:
2895 (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
2896 (WebCore::::collectIfNeeded):
2897 (WebCore::RenderBlock::logicalLeftOffsetForLine):
2898 (WebCore::RenderBlock::logicalRightOffsetForLine):
2899 (WebCore::RenderBlock::getClearDelta):
2900 * rendering/RenderBlock.h:
2901 (WebCore::RenderBlock::availableLogicalWidthForLine):
2902 (WebCore::RenderBlock::logicalRightOffsetForLine):
2903 (WebCore::RenderBlock::logicalLeftOffsetForLine):
2904 (WebCore::RenderBlock::startOffsetForLine):
2905 (WebCore::RenderBlock::endOffsetForLine):
2906 (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
2907 (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
2909 (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
2910 (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
2911 (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
2912 (FloatIntervalSearchAdapter):
2913 * rendering/RenderBlockLineLayout.cpp:
2914 (WebCore::logicalBottomForLine):
2916 (WebCore::LineWidth::updateAvailableWidth):
2917 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
2918 * rendering/RenderBox.cpp:
2919 (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
2921 2012-07-03 Vsevolod Vlasov <vsevik@chromium.org>
2923 Web Inspector: Introduce Workspace make it UISourceCode provider for ScriptsPanel.
2924 https://bugs.webkit.org/show_bug.cgi?id=90466
2926 Reviewed by Pavel Feldman.
2928 Introduced WebInspector.Workspace as a model (UISourceCode provider) behind ScriptsPanel.
2931 * WebCore.vcproj/WebCore.vcproj:
2932 * inspector/compile-front-end.py:
2933 * inspector/front-end/ScriptsPanel.js:
2934 * inspector/front-end/WebKit.qrc:
2935 * inspector/front-end/Workspace.js: Added.
2936 (WebInspector.CompositeUISourceCodeProvider):
2937 (WebInspector.CompositeUISourceCodeProvider.prototype._registerUISourceCodeProvider):
2938 (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeAdded):
2939 (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeReplaced):
2940 (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeRemoved):
2941 (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodes):
2942 (WebInspector.Workspace):
2943 (WebInspector.Workspace.prototype.registerUISourceCodeProvider):
2944 * inspector/front-end/inspector.html:
2945 * inspector/front-end/inspector.js:
2947 2012-07-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2949 [Qt] Make use of .qmake.cache for caching features
2951 Instead of loading() features from the files that need them (and re-running
2952 a bunch of checks), we now run feature detection as part of configure.pro,
2953 and have build-webkit write the computed feature-defines and CONFIG to
2954 .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
2955 when building WebKit.pro.
2957 At some point we'll be able to selectivly prevent running of config tests
2958 in configure.pro, which means we don't need a separate code-path for
2959 the build-webkit --help case.
2961 We should also move the code in build-webkit that now uses .webkit.config
2962 to detect clean builds, to use .qmake.cache, since we now store the same
2965 Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2967 https://bugs.webkit.org/show_bug.cgi?id=90461
2969 Reviewed by Tor Arne Vestbø.
2971 * DerivedSources.pri:
2974 2012-07-03 Sheriff Bot <webkit.review.bot@gmail.com>
2976 Unreviewed, rolling out r121766.
2977 http://trac.webkit.org/changeset/121766
2978 https://bugs.webkit.org/show_bug.cgi?id=90465
2980 It caused flakey build errors on the bots (Requested by Ossy
2983 * DerivedSources.pri:
2986 2012-07-03 George Staikos <staikos@webkit.org>
2988 [BlackBerry] Enable Custom Scheme Handlers for BlackBerry.
2989 https://bugs.webkit.org/show_bug.cgi?id=90422
2991 Reviewed by Rob Buis.
2993 * page/NavigatorRegisterProtocolHandler.cpp:
2994 (WebCore::initProtocolHandlerWhitelist): Disable the overrides as
2995 they're undesired by BlackBerry
2997 2012-07-03 Eugene Klyuchnikov <eustas.bug@gmail.com>
2999 Web Inspector: Forward message loop instrumentation data to frontend.
3000 https://bugs.webkit.org/show_bug.cgi?id=89584
3002 Reviewed by Yury Semikhatsky.
3004 Transmit collected message loop tasks to inspector frontend.
3005 Now "Program" should be a top-level event on browsers that
3006 support message loop instrumentation.
3007 Frontend was changed so that user will not see any changes.
3009 * inspector/InspectorTimelineAgent.cpp:
3010 (TimelineRecordType):
3011 Added new event type - "Program"
3012 (WebCore::InspectorTimelineAgent::willProcessTask):
3013 Begin "Program" event.
3014 (WebCore::InspectorTimelineAgent::didProcessTask):
3015 Finish "Program" event.
3016 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
3017 Do not add counters to "Program" events.
3019 (WebCore::InspectorTimelineAgent::innerSetHeapSizeStatistic):
3020 Renamed from "setHeapSizeStatistic"
3021 * inspector/InspectorTimelineAgent.h:
3022 (InspectorTimelineAgent):
3023 * inspector/front-end/MemoryStatistics.js:
3024 (WebInspector.MemoryStatistics.prototype._onRecordAdded):
3025 Unwraps "Program" events.
3026 (WebInspector.MemoryStatistics.prototype._innerRecordAdded):
3027 Renamed from "_onRecordAdded"
3028 * inspector/front-end/TimelineFrameController.js:
3029 (WebInspector.TimelineFrameController.prototype._addRecord):
3030 Unwraps "Program" events.
3031 (WebInspector.TimelineFrameController.prototype._innerAddRecord):
3032 Renamed from "_addRecord"
3033 * inspector/front-end/TimelineModel.js:
3034 * inspector/front-end/TimelineOverviewPane.js:
3035 (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord):
3036 Filter out "Program" category.
3037 (WebInspector.TimelineCategoryStrips.prototype.update):
3038 * inspector/front-end/TimelinePanel.js:
3039 (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
3040 Filter out "Program" category.
3041 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3042 Unwraps "Program" events.
3043 * inspector/front-end/TimelinePresentationModel.js:
3044 (WebInspector.TimelinePresentationModel.categories):
3045 Added "Program" category.
3046 (WebInspector.TimelinePresentationModel.recordStyle):
3048 (WebInspector.TimelinePresentationModel.prototype.addRecord):
3049 Unwraps "Program" events.
3050 (WebInspector.TimelinePresentationModel.prototype._addRecord):
3051 Renamed from "addRecord"
3053 2012-07-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
3055 [Qt] Make use of .qmake.cache for caching features
3057 Instead of loading() features from the files that need them (and re-running
3058 a bunch of checks), we now run feature detection as part of configure.pro,
3059 and have build-webkit write the computed feature-defines and CONFIG to
3060 .qmake.cache, which is then loaded by qmake _before_ even defaults_pre
3061 when building WebKit.pro.
3063 At some point we'll be able to selectivly prevent running of config tests
3064 in configure.pro, which means we don't need a separate code-path for
3065 the build-webkit --help case.
3067 We should also move the code in build-webkit that now uses .webkit.config
3068 to detect clean builds, to use .qmake.cache, since we now store the same
3071 Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
3073 https://bugs.webkit.org/show_bug.cgi?id=90461
3075 Reviewed by Tor Arne Vestbø.
3077 * DerivedSources.pri:
3080 2012-07-03 Vsevolod Vlasov <vsevik@chromium.org>
3082 inspector/debugger/script-snippet-model.html fails
3083 https://bugs.webkit.org/show_bug.cgi?id=90385
3085 Reviewed by Pavel Feldman.
3087 * inspector/front-end/ScriptSnippetModel.js:
3089 2012-07-03 Alexander Pavlov <apavlov@chromium.org>
3091 [REGRESSION] Crash when copying a StyleRuleMedia with a NULL m_mediaQueries
3092 https://bugs.webkit.org/show_bug.cgi?id=90459
3094 Reviewed by Andreas Kling.
3096 Create StyleRuleMedia with a non-NULL MediaQuerySet. The respective NULL checks for it were all over the code,
3097 except the copy constructor. Added the check, just in case.
3099 * css/CSSParser.cpp:
3100 (WebCore::CSSParser::createMediaRule):
3101 * css/StyleRule.cpp:
3102 (WebCore::StyleRuleMedia::StyleRuleMedia):
3104 2012-07-03 Andrey Kosyakov <caseq@chromium.org>
3106 Web Inspector: display time intervals measured with console.time() and console.timeEnd() in Timeline
3107 https://bugs.webkit.org/show_bug.cgi?id=90442
3109 Reviewed by Pavel Feldman.
3111 - added Time and TimeEnd record types produced by console.time() and console.timeEnd()
3112 - connect Time to TimeEnd in "glue" mode to better visualize the interval;
3113 - always make Time a top-level record;
3115 * English.lproj/localizedStrings.js:
3116 * inspector/InspectorInstrumentation.cpp:
3117 (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
3118 (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
3119 * inspector/InspectorTimelineAgent.cpp:
3120 (TimelineRecordType):
3121 (WebCore::InspectorTimelineAgent::didStartTiming):
3123 (WebCore::InspectorTimelineAgent::didStopTiming):
3124 * inspector/InspectorTimelineAgent.h:
3125 (InspectorTimelineAgent):
3126 * inspector/front-end/TimelineModel.js:
3127 * inspector/front-end/TimelinePresentationModel.js:
3128 (WebInspector.TimelinePresentationModel.recordStyle):
3129 (WebInspector.TimelinePresentationModel.categoryForRecord):
3130 (WebInspector.TimelinePresentationModel.prototype.reset):
3131 (WebInspector.TimelinePresentationModel.prototype.addRecord):
3132 (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
3133 (WebInspector.TimelinePresentationModel.Record):
3134 (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
3136 2012-07-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> Joel Dillon <joel.dillon@codethink.co.uk>
3138 [Qt][Win] Fix broken QtWebKit5.lib linking
3139 https://bugs.webkit.org/show_bug.cgi?id=88321
3141 Reviewed by Kenneth Rohde Christiansen.
3143 * platform/PlatformExportMacros.h:
3145 2012-07-03 Philip Rogers <pdr@google.com>
3147 Fix text positioning with non-bmp characters.
3148 https://bugs.webkit.org/show_bug.cgi?id=87681
3150 Reviewed by Nikolas Zimmermann.
3152 Previously when constructing metrics for tspans with non-bmp characters,
3153 each non-bmp character treated as a skipped character in the same way that
3155 This made sense because the initial SVGCharacterDataMap for <text> is
3156 indexed by character index (not string length) so the high portion of a
3157 non-bmp character was treated as a skipped space. Unfortunately, this
3158 led to a bug because skipped spaces lead to an offset in the positioning
3159 values list but non-bmp characters do not.
3161 This change switches the code to use a new offset for non-bmp characters,
3162 surrogatePairCharacters, which does not affect the positioning values list.
3164 Tests: svg/text/non-bmp-tspans-expected.svg
3165 svg/text/non-bmp-tspans.svg
3167 * rendering/svg/SVGTextMetricsBuilder.cpp:
3168 (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
3170 2012-07-03 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3172 Improve test cases for network information APIs
3173 https://bugs.webkit.org/show_bug.cgi?id=90162
3175 Reviewed by Adam Barth.
3177 Existing implementation doesn't test port implementation in network info APIs.
3178 This patch lets test cases use bandwidth and metered functions implemented by port layer.
3180 In addition, expected results need to check return type instead of property name.
3182 No new tests. Covered by existing tests.
3184 * Modules/networkinfo/NetworkInfoConnection.cpp:
3185 (WebCore::NetworkInfoConnection::bandwidth):
3186 (WebCore::NetworkInfoConnection::metered):
3188 2012-07-03 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
3190 [EFL] [WK2] Don't call eina_iterator_free() if iterator is NULL
3191 https://bugs.webkit.org/show_bug.cgi?id=90076
3193 Reviewed by Kenneth Rohde Christiansen.
3195 Add a null check to prevent calling eina_iterator_free() when
3198 No new tests. This patch doesn't change behavior.
3200 * platform/efl/FileSystemEfl.cpp:
3201 (WebCore::listDirectory): Early return when iterator is NULL.
3203 2012-07-03 Alexander Pavlov <apavlov@chromium.org>
3205 Web Inspector: [Elements] Text formatting is not retained when editing <script> or <style> contents as text
3206 https://bugs.webkit.org/show_bug.cgi?id=90440
3208 Reviewed by Vsevolod Vlasov.
3210 * inspector/front-end/ElementsTreeOutline.js:
3211 (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
3213 2012-07-03 Vsevolod Vlasov <vsevik@chromium.org>
3215 Web Inspector: Save scroll selection and cursor position of SourceFrames in sources panel.
3216 https://bugs.webkit.org/show_bug.cgi?id=90294
3218 Reviewed by Yury Semikhatsky.
3220 Scroll and selection change handling is now delegated from TextViewer to SourceFrame.
3221 SourceFrame now dispatches ScrollChanged and SelectionChanged events.
3222 TabbedEditorContainer now saves scroll and selection information together
3223 with the url history and restores scroll and selection on resource opening.
3225 * inspector/front-end/JavaScriptSourceFrame.js:
3226 (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
3227 * inspector/front-end/SourceFrame.js:
3228 (WebInspector.SourceFrame.prototype.wasShown):
3229 (WebInspector.SourceFrame.prototype.highlightLine):
3230 (WebInspector.SourceFrame.prototype._innerHighlightLineIfNeeded):
3231 (WebInspector.SourceFrame.prototype._clearLineHighlight):
3232 (WebInspector.SourceFrame.prototype.revealLine):
3233 (WebInspector.SourceFrame.prototype._innerRevealLineIfNeeded):
3234 (WebInspector.SourceFrame.prototype._clearLineToReveal):
3235 (WebInspector.SourceFrame.prototype.scrollToLine):
3236 (WebInspector.SourceFrame.prototype._innerScrollToLineIfNeeded):
3237 (WebInspector.SourceFrame.prototype._clearLineToScrollTo):
3238 (WebInspector.SourceFrame.prototype.setSelection):
3239 (WebInspector.SourceFrame.prototype._innerSetSelectionIfNeeded):
3240 (WebInspector.SourceFrame.prototype._wasShownOrLoaded):
3241 (WebInspector.SourceFrame.prototype.setContent):
3242 (WebInspector.SourceFrame.prototype.commitEditing):
3243 (WebInspector.SourceFrame.prototype.selectionChanged):
3244 (WebInspector.SourceFrame.prototype.scrollChanged):
3245 (WebInspector.TextViewerDelegateForSourceFrame.prototype.selectionChanged):
3246 (WebInspector.TextViewerDelegateForSourceFrame.prototype.scrollChanged):
3247 * inspector/front-end/TabbedEditorContainer.js:
3248 (WebInspector.TabbedEditorContainer):
3249 (WebInspector.TabbedEditorContainer.prototype._addScrollAndSelectionListeners):
3250 (WebInspector.TabbedEditorContainer.prototype._removeScrollAndSelectionListeners):
3251 (WebInspector.TabbedEditorContainer.prototype._scrollChanged):
3252 (WebInspector.TabbedEditorContainer.prototype._selectionChanged):
3253 (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
3254 (WebInspector.TabbedEditorContainer.prototype._tabClosed):
3255 (WebInspector.TabbedEditorContainer.HistoryItem):
3256 (WebInspector.TabbedEditorContainer.HistoryItem.fromObject):
3257 (WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject):
3258 (WebInspector.TabbedEditorContainer.History):
3259 (WebInspector.TabbedEditorContainer.History.fromObject):
3260 (WebInspector.TabbedEditorContainer.History.prototype.index):
3261 (WebInspector.TabbedEditorContainer.History.prototype.selectionRange):
3262 (WebInspector.TabbedEditorContainer.History.prototype.updateSelectionRange):
3263 (WebInspector.TabbedEditorContainer.History.prototype.scrollLineNumber):
3264 (WebInspector.TabbedEditorContainer.History.prototype.updateScrollLineNumber):
3265 (WebInspector.TabbedEditorContainer.History.prototype.update):
3266 (WebInspector.TabbedEditorContainer.History.prototype.remove):
3267 (WebInspector.TabbedEditorContainer.History.prototype.save):
3268 (WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject):
3269 * inspector/front-end/TextEditorModel.js:
3270 (WebInspector.TextRange.fromObject):
3271 (WebInspector.TextRange.prototype.clone):
3272 (WebInspector.TextRange.prototype.serializeToObject):
3273 * inspector/front-end/TextViewer.js:
3274 (WebInspector.TextViewer.prototype._handleScrollChanged):
3275 (WebInspector.TextViewer.prototype.scrollToLine):
3276 (WebInspector.TextViewer.prototype._handleSelectionChange):
3277 (WebInspector.TextViewer.prototype.setSelection):
3278 (WebInspector.TextViewer.prototype.wasShown):
3279 (WebInspector.TextViewer.prototype._handleFocused):
3280 (WebInspector.TextViewer.prototype.willHide):
3281 (WebInspector.TextViewerDelegate.prototype.selectionChanged):
3282 (WebInspector.TextViewerDelegate.prototype.scrollChanged):
3283 (WebInspector.TextEditorChunkedPanel.prototype.scrollToLine):
3285 2012-07-03 Taiju Tsuiki <tzik@chromium.org>
3287 Web Inspector: Make DirectoryContentView sortable
3288 https://bugs.webkit.org/show_bug.cgi?id=90361
3290 Reviewed by Vsevolod Vlasov.
3292 * inspector/Inspector.json:
3293 * inspector/InspectorFileSystemAgent.cpp:
3295 * inspector/front-end/DirectoryContentView.js:
3296 (WebInspector.DirectoryContentView):
3297 (WebInspector.DirectoryContentView.prototype.showEntries):
3298 (WebInspector.DirectoryContentView.prototype._sort):
3299 (WebInspector.DirectoryContentView.Node.comparator.isDirectoryCompare):
3300 (WebInspector.DirectoryContentView.Node.comparator.nameCompare):
3301 (WebInspector.DirectoryContentView.Node.comparator.typeCompare):
3302 (WebInspector.DirectoryContentView.Node.comparator.sizeCompare):
3303 (WebInspector.DirectoryContentView.Node.comparator):
3304 (WebInspector.DirectoryContentView.Node.prototype._metadataReceived):
3306 2012-07-03 Jan Keromnes <janx@linux.com>
3308 Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
3309 https://bugs.webkit.org/show_bug.cgi?id=89939
3311 Reviewed by Vsevolod Vlasov.
3313 Fixed LayoutTests and PerformanceTests accordingly.
3316 * WebCore.vcproj/WebCore.vcproj:
3317 * inspector/compile-front-end.py:
3318 * inspector/front-end/AdvancedSearchController.js:
3319 (WebInspector.SearchView):
3320 * inspector/front-end/JavaScriptSourceFrame.js:
3321 (WebInspector.JavaScriptSourceFrame):
3322 (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
3323 (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
3324 (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
3325 (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
3326 (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
3327 (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
3328 (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
3329 (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
3330 (WebInspector.JavaScriptSourceFrame.prototype.toggleBreakpointOnCurrentLine):
3331 * inspector/front-end/SourceFrame.js:
3332 (WebInspector.SourceFrame):
3333 (WebInspector.SourceFrame.prototype.wasShown):
3334 (WebInspector.SourceFrame.prototype.willHide):
3335 (WebInspector.SourceFrame.prototype.defaultFocusedElement):
3336 (WebInspector.SourceFrame.prototype.get textEditor):
3337 (WebInspector.SourceFrame.prototype.clearMessages):
3338 (WebInspector.SourceFrame.prototype.highlightLine):
3339 (WebInspector.SourceFrame.prototype._clearLineHighlight):
3340 (WebInspector.SourceFrame.prototype.revealLine):
3341 (WebInspector.SourceFrame.prototype.setSelection):
3342 (WebInspector.SourceFrame.prototype.setContent):
3343 (WebInspector.SourceFrame.prototype.onTextEditorContentLoaded):
3344 (WebInspector.SourceFrame.prototype._setTextEditorDecorations):
3345 (WebInspector.SourceFrame.prototype.searchCanceled):
3346 (WebInspector.SourceFrame.prototype.jumpToSearchResult):
3347 (WebInspector.SourceFrame.prototype.addMessageToSource):
3348 (WebInspector.SourceFrame.prototype.removeMessageFromSource):
3349 (WebInspector.SourceFrame.prototype.inheritScrollPositions):
3350 (WebInspector.TextEditorDelegateForSourceFrame):
3351 * inspector/front-end/TextViewer.js: Removed.
3352 * inspector/front-end/WebKit.qrc:
3353 * inspector/front-end/inspector.html:
3354 * inspector/front-end/textViewer.css: Removed.
3356 2012-07-03 Charles Wei <charles.wei@torchmobile.com.cn>
3358 IndexedDB: should make the LevelDB persistant to the directory indicated in PageGroupSettings::indexedDBDataBasePath
3359 https://bugs.webkit.org/show_bug.cgi?id=88338
3361 Reviewed by David Levin.
3363 If the indexedDB runs in main thread it can access the GroupSettings via the document;
3364 otherwise, we need to pass the page GroupSettings to the worker thread so that accessible
3365 to the indexedDB running in WorkerContext.
3367 * Modules/indexeddb/IDBFactory.cpp:
3368 (WebCore::IDBFactory::open):
3369 * workers/DedicatedWorkerThread.cpp:
3370 (WebCore::DedicatedWorkerThread::create):
3371 (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
3372 * workers/DedicatedWorkerThread.h:
3373 (DedicatedWorkerThread):
3374 * workers/DefaultSharedWorkerRepository.cpp:
3375 (SharedWorkerProxy):
3376 (WebCore::SharedWorkerProxy::groupSettings):
3378 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
3379 * workers/SharedWorkerThread.cpp:
3380 (WebCore::SharedWorkerThread::create):
3381 (WebCore::SharedWorkerThread::SharedWorkerThread):
3382 * workers/SharedWorkerThread.h:
3383 (SharedWorkerThread):
3384 * workers/WorkerMessagingProxy.cpp:
3385 (WebCore::WorkerMessagingProxy::startWorkerContext):
3386 * workers/WorkerThread.cpp:
3387 (WebCore::WorkerThreadStartupData::create):
3388 (WorkerThreadStartupData):
3389 (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
3390 (WebCore::WorkerThread::WorkerThread):
3391 (WebCore::WorkerThread::groupSettings):
3393 * workers/WorkerThread.h:
3396 2012-07-03 Balazs Kelemen <kbalazs@webkit.org>
3398 [Qt][WK2] fast/viewport/viewport-91.html still fails after r121555 and r121661
3399 https://bugs.webkit.org/show_bug.cgi?id=90376
3401 Reviewed by Csaba Osztrogonác.
3403 No new tests, this is only a build alignment.
3405 Export ViewportArguments::deprecatedTargetDPI since it is used in WebKit2.
3408 2012-07-02 Martin Robinson <mrobinson@igalia.com>
3410 [TextureMapper] The TextureMapper should support edge-distance anti-antialiasing
3411 https://bugs.webkit.org/show_bug.cgi?id=90308
3413 Reviewed by Noam Rosenthal.
3415 Add an edge-distance anti-aliasing implementation for the TextureMapper. Currently
3416 this implementation is not active for tiled layers. This implementation is based
3417 on the one in the Chromium compositor originally written by David Raveman.
3419 When a layer is transformed in a way that leaves its edge dimensions across pixel
3420 boundaries, edge distance anti-aliasing will do a cheaper form of anti-aliasing
3421 than full-scene anti-aliasing to make the transition from the layer pixel
3422 to the background pixel smoother.
3424 No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
3425 compositing and 3D transforms, when those test harnesses are capable of
3426 producing pixel output (in progress).
3428 * platform/graphics/texmap/TextureMapper.h: Add an enum which is used to tell
3429 the texture mapper what edges of a texture are exposed. This will be used for
3430 properly dealing with tiled layers in the future.
3431 * platform/graphics/texmap/TextureMapperBackingStore.cpp: Properly pass information
3432 about exposed layer edges to the TextureMapper while painting.
3433 * platform/graphics/texmap/TextureMapperBackingStore.h:
3434 (TextureMapperTile): Modified arguments include exposed edges.
3435 * platform/graphics/texmap/TextureMapperGL.cpp:
3436 (WebCore::TextureMapperGL::drawQuad): Renamed from drawRect, this method can now
3437 draw quads that have non unit-rect texture coordinates. This is necessary because
3438 the edge distance approach draws such quad.
3439 (WebCore::TextureMapperGL::drawBorder): Call drawQuad now instead of drawRect.
3440 (WebCore::TextureMapperGL::drawTexture): Pass the exposedEdges argument down.
3441 (WebCore::TextureMapperGL::drawTextureRectangleARB): Call drawQuad now instead of
3443 (WebCore::viewportMatrix): Added this helper which can calculate the viewport
3444 transform based on the current OpenGL viewport settings.
3445 (WebCore::scaleLineEquationCoeffecientsToOptimizeDistanceCalculation): Added this
3446 helper which optimizes the fragment shader by precalculating some constant parts
3447 of the distance calculation.
3448 (WebCore::getStandardEquationCoeffecientsForLine): Given two end points of line segment
3449 get the coeffecients of the line in the standard form of the line equation.
3450 (WebCore::quadToEdgeArray): Converts a FloatQuad to an array of four sets of pre-scaled
3451 line coefficients so that they can be passed to OpenGL.
3452 (WebCore::scaledVectorDifference): Helper which helps expand a quad of arbitrary
3454 (WebCore::inflateQuad): Inflate a quad of arbitrary orientation. The transform may
3455 flip it so we have to look at neighboring points to expand the quad.
3456 (WebCore::TextureMapperGL::drawTextureWithAntialiasing): Activate the anti-aliasing
3457 program and set up all uniforms.
3458 (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): Abstract out common operations
3459 from drawTexture to be used with drawTextureWithAntialiasing.
3460 * platform/graphics/texmap/TextureMapperGL.h:
3461 (WebCore::TextureMapperGL::DrawQuad::DrawQuad): Add this small type which stores information
3462 necessary to draw a quad -- it's original destination rect and the final size mapped to
3463 texture coordinates.
<