Build fix after r122115 and some cleanups.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-07-09  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Build fix after r122115 and some cleanups.
4
5         * html/HTMLCollection.h:
6         (HTMLCollection):
7         * html/HTMLElement.cpp:
8         (WebCore::HTMLElement::properties):
9         * html/HTMLElement.h:
10         (HTMLElement):
11         * html/HTMLPropertiesCollection.cpp:
12         (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
13         * html/HTMLPropertiesCollection.h:
14         (HTMLPropertiesCollection):
15
16 2012-07-09  Dean Jackson  <dino@apple.com>
17
18         Tiled drawing means some elements can disappear behind the page
19         https://bugs.webkit.org/show_bug.cgi?id=88906
20
21         Reviewed by Simon Fraser.
22
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.
28
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.
34
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
38         another tile cache.
39
40         Also added some obvious names to the tile cache layers to
41         help with debugging.
42
43         Test: compositing/tile-cache-must-flatten.html
44
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:
51         (WebCore):
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
56         get a tile cache.
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):
72         (RenderLayerBacking):
73
74 2012-07-09  Christophe Dumez  <christophe.dumez@intel.com>
75
76         [EFL] Log significant Gamepad API-related events
77         https://bugs.webkit.org/show_bug.cgi?id=90595
78
79         Reviewed by Antonio Gomes.
80
81         Log significant Gamepad API-related events in
82         GamepadsEfl.
83
84         No new tests, no behavior change.
85
86         * platform/efl/GamepadsEfl.cpp:
87         (WebCore::GamepadDeviceEfl::deviceFile):
88         (GamepadDeviceEfl):
89         (WebCore::GamepadDeviceEfl::GamepadDeviceEfl):
90         (WebCore::GamepadDeviceEfl::readCallback):
91         (WebCore::GamepadsEfl::registerDevice):
92         (WebCore::GamepadsEfl::unregisterDevice):
93
94 2012-07-09  Simon Fraser  <simon.fraser@apple.com>
95
96         Reduce the amount of flashing when falling into tiled layers
97         https://bugs.webkit.org/show_bug.cgi?id=90808
98
99         Reviewed by Dean Jackson.
100
101         Implement +prefetchedTiles so that CATiledLayer renders more
102         tiles at a time, reducing the appearance of flashing.
103
104         * platform/graphics/mac/WebTiledLayer.mm:
105         (+[WebTiledLayer prefetchedTiles]):
106
107 2012-07-09  Leandro Gracia Gil  <leandrogracia@chromium.org>
108
109         SurroundingText should not advance character iterators if they are at end.
110         https://bugs.webkit.org/show_bug.cgi?id=90560
111
112         Reviewed by Ryosuke Niwa.
113
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.
117
118         Test: platform/chromium/editing/surrounding-text/surrounding-text.html
119
120         * editing/SurroundingText.cpp:
121         (WebCore::SurroundingText::SurroundingText):
122         (WebCore::SurroundingText::rangeFromContentOffsets):
123
124 2012-07-09  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
125
126         [EFL] [WK2] Ecore errors from ecore_evas_screen_geometry_get()
127         https://bugs.webkit.org/show_bug.cgi?id=90609
128
129         Reviewed by Daniel Bates.
130
131         Do not call ecore_evas_screen_geometry_get() if ecoreEvas is null.
132
133         No new tests. This patch doesn't change behavior.
134
135         * platform/efl/PlatformScreenEfl.cpp:
136         (WebCore::screenRect): Early return if Evas is null.
137
138 2012-07-09  Alexandru Chiculita  <achicu@adobe.com>
139
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
142
143         Reviewed by Simon Fraser.
144
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.
149
150         Tests: css3/filters/blur-filter-page-scroll-parents.html
151                css3/filters/blur-filter-page-scroll-self.html
152
153         * page/FrameView.cpp:
154         (WebCore::FrameView::scrollContentsFastPath):
155         * rendering/RenderLayer.cpp:
156         (WebCore):
157         (WebCore::RenderLayer::hasAncestorWithFilterOutsets):
158         * rendering/RenderLayer.h:
159         (RenderLayer):
160
161 2012-07-09  Joshua Bell  <jsbell@chromium.org>
162
163         IndexedDB: Empty arrays shouldn't be valid key paths
164         https://bugs.webkit.org/show_bug.cgi?id=90798
165
166         Reviewed by Tony Chang.
167
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.
172
173         Test: storage/indexeddb/keypath-arrays.html
174               storage/indexeddb/keypath-basics.html
175
176         * Modules/indexeddb/IDBKeyPath.cpp:
177         (WebCore::IDBKeyPath::isValid): Test for empty array.
178
179 2012-07-09  Dana Jansens  <danakj@chromium.org>
180
181         [chromium] Create render surfaces on main thread only for the current frame
182         https://bugs.webkit.org/show_bug.cgi?id=89793
183
184         Reviewed by Adrienne Walker.
185
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.
191
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
197         is important.
198
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.
202
203         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
204         (WebCore::subtreeShouldRenderToSeparateSurface):
205
206 2012-07-09  Ryosuke Niwa  <rniwa@webkit.org>
207
208         Mac build fix after r122116.
209
210         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
211
212 2012-07-09  Ryosuke Niwa  <rniwa@webkit.org>
213
214         EFL build fix after r122115.
215
216         * html/HTMLPropertiesCollection.cpp:
217         (WebCore::HTMLPropertiesCollection::create):
218
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
222
223         Reviewed by Rob Buis.
224
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
234         of OpenGLESShims.
235
236         This patch is created in large part by Jonathan Feldstein.
237
238         No new tests: no new behaviour.
239
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.
243         (WebCore):
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
248         (WebCore):
249         (WebCore::Extensions3DOpenGL::getExtensions): Returns a list of extensions
250         * platform/graphics/opengl/Extensions3DOpenGL.h: Remove functions now in Extensions3DOpenGLCommon
251         (WebCore):
252         (Extensions3DOpenGL):
253         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: Added.
254         (WebCore):
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.
264         (WebCore):
265         (Extensions3DOpenGLCommon):
266         * platform/graphics/opengl/Extensions3DOpenGLES.cpp: Added.
267         (WebCore):
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.
279         (WebCore):
280         (Extensions3DOpenGLES):
281         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
282         (WebCore::GraphicsContext3D::validateAttributes):
283         (WebCore):
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):
292         (WebCore):
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):
303         (WebCore):
304         (WebCore::GraphicsContext3D::getExtensions):
305         (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
306         * platform/graphics/qt/GraphicsContext3DQt.cpp:
307         (WebCore):
308         (WebCore::GraphicsContext3D::releaseShaderCompiler):
309
310 2012-07-02  Ryosuke Niwa  <rniwa@webkit.org>
311
312         Make HTMLCollection RefCounted
313         https://bugs.webkit.org/show_bug.cgi?id=90414
314
315         Reviewed by Sam Weinig.
316
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.
319
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.
323
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.
330
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):
339         * dom/Document.cpp:
340         (WebCore::Document::Document):
341         (WebCore::Document::openSearchDescriptionURL):
342         (WebCore):
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):
359         * dom/Document.h:
360         (Document):
361         * dom/Element.cpp:
362         (WebCore::Element::ensureCachedHTMLCollection):
363         (WebCore::ElementRareData::ensureCachedHTMLCollection):
364         (WebCore::Element::removeCachedHTMLCollection):
365         (WebCore):
366         * dom/Element.h:
367         (Element):
368         * dom/ElementRareData.h:
369         (ElementRareData):
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:
379         (HTMLAllCollection):
380         * html/HTMLCollection.cpp:
381         (WebCore::HTMLCollection::create):
382         (WebCore::HTMLCollection::~HTMLCollection):
383         (WebCore::HTMLCollection::itemAfter):
384         * html/HTMLCollection.h:
385         (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
386         (HTMLCollection):
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:
396         (HTMLElement):
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:
408         (HTMLFormElement):
409         * html/HTMLMapElement.cpp:
410         (WebCore::HTMLMapElement::imageElement):
411         (WebCore::HTMLMapElement::areas):
412         * html/HTMLMapElement.h:
413         (HTMLMapElement):
414         * html/HTMLNameCollection.cpp:
415         (WebCore::HTMLNameCollection::HTMLNameCollection):
416         (WebCore::HTMLNameCollection::~HTMLNameCollection):
417         (WebCore):
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:
431         (HTMLSelectElement):
432         * html/HTMLTableElement.cpp:
433         (WebCore::HTMLTableElement::rows):
434         (WebCore::HTMLTableElement::tBodies):
435         * html/HTMLTableElement.h:
436         (HTMLTableElement):
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):
453
454 2012-07-09  Pavel Feldman  <pfeldman@chromium.org>
455
456         Web Inspector: unindent line ending block upon { hit.
457         https://bugs.webkit.org/show_bug.cgi?id=90795
458
459         Reviewed by Vsevolod Vlasov.
460
461         Added block-start / block-end markup into the highlighter.
462
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):
472
473 2012-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
474
475         Unreviewed, rolling out r122107.
476         http://trac.webkit.org/changeset/122107
477         https://bugs.webkit.org/show_bug.cgi?id=90794
478
479         Build failure on Mac debug bots (Requested by falken_ on
480         #webkit).
481
482         * CMakeLists.txt:
483         * Configurations/FeatureDefines.xcconfig:
484         * DerivedSources.cpp:
485         * DerivedSources.make:
486         * DerivedSources.pri:
487         * Target.pri:
488         * WebCore.gypi:
489         * WebCore.xcodeproj/project.pbxproj:
490         * bindings/generic/RuntimeEnabledFeatures.cpp:
491         (WebCore):
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:
502
503 2012-07-09  Andrei Onea  <onea@adobe.com>
504
505         [CSSRegions] Rename NamedFlow::getRegionsByContentNode to NamedFlow::getRegionsByContent
506         https://bugs.webkit.org/show_bug.cgi?id=90759
507
508         Reviewed by Andreas Kling.
509
510         Renamed NamedFlow::getRegionsByContentNode to NamedFlow::getRegionsByContent as per CSS Regions spec:
511         http://www.w3.org/TR/css3-regions/#dom-named-flow
512
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
519
520         * dom/WebKitNamedFlow.cpp:
521         (WebCore::WebKitNamedFlow::getRegionsByContent):
522         * dom/WebKitNamedFlow.h:
523         (WebKitNamedFlow):
524         * dom/WebKitNamedFlow.idl:
525
526 2012-07-09  Matt Falkenhagen  <falken@chromium.org>
527
528         Add ENABLE_DIALOG_ELEMENT and skeleton files
529         https://bugs.webkit.org/show_bug.cgi?id=90521
530
531         Reviewed by Kent Tamura.
532
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.
535
536         No new tests, as there is no behavior change.
537
538         * CMakeLists.txt:
539         * Configurations/FeatureDefines.xcconfig:
540         * DerivedSources.cpp:
541         * DerivedSources.make:
542         * DerivedSources.pri:
543         * Target.pri:
544         * WebCore.gypi:
545         * WebCore.xcodeproj/project.pbxproj:
546         * bindings/generic/RuntimeEnabledFeatures.cpp:
547         (WebCore):
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):
554         (WebCore):
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.
557         (WebCore):
558         (WebCore::HTMLDialogElement::HTMLDialogElement):
559         (WebCore::HTMLDialogElement::create):
560         (WebCore::HTMLDialogElement::close):
561         (WebCore::HTMLDialogElement::show):
562         * html/HTMLDialogElement.h: Added.
563         (WebCore):
564         (HTMLDialogElement):
565         * html/HTMLDialogElement.idl: Added.
566         * html/HTMLElementsAllInOne.cpp:
567         * html/HTMLTagNames.in:
568         * page/DOMWindow.idl:
569
570 2012-07-09  Pavel Feldman  <pfeldman@chromium.org>
571
572         Web Inspector: inspector does not reflect newly created text nodes from contenteditable
573         https://bugs.webkit.org/show_bug.cgi?id=90779
574
575         Reviewed by Vsevolod Vlasov.
576
577         We need to report first text node as inserted, otherwise we fail to report character data modified on it.
578
579         * inspector/InspectorDOMAgent.cpp:
580         (WebCore::InspectorDOMAgent::characterDataModified):
581
582 2012-07-09  Andrey Kosyakov  <caseq@chromium.org>
583
584         REGRESSION(r121980) Layout Test inspector/timeline/timeline-frames.html started to crash.
585         https://bugs.webkit.org/show_bug.cgi?id=90747
586
587         Reviewed by Pavel Feldman.
588
589         - consider didCancelFrame() call normal if there is no pending frame, remove assertion;
590         - always set empty data object for frame records;
591
592         * inspector/InspectorTimelineAgent.cpp:
593         (WebCore::InspectorTimelineAgent::didCancelFrame):
594         (WebCore::InspectorTimelineAgent::commitFrameRecord):
595
596 2012-07-09  Taiju Tsuiki  <tzik@chromium.org>
597
598         Web Inspector: Add FileContentView for FileSystemView
599         https://bugs.webkit.org/show_bug.cgi?id=90529
600
601         Adding FileContentView to Inspector.
602         This class provides preview of text files in FileSystem.
603
604         Reviewed by Vsevolod Vlasov.
605
606         * WebCore.gypi:
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:
617
618 2012-07-09  Carlos Garcia Campos  <cgarcia@igalia.com>
619
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
622
623         Reviewed by Gustavo Noronha Silva.
624
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().
628
629         * platform/network/soup/CookieJarSoup.cpp:
630         (WebCore::getRawCookies):
631
632 2012-07-09  Taiju Tsuiki  <tzik@chromium.org>
633
634         Web Inspector: Add text file support for FileSystemAgent::requestFileContent
635         https://bugs.webkit.org/show_bug.cgi?id=90439
636
637         Reviewed by Vsevolod Vlasov.
638
639         * inspector/Inspector.json:
640         * inspector/InspectorFileSystemAgent.cpp:
641         (WebCore):
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):
650
651 2012-07-09  MORITA Hajime  <morrita@google.com>
652
653         [Chromium] ContextFeaturesClient::isEnabled is slow
654         https://bugs.webkit.org/show_bug.cgi?id=90367
655
656         Reviewed by Kent Tamura.
657
658         * dom/ContextFeatures.h:
659         (WebCore::ContextFeaturesClient::urlDidChange): Added.
660         (WebCore::ContextFeatures::urlDidChange): Added.
661         (WebCore):
662         * dom/Document.cpp:
663         (WebCore::Document::setURL): Added an urlDidChange() call.
664
665 2012-07-09  Andrei Onea  <onea@adobe.com>
666
667         [CSSRegions] Implement NamedFlow::firstEmptyRegionIndex attribute
668         https://bugs.webkit.org/show_bug.cgi?id=90608
669
670         Reviewed by Andreas Kling.
671
672         Implemented NamedFlow::firstEmptyRegionIndex as per spec: http://www.w3.org/TR/css3-regions/#dom-named-flow
673
674         Test: fast/regions/webkit-named-flow-first-empty-region-index.html
675
676         * dom/WebKitNamedFlow.cpp:
677         (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
678         (WebCore):
679         * dom/WebKitNamedFlow.h:
680         (WebKitNamedFlow):
681         * dom/WebKitNamedFlow.idl:
682
683 2012-07-08  Yoshifumi Inoue  <yosin@chromium.org>
684
685         [Platform-Mac] Derive LocaleMac.{cpp,h} and LocalizedDateMac.cpp from LocaleWin
686         https://bugs.webkit.org/show_bug.cgi?id=90752
687
688         Reviewed by Kent Tamura.
689
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
695
696         Due by git, diffs are appeared as new thing. I'll do svn copy at landing time.
697
698         No new tests. This patch doesn't change behavior.
699
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
703
704 2012-07-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
705
706         Introduce a build flag for low quality JPEG images
707         https://bugs.webkit.org/show_bug.cgi?id=90748
708
709         Reviewed by Adam Barth.
710
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)).
713
714         No new tests as there is no change in functionality.
715
716         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
717         (ditherMode):
718         (doFancyUpsampling):
719
720 2012-07-08  Sheriff Bot  <webkit.review.bot@gmail.com>
721
722         Unreviewed, rolling out r121968.
723         http://trac.webkit.org/changeset/121968
724         https://bugs.webkit.org/show_bug.cgi?id=90749
725
726         Caused a link error on chromium Win dbg. (Requested by hayato
727         on #webkit).
728
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:
737
738 2012-07-08  Mary Wu  <mary.wu@torchmobile.com.cn>
739
740         [BlackBerry] Make setForceDownload a setter method.
741         https://bugs.webkit.org/show_bug.cgi?id=90591
742
743         Reviewed by Rob Buis.
744
745         * platform/network/blackberry/ResourceRequest.h:
746         (WebCore::ResourceRequest::setForceDownload):
747
748 2012-07-05  MORITA Hajime  <morrita@google.com>
749
750         Heap-use-after-free in WebCore::RenderObject::destroyAndCleanupAnonymousWrappers
751         https://bugs.webkit.org/show_bug.cgi?id=90480
752
753         Reviewed by Kent Tamura.
754
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
758         results the crash.
759
760         This change tighten the childShouldCreateRenderer() to forbid
761         child renderers even from distributed nodes.
762
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.
767
768         Test: fast/dom/shadow/insertion-point-list-menu-crash.html
769
770         * html/HTMLFormControlElement.cpp:
771         (WebCore::HTMLFormControlElement::validationMessageContains):
772         (WebCore):
773         * html/HTMLFormControlElement.h:
774         (HTMLFormControlElement):
775         * html/HTMLSelectElement.cpp:
776         (WebCore::HTMLSelectElement::childShouldCreateRenderer):
777         * html/ValidationMessage.cpp:
778         (WebCore::ValidationMessage::contains):
779         (WebCore):
780         * html/ValidationMessage.h:
781         (WebCore):
782         (ValidationMessage):
783
784 2012-07-07  Kwang Yul Seo  <skyul@company100.net>
785
786         Remove unnecessary member HTMLTreeBuilder::m_lastScriptElementStartPosition
787         https://bugs.webkit.org/show_bug.cgi?id=90726
788
789         Reviewed by Adam Barth.
790
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.
797
798         No behavior change, so no new tests.
799
800         * html/parser/HTMLTreeBuilder.cpp:
801         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
802         (WebCore::HTMLTreeBuilder::processEndTag):
803         (WebCore::HTMLTreeBuilder::processScriptStartTag):
804         * html/parser/HTMLTreeBuilder.h:
805         (HTMLTreeBuilder):
806
807 2012-07-08  Philip Rogers  <pdr@google.com>
808
809         Refactor RenderSVGShape to not contain fallback code
810         https://bugs.webkit.org/show_bug.cgi?id=90514
811
812         Reviewed by Nikolas Zimmermann.
813
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.
817
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
822         a path exists.
823
824         There is only one remaining use of hasPath() in RenderSVGShape which I plan
825         to remove in a followup patch.
826
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.
830
831         No new tests as this is just a refactoring.
832
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):
844         (RenderSVGEllipse):
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):
856         (RenderSVGRect):
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):
867         (WebCore):
868         * rendering/svg/RenderSVGShape.h:
869         (RenderSVGShape):
870
871 2012-07-08  Kinuko Yasuda  <kinuko@chromium.org>
872
873         XHR.send should support ArrayBufferView
874         https://bugs.webkit.org/show_bug.cgi?id=90536
875
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
879
880         Reviewed by Kenneth Russell.
881
882         Test: http/tests/xmlhttprequest/send-array-buffer.html
883               http/tests/xmlhttprequest/send-data-view.html
884
885         * bindings/js/JSXMLHttpRequestCustom.cpp:
886         (WebCore::JSXMLHttpRequest::send):
887         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
888         (WebCore::V8XMLHttpRequest::sendCallback):
889         * xml/XMLHttpRequest.cpp:
890         (WebCore):
891         (WebCore::XMLHttpRequest::send):
892         * xml/XMLHttpRequest.h:
893         (XMLHttpRequest):
894         * xml/XMLHttpRequest.idl:
895
896 2012-07-08  Vivek Galatage  <vivekgalatage@gmail.com>
897
898         Web Inspector: CodeGeneratorInspector.py should not generate statements with no effect
899         https://bugs.webkit.org/show_bug.cgi?id=90697
900
901         Reviewed by Vsevolod Vlasov.
902
903         Fix to remove the statements with no effect. The check for errors is added only when some valid
904         statements exist.
905
906         No new tests as generator related patch.
907
908         * inspector/CodeGeneratorInspector.py:
909         (Generator.process_command):
910
911 2012-07-06  Lauro Neto  <lauro.neto@openbossa.org>
912
913         [Qt] Avoid deep copy of QImage in GraphicsContext3D::getImageData()
914         https://bugs.webkit.org/show_bug.cgi?id=90705
915
916         Reviewed by Noam Rosenthal.
917
918         Use QImage.constBits() as argument to packPixels instead of bits() to avoid
919         deep copying it.
920
921         * platform/graphics/qt/GraphicsContext3DQt.cpp:
922         (WebCore::GraphicsContext3D::getImageData):
923
924 2012-07-06  Andy Estes  <aestes@apple.com>
925
926         Fix errors reported by generate-bindings.pl after r121882.
927
928         * DerivedSources.make: Specify the correct path for notifications idl
929         files now that notifications/ lives in WebCore/Modules/.
930
931 2012-07-06  Justin Novosad  <junov@chromium.org>
932
933         Drawing to accelerated 2D canvas causes compositor to recompute layer tree
934         https://bugs.webkit.org/show_bug.cgi?id=90630
935
936         Reviewed by Simon Fraser.
937
938         No new tests: covered by existing canvas/compositing layout tests
939
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.
944
945         * html/canvas/CanvasRenderingContext2D.cpp:
946         (WebCore::CanvasRenderingContext2D::didDraw):
947         * rendering/RenderBoxModelObject.h:
948         * rendering/RenderLayerBacking.cpp:
949         (WebCore::RenderLayerBacking::contentChanged):
950
951 2012-07-06  Pavel Feldman  <pfeldman@chromium.org>
952
953         Web Inspector: get rid of this._lastMarkedRange in TextEditor.
954         https://bugs.webkit.org/show_bug.cgi?id=90691
955
956         Reviewed by Vsevolod Vlasov.
957
958         We don't need it, should use setSelection instead.
959
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):
965
966 2012-07-06  Vsevolod Vlasov  <vsevik@chromium.org>
967
968         Web Inspector: Snippet renaming behavior is not correct.
969         https://bugs.webkit.org/show_bug.cgi?id=90689
970
971         Reviewed by Pavel Feldman.
972
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.
976
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):
992
993 2012-07-06  Andreas Kling  <kling@webkit.org>
994
995         Separate mutating CSSStyleDeclaration operations.
996         <http://webkit.org/b/89945>
997
998         Reviewed by Antti Koivisto.
999
1000         Use separate paths for mutating the StylePropertySet wrapped by a CSSStyleDeclaration.
1001         PropertySetCSSStyleDeclaration now has:
1002
1003             - propertySet() const
1004             - ensureMutablePropertySet()
1005
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.)
1009
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):
1034
1035 2012-07-06  Pavel Feldman  <pfeldman@chromium.org>
1036
1037         Web Inspector: text editor scrolls 2px horizontally as one navigates the source code.
1038         https://bugs.webkit.org/show_bug.cgi?id=90682
1039
1040         Reviewed by Vsevolod Vlasov.
1041
1042         Removing the hack that is glueing the scroller to the left.
1043
1044         * inspector/front-end/TextEditor.js:
1045         (WebInspector.TextEditor.prototype._updatePanelOffsets):
1046         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
1047         * inspector/front-end/textEditor.css:
1048
1049 2012-07-06  Andrey Kosyakov  <caseq@chromium.org>
1050
1051         Web Inspector: get rid of cancellable records in Timeline, manage frame records explicitly
1052         https://bugs.webkit.org/show_bug.cgi?id=90684
1053
1054         Reviewed by Pavel Feldman.
1055
1056         - drop handling of "cancelable" records;
1057         - keep frame record until other records come (or frame is canceled)
1058
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):
1070
1071 2012-07-06  Alexei Filippov  <alexeif@chromium.org>
1072
1073         Web Inspector: Add native memory used by GlyphCache to the snapshot
1074         https://bugs.webkit.org/show_bug.cgi?id=90615
1075
1076         Reviewed by Yury Semikhatsky.
1077
1078         * inspector/InspectorMemoryAgent.cpp:
1079         (MemoryBlockName):
1080         (WebCore):
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):
1087         (WebCore):
1088         * platform/MemoryUsageSupport.h:
1089         (MemoryUsageSupport):
1090         (ComponentInfo):
1091         (WebCore::MemoryUsageSupport::ComponentInfo::ComponentInfo):
1092         * platform/chromium/MemoryUsageSupportChromium.cpp:
1093         (WebCore::glyphCacheVisitor):
1094         (WebCore):
1095         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
1096
1097 2012-07-06  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
1098
1099         [Qt] Switch to new-style Qt 5 configure tests
1100
1101         Use explicit project file action instead of syncqt magic.
1102
1103         https://bugs.webkit.org/show_bug.cgi?id=90461
1104
1105         Reviewed by Tor Arne Vestbø.
1106
1107         * WebCore.pri:
1108
1109 2012-07-06  Pavel Feldman  <pfeldman@chromium.org>
1110
1111         Web Inspector: start searching from the cursor position in the Sources panel.
1112         https://bugs.webkit.org/show_bug.cgi?id=90677
1113
1114         Reviewed by Vsevolod Vlasov.
1115
1116         Web Inspector: start searching from the cursor position in the Sources panel.
1117         Drive-by: select whole match upon search cancel.
1118
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):
1131
1132 2012-07-06  Vsevolod Vlasov  <vsevik@chromium.org>
1133
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
1136
1137         Reviewed by Pavel Feldman.
1138
1139         Snippets are now reloaded from the storage on ScriptSnippetMapping reset.
1140         Fixed snippets storage.
1141
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):
1148
1149 2012-07-06  Vsevolod Vlasov  <vsevik@chromium.org>
1150
1151         Web Inspector: Implement snippets removing.
1152         https://bugs.webkit.org/show_bug.cgi?id=90674
1153
1154         Reviewed by Pavel Feldman.
1155
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:
1166
1167 2012-07-06  'Pavel Feldman'  <pfeldman@chromium.org>
1168
1169         Not reviewed: fix inspector front-end compilation.
1170
1171         * inspector/front-end/ElementsTreeOutline.js:
1172         * inspector/front-end/SearchController.js:
1173
1174 2012-07-06  Yury Semikhatsky  <yurys@chromium.org>
1175
1176         Web Inspector: add memory reporting routine to Document
1177         https://bugs.webkit.org/show_bug.cgi?id=90668
1178
1179         Reviewed by Pavel Feldman.
1180
1181         Added methods for reporting HashSet, ListHashSet and Vector memory
1182         footprint. Made Document report its size along with its internal
1183         collections sizes.
1184
1185         * dom/Document.cpp:
1186         (WebCore::Document::reportMemoryUsage):
1187         (WebCore):
1188         * dom/Document.h:
1189         (Document):
1190         * dom/MemoryInstrumentation.h:
1191         (MemoryInstrumentation):
1192         (MemoryObjectInfo):
1193         (WebCore::MemoryObjectInfo::reportHashMap):
1194         (WebCore::MemoryObjectInfo::reportHashSet):
1195         (WebCore::MemoryObjectInfo::reportListHashSet):
1196         (WebCore::MemoryObjectInfo::reportVector):
1197         (WebCore::MemoryObjectInfo::memoryInstrumentation):
1198         (WebCore::MemoryInstrumentation::reportHashMap):
1199         (WebCore):
1200         (WebCore::MemoryInstrumentation::reportHashSet):
1201         (WebCore::MemoryInstrumentation::reportListHashSet):
1202         (WebCore::MemoryInstrumentation::reportVector):
1203         * inspector/InspectorMemoryAgent.cpp:
1204         (WebCore):
1205
1206 2012-07-06  Gabor Rapcsanyi  <rgabor@webkit.org>
1207
1208         Fixing defines for NEON intrinsics.
1209         https://bugs.webkit.org/show_bug.cgi?id=90666
1210
1211         Reviewed by Zoltan Herczeg.
1212
1213         Existing tests cover this issue.
1214
1215         * platform/graphics/filters/FEGaussianBlur.cpp:
1216         (WebCore::FEGaussianBlur::platformApplyGeneric):
1217         * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
1218         * platform/graphics/filters/arm/NEONHelpers.h:
1219
1220 2012-07-05  Vsevolod Vlasov  <vsevik@chromium.org>
1221
1222         Web Inspector: Workspace should dispatch WorkspaceReset event on navigation.
1223         https://bugs.webkit.org/show_bug.cgi?id=90616
1224
1225         Reviewed by Pavel Feldman.
1226
1227         Workspace UISourceCodeProviders are now reset on navigation.
1228         UISourceCodeRemoved event is not dispatched from UISourceCodeProviders on reset (page navigation) anymore.
1229
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):
1252
1253 2012-07-05  Arnaud Renevier  <arno@renevier.net>
1254
1255         [GTK] Showing the context menu in the Web Inspector can crash the browser
1256         https://bugs.webkit.org/show_bug.cgi?id=88800
1257
1258         Reviewed by Carlos Garcia Campos.
1259
1260         Remove ContextMenuItem from its parent before appending it again to a
1261         new parent
1262
1263         No new tests, behavior is unchanged.
1264
1265         * platform/gtk/ContextMenuGtk.cpp:
1266         (WebCore::ContextMenu::appendItem):
1267
1268 2012-07-05  Dongwoo Im  <dw.im@samsung.com>
1269
1270         [EFL] Unreviewed, Fix build break when WEB_AUDIO is enabled.
1271         https://bugs.webkit.org/show_bug.cgi?id=90653
1272
1273         Unreviewed build fix.
1274
1275         A new file, AudioFIFO.cpp, is added for the Web Audio fearure.
1276         This file should be included into the CMakeLists.txt file.
1277
1278         * CMakeLists.txt: Add the newly created file into the CMakeLists.txt
1279
1280 2012-07-05  Mike West  <mkwst@chromium.org>
1281
1282         Multiple Content Security Policy headers are correctly processed as separate headers.
1283         https://bugs.webkit.org/show_bug.cgi?id=90629
1284
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.
1289
1290         This oversight bit Firefox as well, and was patched in February:
1291         https://bugzilla.mozilla.org/show_bug.cgi?id=717511
1292
1293         Reviewed by Adam Barth.
1294
1295         Test: http/tests/security/contentSecurityPolicy/directive-parsing-multiple-headers.html
1296
1297         * page/ContentSecurityPolicy.cpp:
1298         (WebCore::ContentSecurityPolicy::didReceiveHeader):
1299
1300 2012-07-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1301
1302         Unreviewed, rolling out r121921.
1303         http://trac.webkit.org/changeset/121921
1304         https://bugs.webkit.org/show_bug.cgi?id=90648
1305
1306         caused hundreds of crashes on Mac (Requested by pizlo on
1307         #webkit).
1308
1309         * editing/SurroundingText.cpp:
1310         (WebCore::SurroundingText::SurroundingText):
1311         * editing/TextIterator.cpp:
1312         (WebCore::CharacterIterator::advance):
1313         (WebCore::BackwardsCharacterIterator::advance):
1314
1315 2012-07-05  Anders Carlsson  <andersca@apple.com>
1316
1317         Type-ahead doesn't work in options inside optgroups
1318         https://bugs.webkit.org/show_bug.cgi?id=90647
1319         <rdar://problem/5604894>
1320
1321         Reviewed by Dan Bernstein.
1322
1323         Set the title of the menu item to a string that doesn't contain any leading or trailing whitespace.
1324
1325         * platform/mac/PopupMenuMac.mm:
1326         (WebCore::PopupMenuMac::populate):
1327
1328 2012-07-05  Hayato Ito  <hayato@chromium.org>
1329
1330         [Crash] Click an element which will be 'display: none' on focus.
1331         https://bugs.webkit.org/show_bug.cgi?id=90516
1332
1333         Reviewed by Hajime Morita.
1334
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.
1344
1345         Test: fast/events/display-none-on-focus-crash.html
1346
1347         * page/EventHandler.cpp:
1348         (WebCore::EventHandler::handleMousePressEventSingleClick):
1349
1350 2012-07-05  Benjamin Poulain  <bpoulain@apple.com>
1351
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
1354
1355         Reviewed by Anders Carlsson.
1356
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.
1362
1363         This patch add a second check for cancellation after invoking ResourceLoader::didFinishLoadingOnePart() to
1364         avoid such issues.
1365
1366         The previous check at the beginning of ResourceLoader::didFinishLoading() has been removed because it is
1367         redundant with ResourceLoader::didFinishLoadingOnePart().
1368
1369         * loader/ResourceLoader.cpp:
1370         (WebCore::ResourceLoader::didFinishLoading):
1371         (WebCore::ResourceLoader::didFinishLoadingOnePart):
1372
1373 2012-07-05  Simon Fraser  <simon.fraser@apple.com>
1374
1375         Add a utility method for hasOverflowClip() or hasClip()
1376         https://bugs.webkit.org/show_bug.cgi?id=90635
1377
1378         Reviewed by Dean Jackson.
1379         
1380         Add RenderObject::hasClipOrOverflowClip() as a convenience method
1381         since we end up calling hasOverfFlowClip() || hasClip() a lot in the layer code.
1382
1383         No new tests; refactoring only.
1384
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):
1393
1394 2012-07-05  Yongjun Zhang  <yongjun_zhang@apple.com>
1395
1396         Code refactoring: move mimeTypeFromUTITree to a separate file.
1397         https://bugs.webkit.org/show_bug.cgi?id=90619
1398
1399         We should move UTI handling related code to a separate file.
1400
1401         Reviewed by David Kilzer.
1402
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.
1406         (WebCore):
1407         * platform/network/mac/UTIUtilities.mm: Added.  move mimeTypeFromUTITree to UTIUtilities.mm.
1408         (WebCore):
1409         (WebCore::mimeTypeFromUTITree):
1410         * platform/network/mac/WebCoreURLResponse.mm: include UTIUtilities.h to use mimeTypeFromUTITree.
1411         (WebCore):
1412
1413 2012-07-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
1414
1415         Character iterators should not advance if they are at end
1416         https://bugs.webkit.org/show_bug.cgi?id=90560
1417
1418         Reviewed by Ryosuke Niwa.
1419
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.
1423
1424         Test: platform/chromium/editing/surrounding-text/surrounding-text.html
1425
1426         * editing/SurroundingText.cpp:
1427         (WebCore::SurroundingText::SurroundingText):
1428         * editing/TextIterator.cpp:
1429         (WebCore::CharacterIterator::advance):
1430         (WebCore::BackwardsCharacterIterator::advance):
1431
1432 2012-07-05  John Mellor  <johnme@chromium.org>
1433
1434         Text Autosizing: Add basic framework
1435         https://bugs.webkit.org/show_bug.cgi?id=88655
1436
1437         Follow-up patch tweaking method signatures.
1438
1439         Reviewed by Simon Fraser.
1440
1441         No functional change, so no new tests.
1442
1443         * page/FrameView.cpp:
1444         (WebCore::FrameView::layout):
1445         * rendering/TextAutosizer.cpp:
1446         (WebCore::TextAutosizer::processSubtree):
1447         (WebCore::TextAutosizer::processBlock):
1448         (WebCore::TextAutosizer::processText):
1449         (WebCore):
1450         * rendering/TextAutosizer.h:
1451         (TextAutosizer):
1452
1453 2012-07-05  Pavel Feldman  <pfeldman@chromium.org>
1454
1455         Web Inspector: move cursor to the current search match.
1456         https://bugs.webkit.org/show_bug.cgi?id=90621
1457
1458         Reviewed by Vsevolod Vlasov.
1459
1460         After closing the search dialog, the cursor should be at the latest search match location.
1461
1462         * inspector/front-end/TextEditor.js:
1463         (WebInspector.TextEditor.prototype.markAndRevealRange):
1464         (WebInspector.TextEditor.prototype._handleFocused):
1465
1466 2012-07-05  Behdad Esfahbod  <behdad@behdad.org>
1467
1468         Subpixel layout broken with spans with CSS position other than static
1469         https://bugs.webkit.org/show_bug.cgi?id=90097
1470
1471         Reviewed by Eric Seidel.
1472
1473         In InlineBox, don't truncate size to integers when returning.
1474
1475         In RenderBlock, don't round-up width to next integer.  Round-up to
1476         next LayoutUnit instead.
1477
1478         Test: Added fast/sub-pixel/size-of-span-with-different-positions.html
1479         Adjust expected outputs affected by the rounding changes.
1480
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):
1488
1489 2012-07-05  Nate Chapin  <japhet@chromium.org>
1490
1491         REGRESSION (r115654): Sometimes does not replace content for multipart/x-mixed-replace
1492         https://bugs.webkit.org/show_bug.cgi?id=88436
1493
1494         Reviewed by Brady Eidson.
1495
1496         Test: http/tests/multipart/multipart-replace-non-html-content.php
1497
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.
1507
1508 2012-07-05  Pavel Feldman  <pfeldman@chromium.org>
1509
1510         Web Inspector: move search field to the bottom of the page.
1511         https://bugs.webkit.org/show_bug.cgi?id=90610
1512
1513         Reviewed by Vsevolod Vlasov.
1514
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.
1517
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:
1539         (#search):
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):
1546         (.status-bar):
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):
1554
1555 2012-07-05  Sergey Rogulenko  <rogulenko@google.com>
1556
1557         Web Inspector: added low-level instrumentation support for TimelineAgent
1558         https://bugs.webkit.org/show_bug.cgi?id=90264
1559
1560         Reviewed by Pavel Feldman.
1561
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):
1574
1575 2012-07-05  John Mellor  <johnme@chromium.org>
1576
1577         Text Autosizing: Add test framework and simple test.
1578         https://bugs.webkit.org/show_bug.cgi?id=90561
1579
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.
1582
1583         Reviewed by Adam Barth.
1584
1585         Test: fast/text-autosizing/simple-paragraph.html
1586
1587         * page/Settings.cpp:
1588         (WebCore::Settings::Settings):
1589         (WebCore):
1590         (WebCore::Settings::setTextAutosizingWindowSizeOverride):
1591         * page/Settings.h:
1592         (Settings):
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):
1600         (WebCore):
1601         (WebCore::InternalSettings::setTextAutosizingWindowSizeOverride):
1602         * testing/InternalSettings.h:
1603         (InternalSettings):
1604         * testing/InternalSettings.idl:
1605
1606 2012-07-04  Andrey Kosyakov  <caseq@chromium.org>
1607
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
1610
1611         Reviewed by Pavel Feldman.
1612
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;
1616
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):
1627
1628 2012-07-04  Andrey Kosyakov  <caseq@chromium.org>
1629
1630         Web Inspector: incorrect height of main timeline pane after switching to memory mode
1631         https://bugs.webkit.org/show_bug.cgi?id=90387
1632
1633         Reviewed by Pavel Feldman.
1634
1635         * inspector/front-end/TimelinePanel.js:
1636         (WebInspector.TimelinePanel.prototype._splitterDragging):
1637         (WebInspector.TimelinePanel.prototype.set _setSplitterPosition):
1638         (WebInspector.TimelinePanel.prototype._overviewModeChanged):
1639
1640 2012-07-05  Vivek Galatage  <vivekgalatage@gmail.com>
1641
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
1644
1645         Reviewed by Pavel Feldman
1646
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.
1649
1650         No new tests as code refactoring and UI feature added to ElementsTreeOutline.js
1651
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):
1666
1667 2012-07-05  Gabor Rapcsanyi  <rgabor@webkit.org>
1668
1669         NEON intrinsics should be used with gaussian blur filter
1670         https://bugs.webkit.org/show_bug.cgi?id=90166
1671
1672         Reviewed by Zoltan Herczeg.
1673
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.
1678
1679         Existing tests cover this issue.
1680
1681         * CMakeLists.txt:
1682         * GNUmakefile.list.am:
1683         * Target.pri:
1684         * WebCore.gypi:
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:
1691         (FEGaussianBlur):
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.
1696         (WebCore):
1697         (WebCore::loadRGBA8AsFloat):
1698         (WebCore::storeFloatAsRGBA8):
1699
1700 2012-07-05  Sam D  <dsam2912@gmail.com>
1701
1702         Web Inspector: Having a "Scroll into view" for nodes through web inspector.
1703         https://bugs.webkit.org/show_bug.cgi?id=89554
1704
1705         Added options for scrolling-into-view the  element node through web
1706         inspector.
1707
1708         Reviewed by Pavel Feldman.
1709
1710         No new tests. UI change.
1711
1712         * English.lproj/localizedStrings.js:
1713         * inspector/front-end/ElementsTreeOutline.js:
1714         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
1715         (.):
1716         * inspector/front-end/RemoteObject.js:
1717         (WebInspector.RemoteObject.prototype.callFunction):
1718
1719 2012-07-05  Zan Dobersek  <zandobersek@gmail.com>
1720
1721         Add Gamepad logging channel
1722         https://bugs.webkit.org/show_bug.cgi?id=90570
1723
1724         Reviewed by Carlos Garcia Campos.
1725
1726         Add a new logging channel for logging significant
1727         events that are related to Gamepad API implementation.
1728
1729         No new tests - no new testable functionality.
1730
1731         * platform/Logging.cpp:
1732         (WebCore):
1733         (WebCore::getChannelFromName):
1734         * platform/Logging.h:
1735         (WebCore):
1736         * platform/gtk/GamepadsGtk.cpp: Log when a device is
1737         registered or unregistered.
1738         (WebCore::GamepadsGtk::registerDevice):
1739         (WebCore::GamepadsGtk::unregisterDevice):
1740
1741 2012-07-05  Peter Wang  <peter.wang@torchmobile.com.cn>
1742
1743         Web Inspector: [JSC] support JS execution in the context of an isolated world
1744         https://bugs.webkit.org/show_bug.cgi?id=85709
1745
1746         Reviewed by Gavin Barraclough.
1747
1748         No new test case for this bug. 
1749
1750         * bindings/js/ScriptController.cpp:
1751         (WebCore::ScriptController::collectIsolatedContexts):
1752         (WebCore):
1753
1754 2012-07-04  Huang Dongsung  <luxtella@company100.net>
1755
1756         Add virtual keyword to ~BitmapImage and ~StillImage because ~Image is virtual.
1757         https://bugs.webkit.org/show_bug.cgi?id=90447
1758
1759         Reviewed by Alexey Proskuryakov.
1760
1761         No new tests. This patch doesn't change behavior.
1762
1763         * platform/graphics/BitmapImage.h:
1764         (BitmapImage):
1765         * platform/graphics/qt/StillImageQt.h:
1766         (StillImage):
1767
1768 2012-07-04  Mike West  <mkwst@chromium.org>
1769
1770         Implement the script-nonce Content Security Policy directive.
1771         https://bugs.webkit.org/show_bug.cgi?id=89577
1772
1773         Reviewed by Adam Barth.
1774
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).
1780
1781         The implementation is gated on the ENABLE_CSP_NEXT flag, which is
1782         currently disabled for all ports other than Chromium.
1783
1784         Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-nonce--experimental
1785
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
1791
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:
1800         (CSPDirectiveList):
1801         (WebCore::CSPDirectiveList::logInvalidNonce):
1802         (WebCore):
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:
1813         (WebCore):
1814
1815 2012-07-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1816
1817         Notifications should be in Modules/notifications
1818         https://bugs.webkit.org/show_bug.cgi?id=82121
1819
1820         Reviewed by Adam Barth.
1821
1822         The notifications directory is now self-contained. This patch moves it to the Modules directory.
1823
1824         No new tests, covered by existing tests.
1825
1826         * CMakeLists.txt:
1827         * DerivedSources.make:
1828         * DerivedSources.pri:
1829         * GNUmakefile.am:
1830         * GNUmakefile.list.am:
1831         * Modules/notifications/DOMWindowNotifications.cpp: Renamed from Source/WebCore/notifications/DOMWindowNotifications.cpp.
1832         (WebCore):
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.
1843         (WebCore):
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.
1847         (WebCore):
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.
1868         (WebCore):
1869         (Notification):
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.
1892         (WebCore):
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.
1904         (WebCore):
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.
1912         (WebCore):
1913         (NotificationClient):
1914         (WebCore::NotificationClient::clearNotifications):
1915         (WebCore::NotificationClient::~NotificationClient):
1916         * Modules/notifications/NotificationController.cpp: Renamed from Source/WebCore/notifications/NotificationController.cpp.
1917         (WebCore):
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.
1925         (WebCore):
1926         (NotificationController):
1927         (WebCore::NotificationController::from):
1928         (WebCore::NotificationController::client):
1929         * Modules/notifications/NotificationPermissionCallback.h: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.h.
1930         (WebCore):
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.
1935         (WebCore):
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.
1941         (WebCore):
1942         (WorkerContextNotifications):
1943         * Modules/notifications/WorkerContextNotifications.idl: Renamed from Source/WebCore/notifications/WorkerContextNotifications.idl.
1944         * Target.pri:
1945         * WebCore.gyp/WebCore.gyp:
1946         * WebCore.gypi:
1947         * WebCore.pri:
1948         * WebCore.vcproj/WebCore.vcproj:
1949         * WebCore.vcproj/WebCoreCommon.vsprops:
1950         * WebCore.vcproj/copyForwardingHeaders.cmd:
1951         * WebCore.xcodeproj/project.pbxproj:
1952
1953 2012-07-04  Hayato Ito  <hayato@chromium.org>
1954
1955         Remove inline keywords from functions which can not be inlined in ComposedShadowTreeWalker
1956         https://bugs.webkit.org/show_bug.cgi?id=90432
1957
1958         Reviewed by Hajime Morita.
1959
1960         No new tests - no functional changes.
1961
1962         * dom/ComposedShadowTreeWalker.cpp:
1963         (WebCore::ComposedShadowTreeWalker::traverseParent):
1964         (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
1965
1966 2012-07-04  Luke Macpherson  <macpherson@chromium.org>
1967
1968         Inspector crashes when trying to inspect a page with CSS variables
1969         https://bugs.webkit.org/show_bug.cgi?id=89818
1970
1971         Reviewed by Antti Koivisto.
1972
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.
1975
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.
1978
1979         * css/CSSProperty.cpp:
1980         (WebCore::CSSProperty::cssName):
1981         (WebCore):
1982         (WebCore::CSSProperty::cssText):
1983         * css/CSSProperty.h:
1984         (CSSProperty):
1985         * css/PropertySetCSSStyleDeclaration.cpp:
1986         (WebCore::PropertySetCSSStyleDeclaration::item):
1987         * css/StylePropertySet.cpp:
1988         (WebCore::StylePropertySet::asText):
1989         * inspector/InspectorStyleSheet.cpp:
1990         (WebCore::InspectorStyle::populateAllProperties):
1991
1992 2012-07-04  Anthony Scian  <ascian@rim.com>
1993
1994         Web Inspector [JSC]: Implement ScriptCallStack::stackTrace
1995         https://bugs.webkit.org/show_bug.cgi?id=40118
1996
1997         Reviewed by Yong Li.
1998
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.
2002
2003         No new tests, manually tested thrown exception and inspector
2004         tracebacks.
2005
2006         * bindings/js/ScriptCallStackFactory.cpp:
2007         (WebCore::createScriptCallStack):
2008
2009 2012-07-04  Dana Jansens  <danakj@chromium.org>
2010
2011         [chromium] Respect memory needed for RenderSurfaces when reserving contents textures
2012         https://bugs.webkit.org/show_bug.cgi?id=89901
2013
2014         Reviewed by Adrienne Walker.
2015
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.
2021
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.
2025
2026         Since surface memory can no longer be taken by contents, we remove the
2027         preferred memory limit from the texture manager.
2028
2029         Tests: TiledLayerChromiumTest.dontAllocateContentsWhenTargetSurfaceCantBeAllocated
2030                CCPrioritizedTextureTest.renderSurfacesReduceMemoryAvailableOutsideRootSurface
2031                CCPrioritizedTextureTest.renderSurfacesReduceMemoryAvailableForRequestLate
2032                CCPrioritizedTextureTest.whenRenderSurfaceNotAvailableTexturesAlsoNotAvailable
2033
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):
2050         (WebCore):
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):
2068         (WebCore):
2069         (WebCore::CCPriorityCalculator::renderSurfacePriority):
2070         (WebCore::CCPriorityCalculator::priorityFromDistance):
2071         (WebCore::CCPriorityCalculator::priorityFromVisibility):
2072         * platform/graphics/chromium/cc/CCPriorityCalculator.h:
2073         (CCPriorityCalculator):
2074
2075 2012-07-04  John Mellor  <johnme@chromium.org>
2076
2077         Text Autosizing: Add basic framework
2078         https://bugs.webkit.org/show_bug.cgi?id=88655
2079
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.
2083
2084         Reviewed by Adam Barth.
2085
2086         No new tests. I plan to add a test framework as my next Text Autosizing patch.
2087
2088         * WebCore.gypi:
2089         * dom/Document.cpp:
2090         (WebCore::Document::Document):
2091         * dom/Document.h:
2092         (WebCore):
2093         (Document):
2094         (WebCore::Document::textAutosizer):
2095         * page/FrameView.cpp:
2096         (WebCore::FrameView::layout):
2097         * rendering/TextAutosizer.cpp: Added.
2098         (WebCore):
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.
2109         (WebCore):
2110         (TextAutosizer):
2111
2112 2012-07-04  Andrey Kosyakov  <caseq@chromium.org>
2113
2114         Unreviewed, rolling out r121767.
2115         http://trac.webkit.org/changeset/121767
2116         https://bugs.webkit.org/show_bug.cgi?id=89584
2117
2118         Crashes inspected page while recording timeline due to
2119         conflict with BeginFrame in record stack
2120
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):
2146
2147 2012-07-04  Dana Jansens  <danakj@chromium.org>
2148
2149         [chromium] Clear RenderSurfaces still when no idle paint will be done
2150         https://bugs.webkit.org/show_bug.cgi?id=90553
2151
2152         Reviewed by Adrienne Walker.
2153
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.
2157
2158         Tests: CCLayerTreeHostTestCompositeAndReadbackCleanup
2159
2160         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2161         (WebCore::CCLayerTreeHost::updateLayers):
2162
2163 2012-07-04  John Mellor  <johnme@chromium.org>
2164
2165         Text Autosizing: Add compile flag and runtime setting
2166         https://bugs.webkit.org/show_bug.cgi?id=87394
2167
2168         This patch renames Font Boosting to Text Autosizing and adds compile guards around the runtime setting.
2169
2170         Reviewed by Adam Barth.
2171
2172         No functionality yet, so no new tests.
2173
2174         * Configurations/FeatureDefines.xcconfig:
2175         * GNUmakefile.am:
2176         * Target.pri:
2177         * page/Settings.cpp:
2178         (WebCore::Settings::Settings):
2179         (WebCore::Settings::setTextAutosizingEnabled):
2180         * page/Settings.h:
2181         (Settings):
2182         (WebCore::Settings::textAutosizingEnabled):
2183
2184 2012-07-03  Alexander Pavlov  <apavlov@chromium.org>
2185
2186         Web Inspector: Emulate pseudo styles (hover etc.) of non-selected elements
2187         https://bugs.webkit.org/show_bug.cgi?id=86630
2188
2189         Reviewed by Pavel Feldman.
2190
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.
2196
2197         Test: inspector/styles/force-pseudo-state.html
2198
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):
2246
2247 2012-07-04  Pavel Feldman  <pfeldman@chromium.org>
2248
2249         Web Inspector: fix search on the network panel.
2250         https://bugs.webkit.org/show_bug.cgi?id=90557
2251
2252         Reviewed by Vsevolod Vlasov.
2253
2254         * inspector/front-end/NetworkPanel.js:
2255         (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
2256
2257 2012-07-04  Kwang Yul Seo  <skyul@company100.net>
2258
2259         Stop tracking line number in tokenizer
2260         https://bugs.webkit.org/show_bug.cgi?id=90544
2261
2262         Reviewed by Adam Barth.
2263
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.
2267
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):
2275         (WebCore):
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):
2287         (SegmentedString):
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:
2296         (WebCore):
2297         * xml/parser/XMLTokenizer.cpp:
2298         (WebCore::XMLTokenizer::nextToken):
2299
2300 2012-07-04  Ryuan Choi  <ryuan.choi@samsung.com>
2301
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
2304
2305         Reviewed by Rob Buis.
2306
2307         Use GENERATE_BINDINGS instead of using generate-bindings.pl directly.
2308
2309         * UseJSC.cmake:
2310         * UseV8.cmake:
2311         * PlatformBlackBerry.cmake:
2312
2313 2012-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
2314
2315         Web Inspector: UISourceCode should take care of adding revision after committing working copy.
2316         https://bugs.webkit.org/show_bug.cgi?id=90549
2317
2318         Reviewed by Pavel Feldman.
2319
2320         Revision is now added in UISourceCode.commitWorkingCopy synchronously even if saving to JS VM or CSS model failed.
2321
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):
2336
2337 2012-07-04  Pavel Feldman  <pfeldman@chromium.org>
2338
2339         Web Inspector: move settings button back to the right.
2340         https://bugs.webkit.org/show_bug.cgi?id=90552
2341
2342         Reviewed by Vsevolod Vlasov.
2343
2344         * inspector/front-end/inspector.css:
2345         (button.status-bar-item:active, button.status-bar-item.emulate-active):
2346         (button.settings-status-bar-item):
2347
2348 2012-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
2349
2350         Web Inspector: Get rid of ResourceDomainModelBinding and DebuggerResourceBinding, make Resource.setContent private.
2351         https://bugs.webkit.org/show_bug.cgi?id=90531
2352
2353         Reviewed by Pavel Feldman.
2354
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.
2358
2359         * WebCore.gypi:
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:
2381
2382 2012-07-04  'Pavel Feldman'  <pfeldman@chromium.org>
2383
2384         Not reviewed: follow up to r121843, reduce inspector dock timeout to 200ms.
2385
2386         * inspector/front-end/StatusBarButton.js:
2387         (WebInspector.StatusBarButton.prototype.makeLongClickEnabled.mouseDown):
2388
2389 2012-07-04  Ian Vollick  <vollick@chromium.org>
2390
2391         [chromium] Correctly reject accelerated animations with certain rotations.
2392         https://bugs.webkit.org/show_bug.cgi?id=89768
2393
2394         Reviewed by James Robinson.
2395
2396         UnitTests:
2397           GraphicsLayerChromiumTest.createTransformAnimationWithBigRotation
2398           GraphicsLayerChromiumTest.createTransformAnimationWithRotationInvolvingNegativeAngles
2399           GraphicsLayerChromiumTest.createTransformAnimationWithSmallRotationInvolvingLargeAngles
2400
2401         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
2402         (WebCore::appendKeyframe):
2403         (WebCore::isRotationType):
2404         (WebCore):
2405         (WebCore::causesRotationOfAtLeast180Degrees):
2406         (WebCore::CCKeyframedTransformAnimationCurve):
2407         (WebCore::createActiveAnimation):
2408         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2409         (WebCore::GraphicsLayerChromium::addAnimation):
2410
2411 2012-07-04  Pavel Feldman  <pfeldman@chromium.org>
2412
2413         Web Inspector: "Dock to right" shouldn't be in the settings dialog
2414         https://bugs.webkit.org/show_bug.cgi?id=76917
2415
2416         Reviewed by Vsevolod Vlasov.
2417
2418         Introduced 'long click-enabled' options for status bar buttons. Made dock/undock one of them.
2419
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):
2446
2447 2012-07-04  Sheriff Bot  <webkit.review.bot@gmail.com>
2448
2449         Unreviewed, rolling out r121813.
2450         http://trac.webkit.org/changeset/121813
2451         https://bugs.webkit.org/show_bug.cgi?id=90522
2452
2453         Causes browser_tests failure:
2454         ErrorPageTest.DNSError_GoBack2{Forward2,AndForward} on
2455         Chromium {Linux,Mac,Win} (Requested by yosin on #webkit).
2456
2457         * loader/DocumentLoader.cpp:
2458         (WebCore::DocumentLoader::commitData):
2459         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
2460         * testing/js/WebCoreTestSupport.cpp:
2461         (WebCoreTestSupport::resetInternalsObject):
2462
2463 2012-07-04  Kihong Kwon  <kihong.kwon@samsung.com>
2464
2465         [EFL] Change format of return value of navigator.language
2466         https://bugs.webkit.org/show_bug.cgi?id=89639
2467
2468         Reviewed by Kenneth Rohde Christiansen.
2469
2470         Remove encoding type from return value of navigator.language.
2471         For example, from en-US.UTF-8 to en-US.
2472
2473         Use exist test case (fast/js/navigator-language.html).
2474
2475         * platform/efl/LanguageEfl.cpp:
2476         (WebCore::platformLanguage):
2477
2478 2012-07-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2479
2480         [GTK] Don't show accel labels in context menu items
2481         https://bugs.webkit.org/show_bug.cgi?id=90437
2482
2483         Reviewed by Martin Robinson.
2484
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.
2493
2494         * platform/gtk/ContextMenuItemGtk.cpp:
2495         (WebCore::ContextMenuItem::ContextMenuItem):
2496
2497 2012-07-03  Christophe Dumez  <christophe.dumez@intel.com>
2498
2499         [EFL] Move BatteryClientEfl from WebKit to WebCore
2500         https://bugs.webkit.org/show_bug.cgi?id=90063
2501
2502         Reviewed by Kenneth Rohde Christiansen.
2503
2504         Move BatteryClientEfl class from WebKit to WebCore
2505         so that it can be reused in WebKit2.
2506
2507         No new tests, no behavior change.
2508
2509         * PlatformEfl.cmake:
2510         * platform/efl/BatteryClientEfl.cpp: Renamed from Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp.
2511         (WebCore):
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.
2522         (WebCore):
2523         (BatteryClientEfl):
2524         (WebCore::BatteryClientEfl::~BatteryClientEfl):
2525         (WebCore::BatteryClientEfl::batteryStatus):
2526
2527 2012-07-03  Huang Dongsung  <luxtella@company100.net>
2528
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
2532
2533         Reviewed by Eric Seidel.
2534
2535         No new tests. This patch doesn't change behavior.
2536
2537         * platform/graphics/BitmapImage.cpp:
2538         (WebCore::BitmapImage::frameHasAlphaAtIndex):
2539         (WebCore):
2540
2541 2012-07-03  Alex Sakhartchouk  <alexst@chromium.org>
2542
2543         [chromium] Avoid calling getUniformLocation??() in the compositor startup
2544         https://bugs.webkit.org/show_bug.cgi?id=90217
2545
2546         Reviewed by Adrienne Walker.
2547
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.
2550
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.
2553
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):
2583         (WebCore):
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):
2611         (VertexShaderPos):
2612         (WebCore::VertexShaderPosTexIdentity::init):
2613         (VertexShaderPosTexTransform):
2614         (VertexShaderQuad):
2615         (VertexShaderTile):
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):
2633
2634 2012-07-03  Erik Arvidsson  <arv@chromium.org>
2635
2636         [V8] Remove enableFasterDOMStoreAccess which is never used
2637         https://bugs.webkit.org/show_bug.cgi?id=90489
2638
2639         Reviewed by Adam Barth.
2640
2641         No new tests. Dead code removal.
2642
2643         * bindings/v8/V8DOMMap.cpp:
2644         * bindings/v8/V8DOMMap.h:
2645         (WebCore):
2646
2647 2012-07-03  Joshua Bell  <jsbell@chromium.org>
2648
2649         Binding: IDL type DOMString[] shouldn't match null
2650         https://bugs.webkit.org/show_bug.cgi?id=84217
2651
2652         Reviewed by Kentaro Hara.
2653
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.
2658
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.
2662
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
2666         isJSArray() test.
2667
2668         Test: bindings/scripts/test/TestObj.idl (a non-Nullable T[] overload)
2669
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):
2679         (WebCore):
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):
2686
2687 2012-07-03  Nate Chapin  <japhet@chromium.org>
2688
2689         REGRESSION (r115654): Sometimes does not replace content for multipart/x-mixed-replace
2690         https://bugs.webkit.org/show_bug.cgi?id=88436
2691
2692         Reviewed by Brady Eidson.
2693
2694         Test: http/tests/multipart/multipart-replace-non-html-content.php
2695
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.
2705
2706 2012-07-03  Raymond Toy  <rtoy@google.com>
2707
2708         Add AudioFIFO class and simplify AudioPullFIFO
2709         https://bugs.webkit.org/show_bug.cgi?id=90398
2710
2711         Reviewed by Chris Rogers.
2712
2713         No new tests. This code will be used in audio back-end implementation.
2714
2715         Add AudioFIFO class to implement main parts of FIFO.  Simplify
2716         implementation of AudioPushFIFO by using AudioFIFO.
2717         
2718         * WebCore.gypi: Add new files.
2719
2720         New AudioFIFO class
2721         * platform/audio/AudioFIFO.cpp: Copied from Source/WebCore/platform/audio/AudioPullFIFO.cpp.
2722         (WebCore):
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.
2728         (WebCore):
2729         (AudioFIFO):
2730         (WebCore::AudioFIFO::framesInFifo):
2731         (WebCore::AudioFIFO::updateIndex):
2732
2733         Use AudioFIFO
2734         * platform/audio/AudioPullFIFO.cpp:
2735         (WebCore::AudioPullFIFO::AudioPullFIFO):
2736         (WebCore::AudioPullFIFO::consume):
2737         (WebCore::AudioPullFIFO::fillBuffer):
2738         * platform/audio/AudioPullFIFO.h:
2739         (AudioPullFIFO):
2740
2741 2012-07-03  Nate Chapin  <japhet@chromium.org>
2742
2743         Protect this DocumentThreadableLoader in cancel() to handle reentrancy properly.
2744         https://bugs.webkit.org/show_bug.cgi?id=90483
2745
2746         Reviewed by Abhishek Arya.
2747
2748         No new tests, covered by http/tests/xmlhttprequest/reentrant-cancel.html
2749
2750         * loader/DocumentThreadableLoader.cpp:
2751         (WebCore::DocumentThreadableLoader::cancel):
2752
2753 2012-07-03  Tony Chang  <tony@chromium.org>
2754
2755         [chromium] Unreviewed, update .gitignore to handle VS2010 files.
2756
2757         * WebCore.gyp/.gitignore:
2758
2759 2012-07-03  Zan Dobersek  <zandobersek@gmail.com>
2760
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
2763
2764         Reviewed by Martin Robinson.
2765
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.
2769
2770         No new tests - no changed functionality.
2771
2772         * platform/gtk/GamepadsGtk.cpp:
2773         (WebCore::GamepadsGtk::unregisterDevice):
2774
2775 2012-07-03  Dominik Röttsches  <dominik.rottsches@intel.com>
2776
2777         Fix LayoutUnit usage in RenderImage::imageDimensionsChanged
2778         https://bugs.webkit.org/show_bug.cgi?id=90173
2779
2780         Reviewed by Eric Seidel.
2781
2782         The appropriate type should be used for storing width() and height() into local temporary variables.
2783
2784         No new tests, no change in behavior.
2785
2786         * rendering/RenderImage.cpp:
2787         (WebCore::RenderImage::imageDimensionsChanged):
2788
2789 2012-07-03  Sergio Villar Senin  <svillar@igalia.com>
2790
2791         [TextureMapper] Typo in edge-distance anti-aliasing code
2792         https://bugs.webkit.org/show_bug.cgi?id=90475
2793
2794         Reviewed by Martin Robinson.
2795
2796         No new tests. This just fixes a typo.
2797
2798         * platform/graphics/texmap/TextureMapperGL.cpp:
2799         (WebCore::TextureMapperGL::drawQuad):
2800
2801 2012-06-27  Vsevolod Vlasov  <vsevik@chromium.org>
2802
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
2805
2806         Reviewed by Pavel Feldman.
2807
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.
2812
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):
2840
2841 2012-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
2842
2843         Web Inspector: Anonymous scripts (evals) should not be added to Workspace.
2844         https://bugs.webkit.org/show_bug.cgi?id=90467
2845
2846         Reviewed by Pavel Feldman.
2847
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):
2857
2858 2012-07-03  Robert Hogan  <robert@webkit.org>
2859
2860         CSS 2.1 failure: floats-wrap-top-below-inline-* fail
2861         https://bugs.webkit.org/show_bug.cgi?id=88171
2862
2863         Reviewed by Eric Seidel.
2864
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. 
2868
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.
2873
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
2893
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):
2908         (RenderBlock):
2909         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
2910         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
2911         (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
2912         (FloatIntervalSearchAdapter):
2913         * rendering/RenderBlockLineLayout.cpp:
2914         (WebCore::logicalBottomForLine):
2915         (WebCore):
2916         (WebCore::LineWidth::updateAvailableWidth):
2917         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
2918         * rendering/RenderBox.cpp:
2919         (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
2920
2921 2012-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
2922
2923         Web Inspector: Introduce Workspace make it UISourceCode provider for ScriptsPanel.
2924         https://bugs.webkit.org/show_bug.cgi?id=90466
2925
2926         Reviewed by Pavel Feldman.
2927
2928         Introduced WebInspector.Workspace as a model (UISourceCode provider) behind ScriptsPanel.
2929
2930         * WebCore.gypi:
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:
2946
2947 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2948
2949         [Qt] Make use of .qmake.cache for caching features
2950
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.
2956
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.
2960
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
2963         thing there.
2964
2965         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2966
2967         https://bugs.webkit.org/show_bug.cgi?id=90461
2968
2969         Reviewed by Tor Arne Vestbø.
2970
2971         * DerivedSources.pri:
2972         * WebCore.pri:
2973
2974 2012-07-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2975
2976         Unreviewed, rolling out r121766.
2977         http://trac.webkit.org/changeset/121766
2978         https://bugs.webkit.org/show_bug.cgi?id=90465
2979
2980         It caused flakey build errors on the bots (Requested by Ossy
2981         on #webkit).
2982
2983         * DerivedSources.pri:
2984         * WebCore.pri:
2985
2986 2012-07-03  George Staikos  <staikos@webkit.org>
2987
2988         [BlackBerry] Enable Custom Scheme Handlers for BlackBerry.
2989         https://bugs.webkit.org/show_bug.cgi?id=90422
2990
2991         Reviewed by Rob Buis.
2992
2993         * page/NavigatorRegisterProtocolHandler.cpp:
2994         (WebCore::initProtocolHandlerWhitelist): Disable the overrides as
2995                                                  they're undesired by BlackBerry
2996
2997 2012-07-03  Eugene Klyuchnikov  <eustas.bug@gmail.com>
2998
2999         Web Inspector: Forward message loop instrumentation data to frontend.
3000         https://bugs.webkit.org/show_bug.cgi?id=89584
3001
3002         Reviewed by Yury Semikhatsky.
3003
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.
3008
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.
3018         (WebCore):
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):
3047         Ditto.
3048         (WebInspector.TimelinePresentationModel.prototype.addRecord):
3049         Unwraps "Program" events.
3050         (WebInspector.TimelinePresentationModel.prototype._addRecord):
3051         Renamed from "addRecord"
3052
3053 2012-07-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3054
3055         [Qt] Make use of .qmake.cache for caching features
3056
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.
3062
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.
3066
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
3069         thing there.
3070
3071         Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
3072
3073         https://bugs.webkit.org/show_bug.cgi?id=90461
3074
3075         Reviewed by Tor Arne Vestbø.
3076
3077         * DerivedSources.pri:
3078         * WebCore.pri:
3079
3080 2012-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
3081
3082         inspector/debugger/script-snippet-model.html fails
3083         https://bugs.webkit.org/show_bug.cgi?id=90385
3084
3085         Reviewed by Pavel Feldman.
3086
3087         * inspector/front-end/ScriptSnippetModel.js:
3088
3089 2012-07-03  Alexander Pavlov  <apavlov@chromium.org>
3090
3091         [REGRESSION] Crash when copying a StyleRuleMedia with a NULL m_mediaQueries
3092         https://bugs.webkit.org/show_bug.cgi?id=90459
3093
3094         Reviewed by Andreas Kling.
3095
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.
3098
3099         * css/CSSParser.cpp:
3100         (WebCore::CSSParser::createMediaRule):
3101         * css/StyleRule.cpp:
3102         (WebCore::StyleRuleMedia::StyleRuleMedia):
3103
3104 2012-07-03  Andrey Kosyakov  <caseq@chromium.org>
3105
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
3108
3109         Reviewed by Pavel Feldman.
3110
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;
3114
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):
3122         (WebCore):
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):
3135
3136 2012-07-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>  Joel Dillon <joel.dillon@codethink.co.uk>
3137
3138         [Qt][Win] Fix broken QtWebKit5.lib linking
3139         https://bugs.webkit.org/show_bug.cgi?id=88321
3140
3141         Reviewed by Kenneth Rohde Christiansen.
3142
3143         * platform/PlatformExportMacros.h:
3144
3145 2012-07-03  Philip Rogers  <pdr@google.com>
3146
3147         Fix text positioning with non-bmp characters.
3148         https://bugs.webkit.org/show_bug.cgi?id=87681
3149
3150         Reviewed by Nikolas Zimmermann.
3151
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
3154         spaces are ignored.
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.
3160
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.
3163
3164         Tests: svg/text/non-bmp-tspans-expected.svg
3165                svg/text/non-bmp-tspans.svg
3166
3167         * rendering/svg/SVGTextMetricsBuilder.cpp:
3168         (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
3169
3170 2012-07-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3171
3172         Improve test cases for network information APIs
3173         https://bugs.webkit.org/show_bug.cgi?id=90162
3174
3175         Reviewed by Adam Barth.
3176
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.
3179
3180         In addition, expected results need to check return type instead of property name.
3181
3182         No new tests. Covered by existing tests.
3183
3184         * Modules/networkinfo/NetworkInfoConnection.cpp:
3185         (WebCore::NetworkInfoConnection::bandwidth):
3186         (WebCore::NetworkInfoConnection::metered):
3187
3188 2012-07-03  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
3189
3190         [EFL] [WK2] Don't call eina_iterator_free() if iterator is NULL
3191         https://bugs.webkit.org/show_bug.cgi?id=90076
3192
3193         Reviewed by Kenneth Rohde Christiansen.
3194
3195         Add a null check to prevent calling eina_iterator_free() when
3196         iterator is NULL.
3197
3198         No new tests. This patch doesn't change behavior.
3199
3200         * platform/efl/FileSystemEfl.cpp:
3201         (WebCore::listDirectory): Early return when iterator is NULL.
3202
3203 2012-07-03  Alexander Pavlov  <apavlov@chromium.org>
3204
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
3207
3208         Reviewed by Vsevolod Vlasov.
3209
3210         * inspector/front-end/ElementsTreeOutline.js:
3211         (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
3212
3213 2012-07-03  Vsevolod Vlasov  <vsevik@chromium.org>
3214
3215         Web Inspector: Save scroll selection and cursor position of SourceFrames in sources panel.
3216         https://bugs.webkit.org/show_bug.cgi?id=90294
3217
3218         Reviewed by Yury Semikhatsky.
3219
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.
3224
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):
3284
3285 2012-07-03  Taiju Tsuiki  <tzik@chromium.org>
3286
3287         Web Inspector: Make DirectoryContentView sortable
3288         https://bugs.webkit.org/show_bug.cgi?id=90361
3289
3290         Reviewed by Vsevolod Vlasov.
3291
3292         * inspector/Inspector.json:
3293         * inspector/InspectorFileSystemAgent.cpp:
3294         (WebCore):
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):
3305
3306 2012-07-03  Jan Keromnes  <janx@linux.com>
3307
3308         Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
3309         https://bugs.webkit.org/show_bug.cgi?id=89939
3310
3311         Reviewed by Vsevolod Vlasov.
3312
3313         Fixed LayoutTests and PerformanceTests accordingly.
3314
3315         * WebCore.gypi:
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.
3355
3356 2012-07-03  Charles Wei  <charles.wei@torchmobile.com.cn>
3357
3358         IndexedDB: should make the LevelDB persistant to the directory indicated in PageGroupSettings::indexedDBDataBasePath
3359         https://bugs.webkit.org/show_bug.cgi?id=88338
3360
3361         Reviewed by David Levin.
3362
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. 
3366
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):
3377         (WebCore):
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):
3392         (WebCore):
3393         * workers/WorkerThread.h:
3394         (WorkerThread):
3395
3396 2012-07-03  Balazs Kelemen  <kbalazs@webkit.org>
3397
3398         [Qt][WK2] fast/viewport/viewport-91.html still fails after r121555 and r121661
3399         https://bugs.webkit.org/show_bug.cgi?id=90376
3400
3401         Reviewed by Csaba Osztrogonác.
3402
3403         No new tests, this is only a build alignment.
3404
3405         Export ViewportArguments::deprecatedTargetDPI since it is used in WebKit2.
3406         * WebCore.exp.in:
3407
3408 2012-07-02  Martin Robinson  <mrobinson@igalia.com>
3409
3410         [TextureMapper] The TextureMapper should support edge-distance anti-antialiasing
3411         https://bugs.webkit.org/show_bug.cgi?id=90308
3412
3413         Reviewed by Noam Rosenthal.
3414
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.
3418
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.
3423
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).
3427
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
3442         drawRect.
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
3453         orientation.
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.
3464         (TextureMapperGL):
<