fdefb59c3351c36f72536fd570d7631628b96098
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-06-28  MORITA Hajime  <morrita@google.com>
2
3         [Refactoring] NodeRenderingContext ctor could be built on top of the ComposedShadowTreeWalker
4         https://bugs.webkit.org/show_bug.cgi?id=89732
5
6         Reviewed by Dimitri Glazkov.
7
8         The constructor of NodeRenderingContext implements almost same
9         logic as ComposedShadowTreeWalker::parent().  This change
10         eliminates the duplication by employing ComposedShadowTreeWalker in the constructor.
11
12         ComposedShadowTreeWalker has same difference from
13         NodeRenderingContext though. So this change also extends
14         ComposedShadowTreeWalker to support these missing pieces, which
15         are encapsulated in newly introduced ParentTranversalDetails
16         class where:
17
18         - not only the parent, but also the insertion point of the child is returned,
19         - resetStyleInheritance from the child-parent traversal is computed and
20         - if the starting point is out of the composition, it returns null as a parent.
21
22         This change also inlines some ComposedShadowTreeWalker methods for speed.
23
24         No new tests. Covered by existing tests.
25
26         * WebCore.exp.in:
27         * dom/ComposedShadowTreeWalker.cpp:
28         (WebCore::shadowOfParent):
29         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::didTraverseInsertionPoint):
30         (WebCore):
31         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::didTraverseShadowRoot):
32         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::didFindNode):
33         (WebCore::ComposedShadowTreeWalker::findParent):
34         (WebCore::ComposedShadowTreeWalker::escapeFallbackContentElement):
35         (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
36         (WebCore::ComposedShadowTreeWalker::traverseParent):
37         (WebCore::ComposedShadowTreeWalker::traverseParentInCurrentTree):
38         (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
39         * dom/ComposedShadowTreeWalker.h:
40         (ParentTranversalDetails):
41         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::ParentTranversalDetails):
42         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::node):
43         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::insertionPoint):
44         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::resetStyleInheritance):
45         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::outOfComposition):
46         (WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::childWasOutOfComposition):
47         (ComposedShadowTreeWalker):
48         (WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker):
49         (WebCore):
50         * dom/NodeRenderingContext.cpp:
51         (WebCore::NodeRenderingContext::NodeRenderingContext):
52         (WebCore::NodeRenderingContext::nextRenderer):
53         (WebCore::NodeRenderingContext::previousRenderer):
54         (WebCore::NodeRenderingContext::parentRenderer):
55         (WebCore::NodeRenderingContext::shouldCreateRenderer):
56         (WebCore::NodeRenderingContext::isOnEncapsulationBoundary):
57         * dom/NodeRenderingContext.h:
58         (NodeRenderingContext):
59         (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
60         (WebCore::NodeRenderingContext::resetStyleInheritance):
61         (WebCore::NodeRenderingContext::insertionPoint):
62
63 2012-06-28  Stephen White  <senorblanco@chromium.org>
64
65         Implement filter url() function.
66         https://bugs.webkit.org/show_bug.cgi?id=72443
67
68         url() references can be internal, in which case the DOM nodes are
69         retrieved directly from the current document, or external, in which
70         case a CachedSVGDocument request is made, and the filter node build is
71         deferred until the document is loaded.  WebKitSVGDocumentValue
72         holds the CachedSVGDocument (if any) and the URL as a CSSValue,
73         and is stored in the CSSValue chain as the argument to the reference
74         filter.
75
76         One notable difference between internal and external references is
77         that internal references will automatically update on an SVG filter node
78         attribute change, while external references will not, since they live
79         in a separate document.  This is consistent with the Mozilla
80         implementation.  In order to make this work, the RenderLayer is made a
81         client of the RenderSVGResourceContainer, and calls
82         filterNeedsRepaint() when the SVG nodes are invalidated.
83
84         Some plumbing:  The CSS StyleResolver was refactored to load all
85         all external resources (images, shaders and (now) SVG filters) in a
86         single function, loadPendingResources().  The PlatformLayer typedef
87         was moved out into its own file, in order to break a cyclic
88         dependency.  SVGFilterBuilder was modified to accept the SourceGraphic
89         and SourceAlpha FilterEffects in its constructor and factory function,
90         rather than extracting them from the parent Filter.  (This is necessary
91         so that the url() filter can correctly hook up its inputs from
92         previous CSS filters.)
93
94         Reviewed by Dean Jackson.
95
96         Tests: css3/filters/effect-reference-external.html
97                css3/filters/effect-reference-hw.html
98                css3/filters/effect-reference-ordering.html
99                css3/filters/effect-reference.html
100
101         * CMakeLists.txt:
102         * GNUmakefile.list.am:
103         * Target.pri:
104         * WebCore.gypi:
105         * WebCore.vcproj/WebCore.vcproj:
106         * WebCore.xcodeproj/project.pbxproj:
107         Add WebKitCSSSVGDocumentValue to the various build files.
108         * css/CSSComputedStyleDeclaration.cpp:
109         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
110         Use the reference filter's url when getting the computed style for
111         a reference filter.
112         * css/CSSParser.cpp:
113         (WebCore::CSSParser::parseFilter):
114         Create the referenceFilterValue's argument as a
115         WebKitCSSSVGDocumentValue instead of a CSS string.
116         * css/CSSValue.cpp:
117         (WebCore::CSSValue::cssText):
118         Add support for WebKitCSSSVGDocumentValue.
119         (WebCore::CSSValue::destroy):
120         Add support for WebKitCSSSVGDocumentValue.
121         * css/CSSValue.h:
122         (WebCore::CSSValue::isWebKitCSSSVGDocumentValue):
123         Add support for WebKitCSSSVGDocumentValue.
124         * css/StyleResolver.cpp:
125         (WebCore::StyleResolver::collectMatchingRulesForList):
126         Keep track of pending SVG document references, and load them when
127         necessary.
128         * css/StyleResolver.h:
129         * css/WebKitCSSSVGDocumentValue.cpp: Added.
130         New CSSValue subclass for holding SVG document references.
131         (WebCore::WebKitCSSSVGDocumentValue::WebKitCSSSVGDocumentValue):
132         (WebCore::WebKitCSSSVGDocumentValue::~WebKitCSSSVGDocumentValue):
133         (WebCore::WebKitCSSSVGDocumentValue::load):
134         (WebCore::WebKitCSSSVGDocumentValue::customCssText):
135         * css/WebKitCSSSVGDocumentValue.h: Added.
136         (WebCore::WebKitCSSSVGDocumentValue::create):
137         (WebCore::WebKitCSSSVGDocumentValue::cachedSVGDocument):
138         (WebCore::WebKitCSSSVGDocumentValue::url):
139         (WebCore::WebKitCSSSVGDocumentValue::loadRequested):
140         * platform/graphics/GraphicsLayer.h:
141         Refactor PlatformLayer out into its own file, to avoid circular
142         includes.
143         * platform/graphics/ImageBuffer.h:
144         Include PlatformLayer.h instead of GraphicsLayer.h.
145         * platform/graphics/PlatformLayer.h: Added.
146         Refactor PlatformLayer out into its own file, to avoid circular
147         includes.
148         * platform/graphics/filters/FilterOperation.h:
149         (WebCore::ReferenceFilterOperation::create):
150         (WebCore::ReferenceFilterOperation::clone):
151         (WebCore::ReferenceFilterOperation::url):
152         (WebCore::ReferenceFilterOperation::fragment):
153         (ReferenceFilterOperation):
154         (WebCore::ReferenceFilterOperation::data):
155         (WebCore::ReferenceFilterOperation::setData):
156         (WebCore::ReferenceFilterOperation::operator==):
157         (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
158         Augment ReferenceFilterOperation to maintain a data pointer,
159         in order to preserve context while loading external SVG documents.
160         Replace "reference" with "url" and "fragment" members, in order to
161         ease retrieval of the appropriate DOM objects.
162         * platform/graphics/filters/FilterOperations.cpp:
163         (WebCore::FilterOperations::hasReferenceFilter):
164         Convenience function for finding reference filters.
165         * platform/graphics/filters/FilterOperations.h:
166         (FilterOperations):
167         * platform/mac/ScrollbarThemeMac.mm:
168         Include GraphicsLayer.h explicitly, since ImageBuffer.h no longer
169         includes it (and only includes PlatformLayer.h).
170         * rendering/FilterEffectRenderer.cpp:
171         (WebCore::FilterEffectRenderer::buildReferenceFilter):
172         Utility function to build a FilterEffect node graph for a
173         ReferenceFilterOperation.
174         (WebCore::FilterEffectRenderer::build):
175         Call the above builder function for ReferenceFilterOperations.
176         * rendering/FilterEffectRenderer.h:
177         * rendering/RenderLayer.cpp:
178         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
179         If we have reference filters, update them along with other filters.
180         (WebCore::RenderLayer::filterNeedsRepaint):
181         * rendering/RenderLayerFilterInfo.cpp:
182         (WebCore::RenderLayerFilterInfo::~RenderLayerFilterInfo):
183         (WebCore::RenderLayerFilterInfo::notifyFinished):
184         Implement callback function when external SVGDocuments are loaded.
185         (WebCore::RenderLayerFilterInfo::updateReferenceFilterClients):
186         Add the FilterInfo as a client to be called when SVGDocuments are
187         loaded.
188         (WebCore::RenderLayerFilterInfo::removeReferenceFilterClients):
189         Remove this from the list of notified clients.
190         * rendering/RenderLayerFilterInfo.h:
191         Add new member vars for tracking internal and external SVG
192         references, so we can remove ourselves as a client when done.
193         * rendering/svg/RenderSVGResourceContainer.cpp:
194         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
195         When marking client DOM nodes for repaint, also mark any RenderLayers
196         referring to this DOM tree via filters as needing repaint.
197         (WebCore::RenderSVGResourceContainer::addClientRenderLayer):
198         (WebCore::RenderSVGResourceContainer::removeClientRenderLayer):
199         * rendering/svg/RenderSVGResourceContainer.h:
200         Maintain a list of RenderLayer clients on each SVG resource container,
201         and turn SVG DOM repaint notifications into filter repaint (CSS)
202         notifications.
203         * rendering/svg/RenderSVGResourceFilter.cpp:
204         (WebCore::RenderSVGResourceFilter::buildPrimitives):
205         Construct a SourceGraphic and SourceAlpha node explicitly for the
206         SVG builder case.
207         * svg/graphics/filters/SVGFilterBuilder.cpp:
208         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
209         * svg/graphics/filters/SVGFilterBuilder.h:
210         (WebCore::SVGFilterBuilder::create):
211         Add the SourceGraphic and SourceAlpha as parameters to the constructor
212         and create() methods, so they can be supplied by the caller.
213
214 2012-06-28  Kenichi Ishibashi  <bashi@chromium.org>
215
216         [Chromium] CTFontCopyTable of MacOSX10.5 SDK doesn't work for layout tables
217         https://bugs.webkit.org/show_bug.cgi?id=90235
218
219         Reviewed by Kent Tamura.
220
221         Use CGFontCopyTableForTag instead.
222
223         No new tests. css3/font-feature-settings-rendering.html should pass. I'll rebase expectations once bots get the result.
224
225         * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp:
226         (WebCore::harfbuzzCoreTextGetTable):
227
228 2012-06-28  Philip Rogers  <pdr@google.com>
229
230         Add preventative assert in SVGTRefElement
231         https://bugs.webkit.org/show_bug.cgi?id=90203
232
233         Reviewed by Abhishek Arya.
234
235         SVGTRefElement::detachTarget() adds a pending resource via addPendingResource.
236         Due to some recent bugs in this area, an assert is being added to prevent
237         users from calling detachTarget when not in a document. Doing
238         so would create a bug such as in WK90042.
239
240         This assert will not fire currently because detachTarget is only called after
241         a DOMNodeRemovedFromDocumentEvent event fires, which only comes from
242         dispatchChildRemovalEvents when the node is in a document.
243
244         * svg/SVGTRefElement.cpp:
245         (WebCore::SVGTRefElement::detachTarget):
246
247 2012-06-28  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
248
249         [Qt] Remove unnecessary AffineTransform calls
250         https://bugs.webkit.org/show_bug.cgi?id=90178
251
252         Reviewed by Noam Rosenthal.
253
254         Qt currently ignores the const AffineTransform& parameter on
255         Pattern::createPlatformPattern, so removing it from all its Qt calls and
256         changing the function signature if platform is Qt.
257
258         * platform/graphics/Pattern.h:
259         (Pattern):
260         * platform/graphics/qt/FontQt.cpp:
261         (WebCore::fillPenForContext):
262         (WebCore::strokePenForContext):
263         * platform/graphics/qt/FontQt4.cpp:
264         (WebCore::fillPenForContext):
265         (WebCore::strokePenForContext):
266         * platform/graphics/qt/GraphicsContextQt.cpp:
267         (WebCore::GraphicsContext::fillPath):
268         (WebCore::GraphicsContext::strokePath):
269         (WebCore::drawRepeatPattern):
270         * platform/graphics/qt/PatternQt.cpp:
271         (WebCore::Pattern::createPlatformPattern):
272
273 2012-06-28  No'am Rosenthal  <noam.rosenthal@nokia.com>
274
275         [Qt] When uploading an opaque image to a texture for TextureMapper, unnecessary alpha operations take place
276         https://bugs.webkit.org/show_bug.cgi?id=90229
277
278         Reviewed by Luiz Agostini.
279
280         For opaque web content in WebKit2, we use the RGB32 image format. When we special-case
281         it in GraphicsContext3DQt, we can avoid any alpha operations and perform a regular copy.
282
283         Covered existing API tests, as this code path is always used when rendering.
284
285         * platform/graphics/qt/GraphicsContext3DQt.cpp:
286         (WebCore::GraphicsContext3D::getImageData):
287
288 2012-06-28  James Robinson  <jamesr@chromium.org>
289
290         [chromium] Compile chromium compositor implementation files into separate .lib
291         https://bugs.webkit.org/show_bug.cgi?id=90233
292
293         Reviewed by Adam Barth.
294
295         * WebCore.gyp/WebCore.gyp:
296
297 2012-06-28  Erik Arvidsson  <arv@chromium.org>
298
299         [V8] NodeList wrappers are not kept alive as needed
300         https://bugs.webkit.org/show_bug.cgi?id=90194
301
302         Reviewed by Ojan Vafai.
303
304         We need to add custom reachability code for DynamicNodeLists. If the owner of
305         a DynamicNodeList is reachable then the DynamicNodeList must also be reachable.
306
307         Test: fast/dom/NodeList/nodelist-reachable.html
308
309         * bindings/v8/custom/V8NodeListCustom.cpp:
310         (WebCore::V8NodeList::visitDOMWrapper): AddImplicitReferences from the owner wrapper.
311         (WebCore):
312         * dom/NodeList.idl:
313
314 2012-06-28  Elliott Sprehn  <esprehn@gmail.com>
315
316         frameborder="no" on frameset is ignored if border attribute set
317         https://bugs.webkit.org/show_bug.cgi?id=17767
318
319         Reviewed by Tony Chang.
320
321         Fixes <frameset> frameborder and border handling. Previously we'd
322         override the frameborder=no setting if border was set. We also
323         treated frameborder="anything" the same as frameborder=0 since we
324         we just converted it to a number so frameborder=yes was incorrectly
325         treated the same as frameborder=no.
326
327         Tests: fast/frames/frameset-frameborder-boolean-values.html
328                fast/frames/frameset-frameborder-inheritance.html
329                fast/frames/frameset-frameborder-overrides-border.html
330
331         * html/HTMLFrameSetElement.cpp: Proper parsing of yes,no,1,0 values.
332         (WebCore::HTMLFrameSetElement::parseAttribute):
333         * html/HTMLFrameSetElement.h:
334         (WebCore::HTMLFrameSetElement::border): Border should be 0 if frameborder=no.
335
336 2012-06-28  Joshua Bell  <jsbell@chromium.org>
337
338         IndexedDB: Implement IDBTransaction internal active flag
339         https://bugs.webkit.org/show_bug.cgi?id=89379
340
341         Reviewed by Tony Chang.
342
343         IDB transactions should only be "active" during IDB success/error callbacks;
344         attempts to make new requests otherwise (e.g. in a setTimeout callback)
345         should fail even if the transaction has not yet finished. Implement this logic,
346         and the closely related requirement that transactions are deactivated when
347         the context they were created in returns to the event loop, and finally that
348         when so deactivated they should commit rather than abort (as previously
349         implemented) if no requests have been filed.
350
351         Tests: storage/indexeddb/transaction-active-flag.html
352                storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html
353                storage/indexeddb/transaction-complete-with-js-recursion.html
354                storage/indexeddb/transaction-complete-workers.html
355
356         * Modules/indexeddb/IDBPendingTransactionMonitor.cpp: Simplify API.
357         (WebCore::transactions):
358         (WebCore::IDBPendingTransactionMonitor::addNewTransaction):
359         (WebCore::IDBPendingTransactionMonitor::deactivateNewTransactions):
360         * Modules/indexeddb/IDBPendingTransactionMonitor.h:
361         (WebCore):
362         (IDBPendingTransactionMonitor):
363         * Modules/indexeddb/IDBRequest.cpp: Unregisters from transaction when done,
364         not on destruction. No longer responsible for working with the pending monitor.
365         (WebCore::IDBRequest::IDBRequest):
366         (WebCore::IDBRequest::~IDBRequest):
367         (WebCore::IDBRequest::markEarlyDeath):
368         (WebCore::IDBRequest::resetReadyState):
369         (WebCore::IDBRequest::onSuccess):
370         (WebCore::IDBRequest::dispatchEvent): Set active flag on transaction during callback.
371         * Modules/indexeddb/IDBTransaction.cpp: Use state enum to better track lifecycle, and
372         take ownership of relationship with pending monitor.
373         (WebCore::IDBTransaction::IDBTransaction): Special cases for version change
374         transactions.
375         (WebCore::IDBTransaction::~IDBTransaction):
376         (WebCore::IDBTransaction::error):
377         (WebCore::IDBTransaction::setError):
378         (WebCore::IDBTransaction::objectStore):
379         (WebCore::IDBTransaction::objectStoreCreated):
380         (WebCore::IDBTransaction::objectStoreDeleted):
381         (WebCore::IDBTransaction::setActive): Let IDBRequest and IDBPendingTransactionMonitor
382         toggle the active state. Needs some smarts because (1) state may move to Finishing during
383         the request's dispatch phase due to an implicit/explicit abort, and (2) a monitor call
384         will only trigger a commit if the transaction hasn't had any requests filed.
385         (WebCore):
386         (WebCore::IDBTransaction::abort):
387         (WebCore::IDBTransaction::registerRequest):
388         (WebCore::IDBTransaction::unregisterRequest):
389         (WebCore::IDBTransaction::onAbort):
390         (WebCore::IDBTransaction::onComplete):
391         (WebCore::IDBTransaction::hasPendingActivity):
392         (WebCore::IDBTransaction::dispatchEvent):
393         (WebCore::IDBTransaction::canSuspend):
394         (WebCore::IDBTransaction::enqueueEvent):
395         * Modules/indexeddb/IDBTransaction.h:
396         (WebCore::IDBTransaction::isFinished):
397         (IDBTransaction):
398         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
399         (WebCore::IDBTransactionBackendImpl::commit): Allow explicit commit() calls from the front end
400         if no requests have been filed.
401         * Modules/indexeddb/IDBTransactionBackendInterface.h:
402         (IDBTransactionBackendInterface): Expose commit() method.
403         * bindings/js/JSMainThreadExecState.cpp:
404         (WebCore::JSMainThreadExecState::didLeaveScriptContext): Change target function name.
405         * bindings/v8/V8RecursionScope.cpp:
406         (WebCore::V8RecursionScope::didLeaveScriptContext): Change target function name.
407
408 2012-06-28  Philip Rogers  <pdr@google.com>
409
410         Prevent crash in animate resource handling
411         https://bugs.webkit.org/show_bug.cgi?id=90042
412
413         Reviewed by Abhishek Arya.
414
415         This patch adds a check that we are in a document before registering animation
416         resources and creating a target element in SVGSMILElement. This prevents a crash where
417         we would register resources and create the target when we were not in a document
418         but fail to deregister / reset the target when we were removed from a document.
419         In failing to reset the target, we can crash when trying to deregister resources that
420         were not created after being inserted into a document and then removed.
421
422         The existence of m_targetResources and registered animation resources is now
423         tied to being in a document.
424
425         Test: svg/custom/animate-reference-crash.html
426
427         * svg/animation/SVGSMILElement.cpp:
428         (WebCore::SVGSMILElement::targetElement):
429
430 2012-06-28  Joshua Bell  <jsbell@chromium.org>
431
432         IndexedDB: IDBDatabase should have a close pending field.
433         https://bugs.webkit.org/show_bug.cgi?id=71129
434
435         Reviewed by Tony Chang.
436
437         Handle the IDB spec case that "versionchange" events should not be fired 
438         against connections that have the internal "closePending" flag set but 
439         are not yet closed due to running transactions.
440
441         Test: storage/indexeddb/database-closepending-flag.html
442
443         * Modules/indexeddb/IDBDatabase.cpp:
444         (WebCore::IDBDatabase::onVersionChange):
445
446 2012-06-28  Adrienne Walker  <enne@google.com>
447
448         [chromium] Split WebScrollbar into WebPluginScrollbar and WebScrollbar
449         https://bugs.webkit.org/show_bug.cgi?id=90117
450
451         Reviewed by James Robinson.
452
453         Make WebCore also depend on Platform.
454
455         * WebCore.gyp/WebCore.gyp:
456
457 2012-06-28  Hayato Ito  <hayato@chromium.org>
458
459         CompositeShadowTreeWalker should use InsertionPoint::hasDistribution() instead of InsertionPoint::isActive().
460         https://bugs.webkit.org/show_bug.cgi?id=89177
461
462         Reviewed by Dimitri Glazkov.
463
464         Prevents ComposedShadowTreeWalker from escaping out of an
465         insertion point (which has distributed nodes) from a non-used
466         fallback element in the insertion point.  Such a fallback element
467         should be treated as in an orphaned subtree.
468
469         ComposedShadowTreeParentWalker will be also fixed in a follow-up patch.
470
471         Test: fast/dom/shadow/composed-shadow-tree-walker.html
472
473         * dom/ComposedShadowTreeWalker.cpp:
474         (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
475
476 2012-06-27  Ryosuke Niwa  <rniwa@webkit.org>
477
478         Cleanup HTMLFormCollection
479         https://bugs.webkit.org/show_bug.cgi?id=90111
480
481         Reviewed by Andreas Kling.
482
483         Got rid of getNamedItem and renamed getNamedFormItem to firstNamedItem and got rid of duplicateNumber argument since
484         it's always 0. Also made it a static local function. In addition, removed nextItem() since it's not used anywhere.
485
486         WebKit API Test: WebKit1.HTMLFormCollectionNamedItemTest
487
488         * html/HTMLFormCollection.cpp:
489         (WebCore::firstNamedItem):
490         (WebCore):
491         (WebCore::HTMLFormCollection::namedItem):
492         * html/HTMLFormCollection.h:
493         (HTMLFormCollection):
494
495 2012-06-28  Alec Flett  <alecflett@chromium.org>
496
497         IndexedDB: Hook up render-side key ASSERTing for get()
498         https://bugs.webkit.org/show_bug.cgi?id=90001
499
500         Reviewed by Tony Chang.
501
502         Hook up the new onSuccess and add it to the interface. For now,
503         simply assert that the right value is set. Add the same assertion
504         logic in the value-construction logic when the cursor advances.
505
506         No new tests, existing tests verify this refactor is correct.
507
508         * Modules/indexeddb/IDBCallbacks.h:
509         (IDBCallbacks):
510         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
511         (WebCore::IDBObjectStoreBackendImpl::getInternal):
512         * Modules/indexeddb/IDBRequest.cpp:
513         (WebCore):
514         (WebCore::IDBRequest::onSuccess):
515         * Modules/indexeddb/IDBRequest.h:
516         * bindings/v8/IDBBindingUtilities.cpp:
517         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
518         * inspector/InspectorIndexedDBAgent.cpp:
519         (WebCore):
520
521 2012-06-28  Gregg Tavares  <gman@google.com>
522
523         Add support for DEPTH_STENCIL to WEBGL_depth_texture
524         https://bugs.webkit.org/show_bug.cgi?id=90109
525
526         Reviewed by Kenneth Russell.
527
528         * html/canvas/WebGLDepthTexture.idl:
529         * html/canvas/WebGLFramebuffer.cpp:
530         * html/canvas/WebGLRenderingContext.cpp:
531         (WebCore):
532         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
533
534 2012-06-28  James Robinson  <jamesr@chromium.org>
535
536         [chromium] Move chromium compositor implementation files into separate section in WebCore.gypi
537         https://bugs.webkit.org/show_bug.cgi?id=90201
538
539         Reviewed by Adam Barth.
540
541         This moves the chromium compositor implementation files to a separate gyp variable to make future changes
542         easier. The files still all link into webcore_platform.lib, as before.
543
544         * WebCore.gyp/WebCore.gyp:
545         * WebCore.gypi:
546
547 2012-06-28  Christophe Dumez  <christophe.dumez@intel.com>
548
549         [EFL] Use Eina_Module API instead of dlopen in PluginPackageEfl
550         https://bugs.webkit.org/show_bug.cgi?id=89972
551
552         Reviewed by Antonio Gomes.
553
554         Use convenience helpers in Eina_Module to load plugins instead
555         of POSIX dlopen().
556
557         No new tests, behavior has not changed.
558
559         * platform/FileSystem.h:
560         (WebCore):
561         * platform/efl/FileSystemEfl.cpp:
562         (WebCore::unloadModule):
563         * plugins/efl/PluginPackageEfl.cpp:
564         (WebCore::PluginPackage::load):
565
566 2012-06-28  Jocelyn Turcotte  <turcotte.j@gmail.com>
567
568         [Qt] Fix TextureMapper rendering of GraphicsSurface on Mac
569         https://bugs.webkit.org/show_bug.cgi?id=90154
570
571         Reviewed by Noam Rosenthal.
572
573         Fix a regression introduced in r120608.
574         texture2DRect takes texel coordinates, unlike texture2D which needs normalized coordinates.
575
576         Pass an additional textureSize uniform and multiply it by the normalized coordinates.
577
578         * platform/graphics/texmap/TextureMapperGL.cpp:
579         (WebCore::TextureMapperGL::drawTextureRectangleARB):
580         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
581         (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
582         (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple):
583         * platform/graphics/texmap/TextureMapperShaderManager.h:
584         (WebCore::TextureMapperShaderProgram::textureSizeLocation):
585         (TextureMapperShaderProgram):
586
587 2012-06-28  Simon Fraser  <simon.fraser@apple.com>
588
589         Improve compositing logging output
590         https://bugs.webkit.org/show_bug.cgi?id=90199
591
592         Reviewed by Tim Horton (w00t!).
593
594         Improve the compositing logging channel output in a few
595         useful ways:
596         1. Report memory use, rather than megapixels
597         2. Show element class names
598
599         * platform/graphics/GraphicsLayer.cpp:
600         (WebCore::GraphicsLayer::backingStoreMemoryEstimate):
601         * platform/graphics/GraphicsLayer.h:
602         (GraphicsLayer):
603         * platform/graphics/ca/GraphicsLayerCA.cpp:
604         (WebCore::GraphicsLayerCA::backingStoreMemoryEstimate):
605         * platform/graphics/ca/GraphicsLayerCA.h:
606         (GraphicsLayerCA):
607         * rendering/RenderLayerBacking.cpp:
608         (WebCore::RenderLayerBacking::nameForLayer):
609         (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
610         * rendering/RenderLayerBacking.h:
611         (RenderLayerBacking):
612         * rendering/RenderLayerCompositor.cpp:
613         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
614         (WebCore::RenderLayerCompositor::updateCompositingLayers):
615         (WebCore::RenderLayerCompositor::logLayerInfo):
616         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
617         * rendering/RenderLayerCompositor.h:
618         (RenderLayerCompositor):
619
620 2012-06-28  James Robinson  <jamesr@chromium.org>
621
622         [chromium] Fix up more includes in compositor code
623         https://bugs.webkit.org/show_bug.cgi?id=90200
624
625         Reviewed by Adrienne Walker.
626
627         Adds includes we are using and removes ones that we aren't using.
628
629         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
630         * platform/graphics/chromium/ContentLayerChromium.cpp:
631         * platform/graphics/chromium/ProgramBinding.cpp:
632         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
633         * platform/graphics/chromium/cc/CCGraphicsContext.h:
634         * platform/graphics/chromium/cc/CCRenderSurface.h:
635         (WebCore):
636         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
637
638 2012-06-28  Andrei Onea  <onea@adobe.com>
639
640         [CSSRegions]Rename NamedFlow::contentNodes to NamedFlow::getContent()
641         https://bugs.webkit.org/show_bug.cgi?id=90163
642
643         Reviewed by Andreas Kling.
644
645         Latest CSS Regions spec defines the NamedFlow interface as having a function named getContent,
646         rather than an attribute named contentNodes.
647         http://www.w3.org/TR/css3-regions/#the-namedflow-interface
648
649         Test: fast/regions/webkit-named-flow-get-content.html
650
651         * dom/WebKitNamedFlow.cpp:
652         (WebCore::WebKitNamedFlow::getContent):
653         * dom/WebKitNamedFlow.h:
654         (WebKitNamedFlow):
655         * dom/WebKitNamedFlow.idl:
656
657 2012-06-28  Ryosuke Niwa  <rniwa@webkit.org>
658
659         REGRESSION(r121232): named properties on document and window may return wrong object
660         https://bugs.webkit.org/show_bug.cgi?id=90133
661
662         Reviewed by Andreas Kling.
663
664         Fixed the bug. Also replaced hasAnyItem by isEmpty (hasAnyItem() is equivalent to !isEmpty()).
665
666         Test: fast/dom/HTMLDocument/named-item-multiple-match.html
667
668         * bindings/js/JSHTMLDocumentCustom.cpp:
669         (WebCore::JSHTMLDocument::nameGetter):
670         * bindings/v8/custom/V8DOMWindowCustom.cpp:
671         (WebCore::V8DOMWindow::namedPropertyGetter):
672         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
673         (WebCore::V8HTMLDocument::GetNamedProperty):
674         * html/HTMLCollection.h:
675         (WebCore::HTMLCollection::isEmpty):
676         (WebCore::HTMLCollection::hasExactlyOneItem):
677
678 2012-06-28  Zeev Lieber  <zlieber@chromium.org>
679
680         [Skia] Computing the resampling mode ignores scale applied to the canvas
681         https://bugs.webkit.org/show_bug.cgi?id=72073
682
683         Reviewed by Stephen White.
684
685         Re-basing earlier patch by Daniel Sievers; updated tests.
686
687         Take into account canvas scale when computing image resampling mode.
688
689         When drawing a bitmap and computing the best resampling mode based
690         on the requested scale, take into account CSS scale and page scale
691         that are applied to the canvas. This allows for single-pass scaling
692         in potentially better quality (RESAMPLE_AWESOME) and also takes
693         better advantage of the scaled image cache in that codepath.
694
695         Existing tests updated to expect different resampling method (and
696         therefore a different image) whenever canvas scaling changes.
697
698         * platform/graphics/skia/ImageSkia.cpp:
699         (WebCore::paintSkBitmap):
700
701 2012-06-28  James Robinson  <jamesr@chromium.org>
702
703         [chromium] Should schedule a commit when dropping contents textures
704         https://bugs.webkit.org/show_bug.cgi?id=90031
705
706         Reviewed by Adrienne Walker.
707
708         If we're dropping contents textures on the impl thread, we need to schedule a commit to pick up new contents at
709         the next commit opportunity. Also adds some traces to make debugging issues like this easier.
710
711         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
712         (WebCore::CCLayerTreeHostImpl::commitComplete):
713         (WebCore::CCLayerTreeHostImpl::canDraw):
714         (WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
715         * platform/graphics/chromium/cc/CCScheduler.cpp:
716         (WebCore::CCScheduler::processScheduledActions):
717
718 2012-06-28  Antti Koivisto  <antti@apple.com>
719
720         Don't malloc RenderGeometryMap steps individually
721         https://bugs.webkit.org/show_bug.cgi?id=90074
722
723         Reviewed by Simon Fraser.
724
725         Mallocs and frees for steps under RenderGeometryMap::pus/popMappingsToAncestor can total ~2% of the profile when animating transforms.
726
727         * rendering/RenderGeometryMap.cpp:
728         (WebCore):
729         (WebCore::RenderGeometryMap::absolutePoint):
730         (WebCore::RenderGeometryMap::absoluteRect):
731         (WebCore::RenderGeometryMap::mapToAbsolute):
732         (WebCore::RenderGeometryMap::push):
733         (WebCore::RenderGeometryMap::pushView):
734         (WebCore::RenderGeometryMap::popMappingsToAncestor):
735         * rendering/RenderGeometryMap.h:
736         (WebCore):
737         (WebCore::RenderGeometryMapStep::RenderGeometryMapStep):
738         
739             Move to header.
740
741         (RenderGeometryMapStep):
742         (RenderGeometryMap):
743         
744             Make the step vector hold RenderGeometryMapSteps instead of RenderGeometryMapStep*'s.
745
746         (WTF):
747         
748             Give RenderGeometryMapSteps SimpleClassVectorTraits. This is needed for dealing with OwnPtr in the struct (and makes it faster too).
749             The type is simple enought to move by memcpy.
750
751 2012-06-28  Kalev Lember  <kalevlember@gmail.com>
752
753         [GTK] Remove Windows support from plugins/gtk/
754         https://bugs.webkit.org/show_bug.cgi?id=89501
755
756         Reviewed by Martin Robinson.
757
758         The GTK+ port now uses plugins/gtk/ on Windows, which leaves
759         PluginPackageGtk.cpp and PluginViewGtk.cpp solely for XP_UNIX platforms.
760
761         * plugins/gtk/PluginPackageGtk.cpp:
762         (WebCore::PluginPackage::fetchInfo):
763         (WebCore::webkitgtkXError):
764         (WebCore::PluginPackage::load):
765         * plugins/gtk/PluginViewGtk.cpp:
766         (WebCore::getRootWindow):
767         (WebCore::PluginView::updatePluginWidget):
768         (WebCore::PluginView::paint):
769         (WebCore::PluginView::handleKeyboardEvent):
770         (WebCore::setXCrossingEventSpecificFields):
771         (WebCore::PluginView::handleMouseEvent):
772         (WebCore::PluginView::handleFocusOutEvent):
773         (WebCore::PluginView::setNPWindowIfNeeded):
774         (WebCore::PluginView::platformGetValueStatic):
775         (WebCore::PluginView::platformGetValue):
776         (WebCore::getPluginDisplay):
777         (WebCore::getVisualAndColormap):
778         (WebCore::PluginView::platformStart):
779         (WebCore::PluginView::platformDestroy):
780
781 2012-06-28  Simon Fraser  <simon.fraser@apple.com>
782
783         Change FrameView::scrollContentsFastPath to use m_fixedObjects
784         https://bugs.webkit.org/show_bug.cgi?id=90045
785
786         Reviewed by James Robinson.
787         
788         FrameView now has a hash set of fixed-position objects, so use
789         that instead of RenderBlock::positionedObjects(); we'll avoid traversing
790         through absolutely positioned objects, and this will work better for sticky
791         positioning in future.
792
793         No behavior change, so no new tests.
794
795         * page/FrameView.cpp:
796         (WebCore::FrameView::scrollContentsFastPath):
797
798 2012-06-28  Tony Chang  <tony@chromium.org>
799
800         Split flex into flex-grow/flex-shrink/flex-basis
801         https://bugs.webkit.org/show_bug.cgi?id=86525
802
803         Reviewed by Ojan Vafai.
804
805         Split flex into 3 separate properties per the spec:
806         http://dev.w3.org/csswg/css3-flexbox/#flex-components
807
808         Tests: css3/flexbox/flex-longhand-parsing.html
809                css3/flexbox/flex-property-parsing.html: Updated test results.
810
811         * css/CSSComputedStyleDeclaration.cpp:
812         (WebCore): -webkit-flex is no longer enumerable.
813         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add new css property names and use
814         getCSSPropertyValuesForShorthandProperties for WebkitFlex. Also sort flex propery names.
815         * css/CSSParser.cpp:
816         (WebCore::isValidKeywordPropertyAndValue): Fix indent.
817         (WebCore::CSSParser::parseValue): Add parsing for new properties and handle -webkit-flex: none.
818         (WebCore::CSSParser::parseFlex): Switch to new names (positive -> grow, negative -> shrink,
819         preferred size -> basis) and assign to longhand properties.
820         * css/CSSParser.h:
821         * css/CSSProperty.cpp:
822         (WebCore::CSSProperty::isInheritedProperty): Add new properties.
823         * css/CSSPropertyNames.in: Add new properties.
824         * css/StyleBuilder.cpp:
825         (WebCore::StyleBuilder::StyleBuilder): Delete special handling of applying flex and just use shorthand handlers.
826         * css/StylePropertySet.cpp:
827         (WebCore::StylePropertySet::getPropertyValue): Add new shorthand.
828         (WebCore::StylePropertySet::asText):
829         * css/StylePropertyShorthand.cpp:
830         (WebCore::webkitFlexShorthand): Add new shorthand.
831         (WebCore::shorthandForProperty):
832         * css/StylePropertyShorthand.h:
833         * css/StyleResolver.cpp:
834         (WebCore::StyleResolver::collectMatchingRulesForList): Add to list of properties applied by StyleBuilder.
835         Handle initial and inherit for flex.
836
837 2012-06-28  Kalev Lember  <kalevlember@gmail.com>
838
839         [GTK][Win]: Fix plugin drawing to an offscreen buffer
840         https://bugs.webkit.org/show_bug.cgi?id=89499
841
842         Reviewed by Brent Fulgham.
843
844         Take into account that the GTK+ port draws to a backing store and adjust
845         the target rectangle calculation accordingly.
846
847         * plugins/win/PluginViewWin.cpp:
848         (WebCore::PluginView::paint):
849         (WebCore::PluginView::setNPWindowRect):
850
851 2012-06-28  Kentaro Hara  <haraken@chromium.org>
852
853         Optimize Dromaeo/dom-attr.html by speeding up Element::getAttribute()
854         https://bugs.webkit.org/show_bug.cgi?id=90174
855
856         Reviewed by Adam Barth.
857
858         This patch improves performance of Dromaeo/dom-attr.html by 4.0%.
859         The patch improves performance of getAttribute() and JavaScript
860         property setter for DOM objects (e.g. 'div.foo = 123').
861         The performance improvement becomes larger, as the number of
862         attributes defined on the DOM object increases.
863
864         Without the patch in Chromium/Linux (runs/s)
865         7679.4, 7739.7, 7634.0, 7726.4, 7663.9
866
867         With the patch in Chromium/Linux (runs/s)
868         7977.7, 8032.2, 8112.8, 7948.1, 7924.5
869
870         This patch just changes a type of 'name' of Element::getAttribute(String& name)
871         from String& to AtomicString&.
872
873         The key observation is that AtomicString(String& x) is faster than
874         operator==(String& x, AtomicString& y). AtomicString(String& x) calculates
875         a hash of a given String and adds it to a hash table. The calculation
876         complexity is O(the length of x). On the other hand,
877         operator==(String& x, AtomicString& y) compares a String and an AtomicString by
878         StringImpl::equal(StringImpl*, StringImpl*), the calculation complexity of
879         which is O(2 * min(the length of x, the length of y)).
880         In addition, the comparison logic is more complicated than the logic
881         of calculating the hash. Consequently, AtomicString(String& x) is
882         faster than operator==(String& x, AtomicString& y).
883
884         Keeping that in mind, let's estimate the performance of
885         Element::getAttribute("class") for <div id="A" lang="B" title="C" class="D" dir="E">.
886         Here "id", "lang", "title", "class" and "dir" are stored as AtomicStrings
887         in QualifiedName::localName(). Initially, "class" in Element::getAttribute("class")
888         is a String.
889
890         If we use Element::getAttribute(String& name) (i.e. without the patch),
891         ElementAttributeData::getAttributeItemIndex() executes four
892         operator==(String&, AtomicString&) by the time it finds the "class" attribute:
893
894         (1) if ("class" == "id")       // operator==(String&, AtomicString&)
895         (2) if ("class" == "lang")     // operator==(String&, AtomicString&)
896         (3) if ("class" == "title")    // operator==(String&, AtomicString&)
897         (4) if ("class" == "class")    // operator==(String&, AtomicString&)
898
899         On the other hand, if we use Element::getAttribute(AtomicString& name)
900         (i.e. with the patch), ElementAttributeData::getAttributeItemIndex()
901         executes one AtomicString(String&) and four operator==(AtomicString&, AtomicString&)
902         by the time it finds the "class" attribute:
903
904         (1) AtomicString("class")      // AtomicString(String&)
905         (2) if ("class" == "id")       // operator==(AtomicString&, AtomicString&)
906         (3) if ("class" == "lang")     // operator==(AtomicString&, AtomicString&)
907         (4) if ("class" == "title")    // operator==(AtomicString&, AtomicString&)
908         (5) if ("class" == "class")    // operator==(AtomicString&, AtomicString&)
909
910         Considering that the overhead of operator==(AtomicString&, AtomicString&) is close
911         to 0 since it is just a pointer comparison, the latter approach is faster than
912         the former approach.
913
914         Performance improvement will be large for elements that have multiple attributes,
915         but it is faster even for elements that have only one attribute.
916         For exmaple, Dromaeo/dom-attr.html tests getAttribute() for an element that has
917         only one attribute, the result shows 4.0% improvement.
918
919         Another example optimized by this patch is 'div.foo = 123', where foo is not
920         an attribute of div. In this case, before 123 is set, JavaScript calls back
921         Element::getAttribute() to check whether 'foo' is defined on div by
922         scanning all the attributes of div.
923
924         No tests. No change in behavior.
925
926         * dom/Element.cpp:
927         (WebCore::Element::getAttribute):
928         * dom/Element.h:
929         (Element):
930         (WebCore::Element::getAttributeItemIndex):
931         * dom/ElementAttributeData.cpp:
932         (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
933         * dom/ElementAttributeData.h:
934         (ElementAttributeData):
935         (WebCore::ElementAttributeData::getAttributeItem):
936         (WebCore::ElementAttributeData::getAttributeItemIndex):
937
938 2012-06-28  Hans Wennborg  <hans@chromium.org>
939
940         Speech JavaScript API: Don't dispatch end event after ActiveDOMObject::stop()
941         https://bugs.webkit.org/show_bug.cgi?id=90176
942
943         Reviewed by Adam Barth.
944
945         It is probably not safe to dispatch an event on an object that has
946         been ActiveDOMObject::stop()'ed.
947
948         This used to happen in the navigate-away.html test, which I believe
949         then caused speechgrammar-basics.html (which was typically run
950         afterwards, by the same worker), to crash flakily. See Bug 89717.
951
952         Test: speechgrammar-basics.html should no longer be flaky.
953
954         * Modules/speech/SpeechRecognition.cpp:
955         (WebCore::SpeechRecognition::didEnd):
956         (WebCore::SpeechRecognition::stop):
957         (WebCore::SpeechRecognition::SpeechRecognition):
958         * Modules/speech/SpeechRecognition.h:
959
960 2012-06-28  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
961
962         [GTK] [WK2] Memory leak in ResourceHandleSoup.cpp
963         https://bugs.webkit.org/show_bug.cgi?id=90168
964
965         Reviewed by Martin Robinson.
966
967         Fixed a memory leak in WebCoreSynchronousLoader by using adoptGRef
968         instead of just getting new reference of GMainLoop.
969
970         No new tests. No change in behavior.
971
972         * platform/network/soup/ResourceHandleSoup.cpp:
973         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
974
975 2012-06-27  Dana Jansens  <danakj@chromium.org>
976
977         [chromium] Do not multiply bounds by contentsScale in TiledLayerChromium and CanvasLayerTextureUpdater
978         https://bugs.webkit.org/show_bug.cgi?id=90103
979
980         Reviewed by Adrienne Walker.
981
982         Non-integer scale factors can scale the bounds of a layer such that
983         different rounding is applied to the width and height in the content
984         bounds. We should never multiply bounds by contentsScale in order to
985         work correctly with non-integer scale factors. Instead, always use the
986         contentBounds/bounds ratio for width and height independently.
987
988         Tests: TiledLayerChromiumTest.nonIntegerContentsScaleIsNotDistortedDuringPaint
989                TiledLayerChromiumTest.nonIntegerContentsScaleIsNotDistortedDuringInvalidation
990
991         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
992         (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
993         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
994         (BitmapCanvasLayerTextureUpdater):
995         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
996         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
997         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
998         (BitmapSkPictureCanvasLayerTextureUpdater):
999         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
1000         (WebCore::CanvasLayerTextureUpdater::paintContents):
1001         * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
1002         (CanvasLayerTextureUpdater):
1003         * platform/graphics/chromium/LayerTextureUpdater.h:
1004         (WebCore::LayerTextureUpdater::prepareToUpdate):
1005         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
1006         (WebCore::ScrollbarLayerChromium::updatePart):
1007         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
1008         (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
1009         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
1010         (SkPictureCanvasLayerTextureUpdater):
1011         * platform/graphics/chromium/TiledLayerChromium.cpp:
1012         (WebCore::TiledLayerChromium::setNeedsDisplayRect):
1013         (WebCore::TiledLayerChromium::updateTiles):
1014
1015 2012-06-28  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1016
1017         [Qt] Make GC's fill{Rounded}Rect use optimized shadow blur code
1018         https://bugs.webkit.org/show_bug.cgi?id=90082
1019
1020         Reviewed by Noam Rosenthal.
1021
1022         ShadowBlur::drawRectShadow makes use of optimized tiles-based drawPattern, which
1023         is not present when using {begin/end}shadowLayer.
1024
1025         * platform/graphics/qt/GraphicsContextQt.cpp:
1026         (WebCore::GraphicsContext::fillRect):
1027         (WebCore::GraphicsContext::fillRoundedRect):
1028         (WebCore::GraphicsContext::pushTransparencyLayerInternal):
1029
1030 2012-06-28  Rahul Tiwari  <rahultiwari.cse.iitr@gmail.com>
1031
1032         Web Inspector: Provide context menu 'Delete all watch expressions.'
1033         https://bugs.webkit.org/show_bug.cgi?id=89735
1034
1035         Reviewed by Yury Semikhatsky.
1036
1037         Added context menu delete and delete all watch expressions.
1038
1039         No new tests required as its a minor UI related change.
1040
1041         * English.lproj/localizedStrings.js:
1042         * inspector/front-end/WatchExpressionsSidebarPane.js:
1043         (WebInspector.WatchExpressionsSection.prototype.updateExpression):
1044         (WebInspector.WatchExpressionsSection.prototype._deleteAllExpressions):
1045         (WebInspector.WatchExpressionsSection.prototype.findAddedTreeElement):
1046         (WebInspector.WatchExpressionTreeElement.prototype.update):
1047         (WebInspector.WatchExpressionTreeElement.prototype._contextMenu):
1048         (WebInspector.WatchExpressionTreeElement.prototype._deleteAllButtonClicked):
1049
1050 2012-06-28  Christophe Dumez  <christophe.dumez@intel.com>
1051
1052         m_cssVariablesEnabled member is not initialized in Page Settings
1053         https://bugs.webkit.org/show_bug.cgi?id=90147
1054
1055         Reviewed by Simon Hausmann.
1056
1057         Properly initialize the m_cssVariablesEnabled member in Page
1058         Settings.
1059
1060         No new tests, no behavior change.
1061
1062         * page/Settings.cpp:
1063         (WebCore::Settings::Settings):
1064
1065 2012-06-28  Balazs Kelemen  <kbalazs@webkit.org>
1066
1067         [Qt] plugin is loaded to the web process via MainResourceLoader::substituteMIMETypeFromPluginDatabase
1068         https://bugs.webkit.org/show_bug.cgi?id=86489
1069
1070         Reviewed by Simon Hausmann.
1071
1072         Removed the substituteMIMETypeFromPluginDatabase quirk from
1073         MainResourceLoader. It would be possible to fix it in a way
1074         that is compatible with WebKit2, but given that it was a Qt
1075         only fix, and that it's not clear that we still need it, and
1076         it's not even work currently, I decided to remove it. At least
1077         it is -1 platform ifdef in common code.
1078
1079         Just removed a non-tested quirk, no test needed.
1080
1081         * loader/MainResourceLoader.cpp:
1082         (WebCore::MainResourceLoader::didReceiveResponse):
1083
1084 2012-06-28  Kentaro Hara  <haraken@chromium.org>
1085
1086         [V8] Optimize Integer::New() by caching persistent handles for small integers
1087         https://bugs.webkit.org/show_bug.cgi?id=90043
1088
1089         Reviewed by Adam Barth.
1090
1091         The patch improves performance of Dromaeo/dom-query.html by 3.6%,
1092         and Bindings/scroll-top.html by 17.3%.
1093
1094         The performance results in my Chromium/Linux:
1095
1096         [Dromaeo/dom-query.html]
1097         796310.4 runs/s => 824745.4 runs/s (+3.6%)
1098
1099         [Bindings/scroll-top.html]
1100         204.68 runs/s => 240.15 runs/s (+17.3%)
1101
1102         This patch introduces V8BindingPerIsolateData::IntegerCache (just like
1103         V8BindingPerIsolateData::StringCache) to cache persistent handles
1104         for small integers.
1105
1106         No new tests. No change in behavior.
1107
1108         * bindings/v8/V8Binding.h: Implemented v8Integer() and v8UnsignedInteger(),
1109         which returns cached persistent handles for integers smaller than 64.
1110         (WebCore):
1111         (IntegerCache):
1112         (WebCore::IntegerCache::IntegerCache):
1113         (WebCore::IntegerCache::v8Integer):
1114         (WebCore::IntegerCache::v8UnsignedInteger):
1115         (WebCore::V8BindingPerIsolateData::integerCache):
1116         (V8BindingPerIsolateData):
1117         (WebCore::v8Integer):
1118         (WebCore::v8UnsignedInteger):
1119         * bindings/v8/V8Binding.cpp:
1120         (WebCore):
1121         (WebCore::IntegerCache::createSmallIntegers):
1122         * bindings/v8/WorkerScriptController.cpp:
1123         (~WorkerScriptController): ~V8BindingPerIsolateData() should be called before
1124         isolate->Exit(), since ~V8BindingPerIsolateData() calls V8 APIs that requires
1125         the current isolate.
1126
1127         * bindings/scripts/CodeGeneratorV8.pm: Replaced Integer::New() and Integer::NewFromUnsigned()
1128         with v8Integer() and v8UnsignedInteger().
1129         (GenerateNormalAttrGetter):
1130         (NativeToJSValue):
1131
1132         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Updated run-bindings-tests results.
1133         (WebCore::TestActiveDOMObjectV8Internal::excitingAttrAttrGetter):
1134         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1135         (WebCore::TestObjV8Internal::readOnlyIntAttrAttrGetter):
1136         (WebCore::TestObjV8Internal::shortAttrAttrGetter):
1137         (WebCore::TestObjV8Internal::unsignedShortAttrAttrGetter):
1138         (WebCore::TestObjV8Internal::intAttrAttrGetter):
1139         (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrGetter):
1140         (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrGetter):
1141         (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrGetter):
1142         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
1143         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrGetter):
1144         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrGetter):
1145         (WebCore::TestObjV8Internal::conditionalAttr1AttrGetter):
1146         (WebCore::TestObjV8Internal::conditionalAttr2AttrGetter):
1147         (WebCore::TestObjV8Internal::conditionalAttr3AttrGetter):
1148         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrGetter):
1149         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrGetter):
1150         (WebCore::TestObjV8Internal::enabledAtContextAttr1AttrGetter):
1151         (WebCore::TestObjV8Internal::enabledAtContextAttr2AttrGetter):
1152         (WebCore::TestObjV8Internal::strawberryAttrGetter):
1153         (WebCore::TestObjV8Internal::descriptionAttrGetter):
1154         (WebCore::TestObjV8Internal::idAttrGetter):
1155         (WebCore::TestObjV8Internal::intMethodCallback):
1156         (WebCore::TestObjV8Internal::intMethodWithArgsCallback):
1157         (WebCore::TestObjV8Internal::classMethodWithOptionalCallback):
1158         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Ditto.
1159         (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):
1160
1161 2012-06-28  Kent Tamura  <tkent@chromium.org>
1162
1163         Classify form control states by their owner forms
1164         https://bugs.webkit.org/show_bug.cgi?id=89950
1165
1166         Reviewed by Hajime Morita.
1167
1168         To improve robustness of the form state restore feature, we classify
1169         form control states by their owner forms. Owner forms are identified by
1170         their action URLs and index numbers in forms with the same action URLs.
1171
1172         Implementation approach:
1173         Extend FormElementKey class to have "formKey" string, which is a
1174         combination of the action URL and an index number, or a fixed string for
1175         no form owner.
1176         FormKeyGenerator class is responsible to generate the "formKey" strings
1177
1178         Test: fast/forms/state-restore-per-form.html
1179
1180         * html/FormController.cpp:
1181         (FormKeyGenerator):
1182         (WebCore::FormKeyGenerator::create): A factory function.
1183         (WebCore::FormKeyGenerator::FormKeyGenerator): A private constructor.
1184         (WebCore::createKey):
1185         A helper for formKey(). This makes strings like "<action URL> #<index>".
1186         (WebCore::FormKeyGenerator::formKey):
1187         Returns a formKey for the specified HTMLFormElement*.
1188         (WebCore::FormKeyGenerator::willDeleteForm):
1189         Unregister HTMLFormElement*. This function is necessary because form
1190         restore feature works during parsing and a script might delete form
1191         elements.
1192         (WebCore::formStateSignature): Bump the version.
1193         (WebCore::FormController::formElementsState):
1194         Records a formKey string for each of control state.
1195         (WebCore::FormController::setStateForNewFormElements):
1196         Loads formKeys from stateVector, and uses them for FormElementKey.
1197         (WebCore::FormController::takeStateForFormElement):
1198         - Construct and destruct FormKeyGenerator if needed.
1199         - Passing a formKey for the specified form control to FormElementKey.
1200         (WebCore::FormController::willDeleteForm):
1201         Delegate to FormKeyGenerator::willDeleteForm.
1202
1203         (WebCore::FormElementKey::FormElementKey): Add formKey argument and member.
1204         (WebCore::FormElementKey::operator=): ditto.
1205         (WebCore::FormElementKey::ref): ditto.
1206         (WebCore::FormElementKey::deref): ditto.
1207         * html/FormController.h:
1208         (FormElementKey): Add formKey argument and member.
1209         (FormController): Add a FormKeyGenerator member which is used during restoring.
1210
1211         * html/HTMLFormElement.cpp:
1212         (WebCore::HTMLFormElement::~HTMLFormElement): Notify the death to FormController.
1213
1214 2012-06-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1215
1216         Unreviewed, rolling out r121395.
1217         http://trac.webkit.org/changeset/121395
1218         https://bugs.webkit.org/show_bug.cgi?id=90143
1219
1220         Patch causes crashes in fast/workers/worker-context-gc.html
1221         (Requested by zdobersek on #webkit).
1222
1223         * Modules/indexeddb/IDBFactory.cpp:
1224         (WebCore::IDBFactory::open):
1225         * workers/DedicatedWorkerThread.cpp:
1226         (WebCore::DedicatedWorkerThread::create):
1227         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
1228         * workers/DedicatedWorkerThread.h:
1229         (DedicatedWorkerThread):
1230         * workers/DefaultSharedWorkerRepository.cpp:
1231         (SharedWorkerProxy):
1232         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
1233         * workers/SharedWorkerThread.cpp:
1234         (WebCore::SharedWorkerThread::create):
1235         (WebCore::SharedWorkerThread::SharedWorkerThread):
1236         * workers/SharedWorkerThread.h:
1237         (SharedWorkerThread):
1238         * workers/WorkerMessagingProxy.cpp:
1239         (WebCore::WorkerMessagingProxy::startWorkerContext):
1240         * workers/WorkerThread.cpp:
1241         (WebCore::WorkerThreadStartupData::create):
1242         (WorkerThreadStartupData):
1243         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
1244         (WebCore::WorkerThread::WorkerThread):
1245         * workers/WorkerThread.h:
1246         (WorkerThread):
1247
1248 2012-06-28  Yoshifumi Inoue  <yosin@chromium.org>
1249
1250         [Platform] Implement functions for localized time format information
1251         https://bugs.webkit.org/show_bug.cgi?id=89965
1252
1253         Reviewed by Kent Tamura.
1254
1255         This patch introduces three functions for time format:
1256           1. localizedTimeFormatText()
1257           2. localizedShortTimeFormatText()
1258           2. timeAMPMLabels()
1259         for input type "time" if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS) is true.
1260
1261         Having both localizedTimeFormat and localizedShortTimeFormat is for
1262         displaying only two fields hour and minute when step >= 60. There is
1263         no way to remove second field from "h:m:s" pattern string. We don't
1264         know whether ":" after "m" belongs minute or second field.
1265
1266         Test: WebKit/chromium/tests/LocalizedDateICUTest.cpp
1267
1268         * platform/text/LocaleICU.cpp:
1269         (WebCore::LocaleICU::LocaleICU):
1270         (WebCore::createFallbackAMPMLabels): Added.
1271         (WebCore::LocaleICU::initializeDateTimeFormat):  Added.
1272         (WebCore::LocaleICU::localizedTimeFormatText):  Added.
1273         (WebCore::LocaleICU::localizedShortTimeFormatText):  Added.
1274         (WebCore::LocaleICU::timeAMPMLabels):  Added.
1275         * platform/text/LocaleICU.h:
1276         (LocaleICU):
1277         * platform/text/LocalizedDate.h:
1278         * platform/text/LocalizedDateICU.cpp:
1279         (WebCore::localizedTimeFormatText):  Added.
1280         (WebCore::localizedShortTimeFormatText):  Added.
1281         (WebCore::timeAMPMLabels):  Added.
1282
1283 2012-06-27  Kentaro Hara  <haraken@chromium.org>
1284
1285         Performance: Optimize Dromaeo/dom-query.html by caching NodeRareData on Document
1286         https://bugs.webkit.org/show_bug.cgi?id=90059
1287
1288         Reviewed by Ryosuke Niwa.
1289
1290         This patch improves performance of document.getElementsBy*().
1291         e.g. the patch makes Dromaeo/dom-query.html 5.4% faster.
1292
1293         Dromaeo/dom-query.html without the patch (Chromium/Linux):
1294         784714 runs/s, 765947 runs/s, 803109 runs/s, 804450 runs/s
1295
1296         Dromaeo/dom-query.html with the patch (Chromium/Linux):
1297         839245 runs/s, 829867 runs/s, 811032 runs/s, 847486 runs/s
1298
1299         Based on the assumption that document.getElementsByClassName(),
1300         document.getElementsByTagName() and document.getElementsByName()
1301         would be used frequently in the real world, this patch implements
1302         a fast path for Document methods that require to access NodeRareData.
1303         Specifically, this patch caches a pointer to NodeRareData on Document,
1304         by which Document can access NodeRareData without looking up a HashMap.
1305
1306         The only performance concern is the overhead of the isDocumentNode() check
1307         that this patch added to Node::ensureRareData. However, I could not
1308         observe any performance regression caused by the overhead.
1309
1310         No tests. No change in behavior.
1311
1312         * dom/Document.cpp:
1313         (WebCore::Document::Document):
1314         (WebCore::Document::setCachedRareData): I didn't inline this method,
1315         since the inlining slightly regressed performance for some reason.
1316         (WebCore):
1317         * dom/Document.h:
1318         (WebCore):
1319         (WebCore::Document::cachedRareData):
1320         (Document):
1321         (~Document): Moved 'm_document = 0' to the tail of the destructor,
1322         since isDocumentNode() has to return true in clearRareData() that is called
1323         in ~Document().
1324         * dom/Node.cpp:
1325         (WebCore::Node::ensureRareData):
1326         (~Node): Moved the assertion into clearRareData().
1327
1328 2012-06-27  Mary Wu  <mary.wu@torchmobile.com.cn>
1329
1330         [BlackBerry] 0-length response with no content-type shouldn't download
1331         https://bugs.webkit.org/show_bug.cgi?id=89860
1332
1333         Reviewed by Rob Buis.
1334
1335         RIM PR# 168419
1336
1337         For 0-length response, if we can't get its mimetype from the filename,
1338         we set the mimetype to "text/plain" instead of "application/octet-stream",
1339         so it won't go to download.
1340
1341         Reviewed internally by Charles Wei.
1342
1343         * platform/network/blackberry/NetworkJob.cpp:
1344         (WebCore::NetworkJob::sendResponseIfNeeded):
1345
1346 2012-06-27  Yoshifumi Inoue  <yosin@chromium.org>
1347
1348         [Platform] Implement localizedDecimalSeparator function
1349         https://bugs.webkit.org/show_bug.cgi?id=90036
1350
1351         Reviewed by Kent Tamura.
1352
1353         This patch introduces new function localizedDecimalSeparator() when
1354         ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS). It will be used for
1355         displaying millisecond for time fields UI.
1356
1357         Test: WebKit/chromium/tests/LocalizedNumberICUTest.cpp
1358
1359         * platform/text/LocaleICU.cpp:
1360         (WebCore::LocaleICU::localizedDecimalSeparator): Added
1361         * platform/text/LocaleICU.h:
1362         (LocaleICU): Added localizedDecimalSeparator.
1363         * platform/text/LocalizedNumber.h:
1364         * platform/text/LocalizedNumberICU.cpp:
1365         (WebCore::localizedDecimalSeparator): Added.
1366         * platform/text/LocalizedNumberNone.cpp:
1367         (WebCore::localizedDecimalSeparator): Added.
1368         * platform/text/mac/LocalizedNumberMac.mm:
1369         (WebCore::localizedDecimalSeparator): Added.
1370
1371 2012-06-27  Lu Guanqun  <guanqun.lu@intel.com>
1372
1373         Add OVERRIDE to functions in UnthrottledTextureUploader class
1374         https://bugs.webkit.org/show_bug.cgi?id=90130
1375
1376         Reviewed by James Robinson.
1377
1378         No new tests required.
1379
1380         * platform/graphics/chromium/LayerRendererChromium.cpp:
1381
1382 2012-06-27  Pablo Flouret  <pablof@motorola.com>
1383
1384         pattern="" should only accept the empty string
1385         https://bugs.webkit.org/show_bug.cgi?id=89569
1386
1387         Reviewed by Kent Tamura.
1388
1389         An empty pattern attribute was being treated essentially as if the
1390         pattern wasn't present.
1391
1392         No new tests. Covered by existing tests (plus a modified one).
1393
1394         * html/BaseTextInputType.cpp:
1395         (WebCore::BaseTextInputType::patternMismatch):
1396             Check if the pattern attribute is present. If it is then use the
1397             pattern as is (in the particular case of this bug, an empty pattern
1398             will only match an empty value).
1399
1400 2012-06-27  James Robinson  <jamesr@chromium.org>
1401
1402         [chromium] Use SkColor in compositor internals
1403         https://bugs.webkit.org/show_bug.cgi?id=90108
1404
1405         Reviewed by Adrienne Walker.
1406
1407         As the title says, cutting dependencies. If we support color spaces in the compositor we will probably need to
1408         use a more sophisticated type, but for our current use SkColor is sufficient and matches our API better.
1409
1410         * platform/graphics/chromium/LayerChromium.cpp:
1411         (WebCore::LayerChromium::LayerChromium):
1412         (WebCore::LayerChromium::setBackgroundColor):
1413         (WebCore::LayerChromium::setDebugBorderColor):
1414         * platform/graphics/chromium/LayerChromium.h:
1415         (LayerChromium):
1416         (WebCore::LayerChromium::backgroundColor):
1417         * platform/graphics/chromium/LayerRendererChromium.cpp:
1418         (WebCore::LayerRendererChromium::drawDebugBorderQuad):
1419         (WebCore::LayerRendererChromium::drawSolidColorQuad):
1420         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp:
1421         (WebCore::CCDebugBorderDrawQuad::create):
1422         (WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):
1423         * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h:
1424         (CCDebugBorderDrawQuad):
1425         (WebCore::CCDebugBorderDrawQuad::color):
1426         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1427         (WebCore::CCLayerImpl::CCLayerImpl):
1428         (WebCore::CCLayerImpl::setBackgroundColor):
1429         (WebCore::CCLayerImpl::setDebugBorderColor):
1430         (WebCore::CCLayerImpl::hasDebugBorders):
1431         * platform/graphics/chromium/cc/CCLayerImpl.h:
1432         (CCLayerImpl):
1433         (WebCore::CCLayerImpl::backgroundColor):
1434         (WebCore::CCLayerImpl::debugBorderColor):
1435         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1436         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1437         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1438         (WebCore::CCLayerTreeHost::setBackgroundColor):
1439         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1440         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1441         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1442         (WebCore::CCLayerTreeHostImpl::backgroundColor):
1443         (WebCore::CCLayerTreeHostImpl::setBackgroundColor):
1444         (CCLayerTreeHostImpl):
1445         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1446         (WebCore::appendQuadInternal):
1447         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1448         (WebCore::CCRenderPass::appendQuadsToFillScreen):
1449         * platform/graphics/chromium/cc/CCRenderPass.h:
1450         (WebCore):
1451         (CCRenderPass):
1452         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1453         (WebCore::CCRenderSurface::appendQuads):
1454         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
1455         (WebCore::CCSolidColorDrawQuad::create):
1456         (WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
1457         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.h:
1458         (CCSolidColorDrawQuad):
1459         (WebCore::CCSolidColorDrawQuad::color):
1460         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1461         (WebCore::CCTiledLayerImpl::appendQuads):
1462
1463 2012-06-27  Charles Wei  <charles.wei@torchmobile.com.cn>
1464
1465         IndexedDB: should make the LevelDB persistant to the directory indicated in PageGroupSettings::indexedDBDataBasePath
1466         https://bugs.webkit.org/show_bug.cgi?id=88338
1467
1468         Reviewed by David Levin.
1469
1470         If the indexedDB runs in main thread it can access the GroupSettings via the document;
1471         otherwise, we need to pass the page GroupSettings to the worker thread so that accessible
1472         to the indexedDB running in WorkerContext.
1473
1474         * Modules/indexeddb/IDBFactory.cpp:
1475         (WebCore::IDBFactory::open):
1476         * workers/DedicatedWorkerThread.cpp:
1477         (WebCore::DedicatedWorkerThread::create):
1478         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
1479         * workers/DedicatedWorkerThread.h:
1480         (DedicatedWorkerThread):
1481         * workers/DefaultSharedWorkerRepository.cpp:
1482         (SharedWorkerProxy):
1483         (WebCore::SharedWorkerProxy::groupSettings):
1484         (WebCore):
1485         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
1486         * workers/SharedWorkerThread.cpp:
1487         (WebCore::SharedWorkerThread::create):
1488         (WebCore::SharedWorkerThread::SharedWorkerThread):
1489         * workers/SharedWorkerThread.h:
1490         (SharedWorkerThread):
1491         * workers/WorkerMessagingProxy.cpp:
1492         (WebCore::WorkerMessagingProxy::startWorkerContext):
1493         * workers/WorkerThread.cpp:
1494         (WebCore::WorkerThreadStartupData::create):
1495         (WorkerThreadStartupData):
1496         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
1497         (WebCore::WorkerThread::WorkerThread):
1498         (WebCore::WorkerThread::groupSettings):
1499         (WebCore):
1500         * workers/WorkerThread.h:
1501         (WorkerThread):
1502
1503 2012-06-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1504
1505         Unreviewed, rolling out r121359.
1506         http://trac.webkit.org/changeset/121359
1507         https://bugs.webkit.org/show_bug.cgi?id=90115
1508
1509         Broke many inspector tests (Requested by jpfau on #webkit).
1510
1511         * bindings/js/ScriptCallStackFactory.cpp:
1512         (WebCore::createScriptCallStack):
1513
1514 2012-06-27  Alexis Menard  <alexis.menard@openbossa.org>
1515
1516         Implement selectedOptions attribute of HTMLSelectElement.
1517         https://bugs.webkit.org/show_bug.cgi?id=80631
1518
1519         Reviewed by Ryosuke Niwa.
1520
1521         Add a new collection as a member of HTMLSelectElement which is
1522         used to store the selected elements. Extend HTMLCollection to
1523         support the new collection type needed by this feature. Make sure
1524         that we invalidate the collection when the select state of an
1525         option changes as the select state change does not trigger a dom
1526         tree version change.
1527
1528         Reference : http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#dom-select-selectedoptions
1529
1530         Test: fast/dom/HTMLSelectElement/select-selectedOptions.html
1531
1532         * html/CollectionType.h:
1533         * html/HTMLCollection.cpp:
1534         (WebCore::shouldIncludeChildren):
1535         (WebCore::HTMLCollection::clearCache):
1536         (WebCore):
1537         (WebCore::HTMLCollection::isAcceptableElement):
1538         * html/HTMLCollection.h:
1539         (HTMLCollection):
1540         * html/HTMLOptionElement.cpp:
1541         (WebCore::HTMLOptionElement::setSelectedState):
1542         * html/HTMLSelectElement.cpp:
1543         (WebCore::HTMLSelectElement::selectedOptions):
1544         (WebCore):
1545         (WebCore::HTMLSelectElement::invalidateSelectedItems):
1546         (WebCore::HTMLSelectElement::setRecalcListItems):
1547         * html/HTMLSelectElement.h:
1548         (WebCore):
1549         (HTMLSelectElement):
1550         * html/HTMLSelectElement.idl:
1551
1552 2012-06-27  Daniel Cheng  <dcheng@chromium.org>
1553
1554         Fix crash in Frame::nodeImage.
1555         https://bugs.webkit.org/show_bug.cgi?id=89911
1556
1557         Reviewed by Abhishek Arya.
1558
1559         We were caching a pointer to a RenderObject and then calling updateLayout(). Instead, we
1560         need to get a pointer to the RenderObject again after updateLayout().
1561
1562         Test: fast/events/drag-display-none-element.html
1563
1564         * page/Frame.cpp:
1565         (WebCore::Frame::nodeImage):
1566         * page/mac/FrameMac.mm:
1567         (WebCore::Frame::snapshotDragImage):
1568         (WebCore::Frame::nodeImage):
1569
1570 2012-06-27  Tony Chang  <tony@chromium.org>
1571
1572         Unreviewed, rolling out r121380.
1573         http://trac.webkit.org/changeset/121380
1574         https://bugs.webkit.org/show_bug.cgi?id=86525
1575
1576         Hits an ASSERT in debug.
1577
1578         * css/CSSComputedStyleDeclaration.cpp:
1579         (WebCore):
1580         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1581         * css/CSSParser.cpp:
1582         (WebCore::isValidKeywordPropertyAndValue):
1583         (WebCore::CSSParser::parseValue):
1584         (WebCore::CSSParser::parseFlex):
1585         * css/CSSParser.h:
1586         * css/CSSProperty.cpp:
1587         (WebCore::CSSProperty::isInheritedProperty):
1588         * css/CSSPropertyNames.in:
1589         * css/StyleBuilder.cpp:
1590         (ApplyPropertyFlex):
1591         (WebCore::ApplyPropertyFlex::applyInheritValue):
1592         (WebCore::ApplyPropertyFlex::applyInitialValue):
1593         (WebCore::ApplyPropertyFlex::applyValue):
1594         (WebCore::ApplyPropertyFlex::createHandler):
1595         (WebCore::ApplyPropertyFlex::getFlexValue):
1596         (WebCore):
1597         (WebCore::StyleBuilder::StyleBuilder):
1598         * css/StylePropertySet.cpp:
1599         (WebCore::StylePropertySet::getPropertyValue):
1600         (WebCore::StylePropertySet::asText):
1601         * css/StylePropertyShorthand.cpp:
1602         (WebCore::webkitFlexFlowShorthand):
1603         (WebCore::shorthandForProperty):
1604         * css/StylePropertyShorthand.h:
1605         (WebCore):
1606         * css/StyleResolver.cpp:
1607         (WebCore::StyleResolver::collectMatchingRulesForList):
1608
1609 2012-06-27  Rakesh KN  <rakesh.kn@motorola.com>
1610
1611         HTMLFieldSetElement::m_documentVersion is not initialized
1612         https://bugs.webkit.org/show_bug.cgi?id=90038
1613
1614         Reviewed by Kent Tamura.
1615
1616         Initialised m_documentVersion member as HTMLFieldSetElement::elements can return an wrong collection.
1617
1618         Covered by existing tests.
1619
1620         * html/HTMLFieldSetElement.cpp:
1621         (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
1622         Initialised m_documentVersion.
1623
1624 2012-06-25  Mark Hahnenberg  <mhahnenberg@apple.com>
1625
1626         JSLock should be per-JSGlobalData
1627         https://bugs.webkit.org/show_bug.cgi?id=89123
1628
1629         Reviewed by Geoffrey Garen.
1630
1631         No new tests. Current regression tests are sufficient.
1632
1633         Changed all sites that used JSLock to instead use the new JSLockHolder
1634         and pass in the correct JS context that the code is about to interact with that 
1635         needs protection. Also added a couple JSLocks to places that didn't already 
1636         have it that needed it.
1637
1638         * bindings/js/GCController.cpp:
1639         (WebCore::collect):
1640         (WebCore::GCController::garbageCollectSoon):
1641         (WebCore::GCController::garbageCollectNow):
1642         (WebCore::GCController::discardAllCompiledCode):
1643         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1644         (WebCore::JSSQLStatementErrorCallback::handleEvent):
1645         * bindings/js/JSCustomVoidCallback.cpp:
1646         (WebCore::JSCustomVoidCallback::handleEvent):
1647         * bindings/js/JSCustomXPathNSResolver.cpp:
1648         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1649         * bindings/js/JSErrorHandler.cpp:
1650         (WebCore::JSErrorHandler::handleEvent):
1651         * bindings/js/JSEventCustom.cpp:
1652         (WebCore::toJS):
1653         * bindings/js/JSEventListener.cpp:
1654         (WebCore::JSEventListener::handleEvent):
1655         * bindings/js/JSInjectedScriptHostCustom.cpp:
1656         (WebCore::InjectedScriptHost::nodeAsScriptValue):
1657         (WebCore::JSInjectedScriptHost::inspectedObject):
1658         * bindings/js/JSInjectedScriptManager.cpp:
1659         (WebCore::InjectedScriptManager::createInjectedScript):
1660         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1661         * bindings/js/JSLazyEventListener.cpp:
1662         (WebCore::JSLazyEventListener::initializeJSFunction):
1663         * bindings/js/JSMainThreadExecState.h:
1664         (WebCore::JSMainThreadExecState::evaluate):
1665         * bindings/js/JSMutationCallbackCustom.cpp:
1666         (WebCore::JSMutationCallback::handleEvent):
1667         * bindings/js/JSNodeFilterCondition.cpp:
1668         (WebCore::JSNodeFilterCondition::acceptNode):
1669         * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:
1670         (WebCore::JSRequestAnimationFrameCallback::handleEvent):
1671         * bindings/js/JavaScriptCallFrame.cpp:
1672         (WebCore::JavaScriptCallFrame::evaluate):
1673         * bindings/js/PageScriptDebugServer.cpp:
1674         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1675         * bindings/js/ScheduledAction.cpp:
1676         (WebCore::ScheduledAction::executeFunctionInContext):
1677         * bindings/js/ScriptCachedFrameData.cpp:
1678         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1679         (WebCore::ScriptCachedFrameData::restore):
1680         (WebCore::ScriptCachedFrameData::clear):
1681         * bindings/js/ScriptController.cpp:
1682         (WebCore::ScriptController::evaluateInWorld):
1683         (WebCore::ScriptController::clearWindowShell):
1684         (WebCore::ScriptController::initScript):
1685         (WebCore::ScriptController::updateDocument):
1686         (WebCore::ScriptController::cacheableBindingRootObject):
1687         (WebCore::ScriptController::bindingRootObject):
1688         (WebCore::ScriptController::windowScriptNPObject):
1689         (WebCore::ScriptController::jsObjectForPluginElement):
1690         (WebCore::ScriptController::clearScriptObjects):
1691         * bindings/js/ScriptControllerMac.mm:
1692         (WebCore::ScriptController::windowScriptObject):
1693         * bindings/js/ScriptDebugServer.cpp:
1694         (WebCore::ScriptDebugServer::dispatchDidPause):
1695         * bindings/js/ScriptEventListener.cpp:
1696         (WebCore::eventListenerHandlerBody):
1697         (WebCore::eventListenerHandlerLocation):
1698         * bindings/js/ScriptFunctionCall.cpp:
1699         (WebCore::ScriptCallArgumentHandler::appendArgument):
1700         (WebCore::ScriptFunctionCall::call):
1701         (WebCore::ScriptFunctionCall::construct):
1702         (WebCore::ScriptCallback::call):
1703         * bindings/js/ScriptObject.cpp:
1704         (WebCore::ScriptGlobalObject::set):
1705         (WebCore::ScriptGlobalObject::get):
1706         (WebCore::ScriptGlobalObject::remove):
1707         * bindings/js/ScriptValue.cpp:
1708         (WebCore::ScriptValue::getString):
1709         (WebCore::ScriptValue::toInspectorValue):
1710         * bindings/js/WorkerScriptController.cpp:
1711         (WebCore::WorkerScriptController::~WorkerScriptController):
1712         (WebCore::WorkerScriptController::initScript):
1713         (WebCore::WorkerScriptController::evaluate):
1714         (WebCore::WorkerScriptController::disableEval):
1715         * bindings/objc/WebScriptObject.mm:
1716         (_didExecute):
1717         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1718         (-[WebScriptObject evaluateWebScript:]):
1719         (-[WebScriptObject setValue:forKey:]):
1720         (-[WebScriptObject valueForKey:]):
1721         (-[WebScriptObject removeWebScriptKey:]):
1722         (-[WebScriptObject hasWebScriptKey:]):
1723         (-[WebScriptObject stringRepresentation]):
1724         (-[WebScriptObject webScriptValueAtIndex:]):
1725         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
1726         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
1727         * bindings/scripts/CodeGeneratorJS.pm:
1728         (GenerateCallbackImplementation):
1729         * bindings/scripts/test/JS/JSTestCallback.cpp:
1730         (WebCore::JSTestCallback::callbackWithNoParam):
1731         (WebCore::JSTestCallback::callbackWithClass1Param):
1732         (WebCore::JSTestCallback::callbackWithClass2Param):
1733         (WebCore::JSTestCallback::callbackWithStringList):
1734         (WebCore::JSTestCallback::callbackWithBoolean):
1735         (WebCore::JSTestCallback::callbackRequiresThisToPass):
1736         * bridge/NP_jsobject.cpp:
1737         (_NPN_InvokeDefault):
1738         (_NPN_Invoke):
1739         (_NPN_Evaluate):
1740         (_NPN_GetProperty):
1741         (_NPN_SetProperty):
1742         (_NPN_RemoveProperty):
1743         (_NPN_HasProperty):
1744         (_NPN_HasMethod):
1745         (_NPN_Enumerate):
1746         (_NPN_Construct):
1747         * bridge/c/c_class.cpp:
1748         (JSC::Bindings::CClass::~CClass):
1749         (JSC::Bindings::CClass::methodsNamed):
1750         (JSC::Bindings::CClass::fieldNamed):
1751         * bridge/c/c_instance.cpp:
1752         (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
1753         (JSC::Bindings::CInstance::invokeMethod):
1754         (JSC::Bindings::CInstance::invokeDefaultMethod):
1755         (JSC::Bindings::CInstance::invokeConstruct):
1756         (JSC::Bindings::CInstance::getPropertyNames):
1757         * bridge/c/c_runtime.cpp:
1758         (JSC::Bindings::CField::valueFromInstance):
1759         (JSC::Bindings::CField::setValueToInstance):
1760         * bridge/c/c_utility.cpp:
1761         (JSC::Bindings::convertValueToNPVariant):
1762         (JSC::Bindings::convertNPVariantToValue):
1763         * bridge/jni/jni_jsobject.mm:
1764         (JavaJSObject::call):
1765         (JavaJSObject::eval):
1766         (JavaJSObject::getMember):
1767         (JavaJSObject::setMember):
1768         (JavaJSObject::removeMember):
1769         (JavaJSObject::getSlot):
1770         (JavaJSObject::setSlot):
1771         (JavaJSObject::toString):
1772         (JavaJSObject::convertValueToJObject):
1773         (JavaJSObject::convertJObjectToValue):
1774         * bridge/jni/jni_objc.mm:
1775         (JSC::Bindings::dispatchJNICall):
1776         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
1777         (JSC::Bindings::convertValueToJValue):
1778         * bridge/jni/jsc/JavaClassJSC.cpp:
1779         (JavaClass::JavaClass):
1780         (JavaClass::~JavaClass):
1781         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1782         (JavaInstance::stringValue):
1783         * bridge/jni/jsc/JavaMethodJSC.cpp:
1784         (appendClassName):
1785         (JavaMethod::signature):
1786         * bridge/jni/jsc/JavaStringJSC.h:
1787         (JSC::Bindings::JavaString::JavaString):
1788         (JSC::Bindings::JavaString::~JavaString):
1789         (JSC::Bindings::JavaString::utf8):
1790         (JSC::Bindings::JavaString::init):
1791         * bridge/jsc/BridgeJSC.cpp:
1792         (JSC::Bindings::Instance::createRuntimeObject):
1793         (JSC::Bindings::Instance::newRuntimeObject):
1794         * bridge/objc/objc_instance.mm:
1795         (ObjcInstance::moveGlobalExceptionToExecState):
1796         (ObjcInstance::invokeObjcMethod):
1797         (ObjcInstance::invokeDefaultMethod):
1798         (ObjcInstance::setValueOfUndefinedField):
1799         (ObjcInstance::getValueOfUndefinedField):
1800         * bridge/objc/objc_runtime.mm:
1801         (JSC::Bindings::ObjcField::valueFromInstance):
1802         (JSC::Bindings::ObjcField::setValueToInstance):
1803         * bridge/objc/objc_utility.mm:
1804         (JSC::Bindings::convertValueToObjcValue):
1805         (JSC::Bindings::convertNSStringToString):
1806         (JSC::Bindings::convertObjcValueToValue):
1807         * bridge/qt/qt_instance.cpp:
1808         (JSC::Bindings::QtInstance::~QtInstance):
1809         (JSC::Bindings::QtInstance::getQtInstance):
1810         (JSC::Bindings::QtInstance::newRuntimeObject):
1811         * bridge/qt/qt_pixmapruntime.cpp:
1812         (JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
1813         * bridge/qt/qt_runtime.cpp:
1814         (JSC::Bindings::convertValueToQVariant):
1815         (JSC::Bindings::convertQVariantToValue):
1816         (JSC::Bindings::QtRuntimeMetaMethod::call):
1817         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1818         * bridge/qt/qt_runtime_qt4.cpp:
1819         (JSC::Bindings::convertValueToQVariant):
1820         (JSC::Bindings::convertQVariantToValue):
1821         (JSC::Bindings::QtRuntimeMetaMethod::call):
1822         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1823         * bridge/runtime_root.cpp:
1824         (JSC::Bindings::RootObject::gcProtect):
1825         (JSC::Bindings::RootObject::gcUnprotect):
1826         * html/HTMLCanvasElement.cpp:
1827         (WebCore::HTMLCanvasElement::createImageBuffer):
1828         * html/HTMLImageLoader.cpp:
1829         (WebCore::HTMLImageLoader::notifyFinished):
1830         * plugins/PluginView.cpp:
1831         (WebCore::PluginView::start):
1832         (WebCore::PluginView::stop):
1833         (WebCore::PluginView::performRequest):
1834         (WebCore::PluginView::npObject):
1835         (WebCore::PluginView::privateBrowsingStateChanged):
1836         * plugins/blackberry/PluginViewBlackBerry.cpp:
1837         (WebCore::PluginView::dispatchNPEvent):
1838         (WebCore::PluginView::setNPWindowIfNeeded):
1839         (WebCore::PluginView::platformStart):
1840         (WebCore::PluginView::getWindowInfo):
1841         * plugins/efl/PluginViewEfl.cpp:
1842         (WebCore::PluginView::dispatchNPEvent):
1843         * plugins/gtk/PluginViewGtk.cpp:
1844         (WebCore::PluginView::dispatchNPEvent):
1845         (WebCore::PluginView::handleKeyboardEvent):
1846         (WebCore::PluginView::handleMouseEvent):
1847         (WebCore::PluginView::setNPWindowIfNeeded):
1848         (WebCore::PluginView::platformStart):
1849         * plugins/mac/PluginViewMac.mm:
1850         (WebCore::PluginView::setNPWindowIfNeeded):
1851         (WebCore::PluginView::dispatchNPEvent):
1852         * plugins/qt/PluginViewQt.cpp:
1853         (WebCore::PluginView::dispatchNPEvent):
1854         (WebCore::PluginView::setNPWindowIfNeeded):
1855         (WebCore::PluginView::platformStart):
1856         * plugins/win/PluginViewWin.cpp:
1857         (WebCore::PluginView::dispatchNPEvent):
1858         (WebCore::PluginView::handleKeyboardEvent):
1859         (WebCore::PluginView::handleMouseEvent):
1860         (WebCore::PluginView::setNPWindowRect):
1861         * testing/js/WebCoreTestSupport.cpp:
1862         (WebCoreTestSupport::injectInternalsObject):
1863         (WebCoreTestSupport::resetInternalsObject):
1864         * xml/XMLHttpRequest.cpp:
1865         (WebCore::XMLHttpRequest::dropProtection):
1866
1867 2012-06-27  Tony Chang  <tony@chromium.org>
1868
1869         Split flex into flex-grow/flex-shrink/flex-basis
1870         https://bugs.webkit.org/show_bug.cgi?id=86525
1871
1872         Reviewed by Ojan Vafai.
1873
1874         Split flex into 3 separate properties per the spec:
1875         http://dev.w3.org/csswg/css3-flexbox/#flex-components
1876
1877         Tests: css3/flexbox/flex-longhand-parsing.html
1878                css3/flexbox/flex-property-parsing.html: Updated test results.
1879
1880         * css/CSSComputedStyleDeclaration.cpp:
1881         (WebCore): -webkit-flex is no longer enumerable.
1882         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add new css property names and use
1883         getCSSPropertyValuesForShorthandProperties for WebkitFlex. Also sort flex propery names.
1884         * css/CSSParser.cpp:
1885         (WebCore::isValidKeywordPropertyAndValue): Fix indent.
1886         (WebCore::CSSParser::parseValue): Add parsing for new properties and handle -webkit-flex: none.
1887         (WebCore::CSSParser::parseFlex): Switch to new names (positive -> grow, negative -> shrink,
1888         preferred size -> basis) and assign to longhand properties.
1889         * css/CSSParser.h:
1890         * css/CSSProperty.cpp:
1891         (WebCore::CSSProperty::isInheritedProperty): Add new properties.
1892         * css/CSSPropertyNames.in: Add new properties.
1893         * css/StyleBuilder.cpp:
1894         (WebCore::StyleBuilder::StyleBuilder): Delete special handling of applying flex and just use shorthand handlers.
1895         * css/StylePropertySet.cpp:
1896         (WebCore::StylePropertySet::getPropertyValue): Add new shorthand.
1897         (WebCore::StylePropertySet::asText):
1898         * css/StylePropertyShorthand.cpp:
1899         (WebCore::webkitFlexShorthand): Add new shorthand.
1900         (WebCore::shorthandForProperty):
1901         * css/StylePropertyShorthand.h:
1902         * css/StyleResolver.cpp:
1903         (WebCore::StyleResolver::collectMatchingRulesForList): Add to list of properties applied by StyleBuilder.
1904
1905 2012-06-27  Kentaro Hara  <haraken@chromium.org>
1906
1907         Make Element::elementRareData() and Element::ensureElementRareData() private
1908         https://bugs.webkit.org/show_bug.cgi?id=90060
1909
1910         Reviewed by Andreas Kling.
1911
1912         This is a simple refactoring. Element::elementRareData() and
1913         Element::ensureElementRareData() can be private methods.
1914
1915         No tests. No change in behavior.
1916
1917         * dom/Element.h:
1918         (Element):
1919
1920 2012-06-27  James Robinson  <jamesr@chromium.org>
1921
1922         [chromium] Delete unused includes and forward declarations from compositor code
1923         https://bugs.webkit.org/show_bug.cgi?id=90102
1924
1925         Reviewed by Adrienne Walker.
1926
1927         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
1928         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
1929         * platform/graphics/chromium/ContentLayerChromium.h:
1930         * platform/graphics/chromium/ImageLayerChromium.cpp:
1931         * platform/graphics/chromium/LayerChromium.cpp:
1932         * platform/graphics/chromium/LayerChromium.h:
1933         * platform/graphics/chromium/LayerRendererChromium.cpp:
1934         * platform/graphics/chromium/ShaderChromium.h:
1935         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
1936         * platform/graphics/chromium/TiledLayerChromium.cpp:
1937         (WebCore::TiledLayerChromium::updateTiles):
1938         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1939         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1940
1941 2012-06-27  Alec Flett  <alecflett@chromium.org>
1942
1943         IndexedDB: make IDBKey immutable
1944         https://bugs.webkit.org/show_bug.cgi?id=90016
1945
1946         Reviewed by Tony Chang.
1947
1948         Make all members of IDBKey const, so that this can be considered
1949         an immutable, and thus safe to copy and/or stop ref-counting.
1950
1951         No new tests, existing tests show this works.
1952
1953         * Modules/indexeddb/IDBKey.cpp:
1954         (WebCore::IDBKey::compare):
1955         * Modules/indexeddb/IDBKey.h:
1956         (WebCore::IDBKey::createInvalid):
1957         (WebCore::IDBKey::createNumber):
1958         (WebCore::IDBKey::createString):
1959         (WebCore::IDBKey::createDate):
1960         (WebCore::IDBKey::createMultiEntryArray):
1961         (WebCore::IDBKey::createArray):
1962         (WebCore::IDBKey::date):
1963         (WebCore::IDBKey::IDBKey):
1964         (IDBKey):
1965
1966 2012-06-27  Erik Arvidsson  <arv@chromium.org>
1967
1968         [V8] Improve variable resolution order on window
1969         https://bugs.webkit.org/show_bug.cgi?id=84247
1970
1971         Reviewed by Ojan Vafai.
1972
1973         This changes the V8 flag to turn on es52_globals and updates the layout tests to reflect the fixed behavior.
1974
1975         This is the second (third?) try. Last time there was a bug in the V8 code related to the split window.
1976         I added a test that tests the failure that caused this to be rolled back last time.
1977
1978         Tests: fast/dom/Window/es52-globals.html
1979                fast/dom/Window/window-property-shadowing-onclick.html
1980
1981         * bindings/v8/V8DOMWindowShell.cpp:
1982         (WebCore::V8DOMWindowShell::initContextIfNeeded):
1983         * bindings/v8/WorkerContextExecutionProxy.cpp:
1984         (WebCore::WorkerContextExecutionProxy::initIsolate):
1985
1986 2012-06-27  James Robinson  <jamesr@chromium.org>
1987
1988         [chromium] Use categorized TRACE_EVENTN() macros in compositor code
1989         https://bugs.webkit.org/show_bug.cgi?id=90100
1990
1991         Reviewed by Adrienne Walker.
1992
1993         Specify the category in all traces in the compositor. Patch generated mostly by the sed command
1994         's/TRACE_EVENT(\(.*\), this, 0)/TRACE_EVENT0("cc", \1)/'.
1995
1996         * platform/graphics/chromium/LayerRendererChromium.cpp:
1997         (WebCore::LayerRendererChromium::beginDrawingFrame):
1998         (WebCore::LayerRendererChromium::finish):
1999         (WebCore::LayerRendererChromium::swapBuffers):
2000         (WebCore::LayerRendererChromium::initializeSharedObjects):
2001         (WebCore::LayerRendererChromium::tileCheckerboardProgram):
2002         (WebCore::LayerRendererChromium::solidColorProgram):
2003         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
2004         (WebCore::LayerRendererChromium::renderPassProgram):
2005         (WebCore::LayerRendererChromium::renderPassProgramAA):
2006         (WebCore::LayerRendererChromium::renderPassMaskProgram):
2007         (WebCore::LayerRendererChromium::renderPassMaskProgramAA):
2008         (WebCore::LayerRendererChromium::tileProgram):
2009         (WebCore::LayerRendererChromium::tileProgramOpaque):
2010         (WebCore::LayerRendererChromium::tileProgramAA):
2011         (WebCore::LayerRendererChromium::tileProgramSwizzle):
2012         (WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
2013         (WebCore::LayerRendererChromium::tileProgramSwizzleAA):
2014         (WebCore::LayerRendererChromium::textureProgram):
2015         (WebCore::LayerRendererChromium::textureProgramFlip):
2016         (WebCore::LayerRendererChromium::textureIOSurfaceProgram):
2017         (WebCore::LayerRendererChromium::videoYUVProgram):
2018         (WebCore::LayerRendererChromium::videoStreamTextureProgram):
2019         * platform/graphics/chromium/LayerTextureSubImage.cpp:
2020         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
2021         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
2022         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
2023         (WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):
2024         * platform/graphics/chromium/TextureCopier.cpp:
2025         (WebCore::AcceleratedTextureCopier::copyTexture):
2026         * platform/graphics/chromium/TextureManager.cpp:
2027         (WebCore::TextureManager::evictTexture):
2028         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
2029         (WebCore::CCFrameRateController::setActive):
2030         (WebCore::CCFrameRateController::onTimerTick):
2031         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2032         (WebCore::CCLayerTreeHost::initialize):
2033         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2034         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
2035         (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
2036         (WebCore::CCLayerTreeHost::didLoseContext):
2037         (WebCore::CCLayerTreeHost::updateLayers):
2038         (WebCore::CCLayerTreeHost::animateLayers):
2039         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2040         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
2041         (WebCore::CCSingleThreadProxy::~CCSingleThreadProxy):
2042         (WebCore::CCSingleThreadProxy::compositeAndReadback):
2043         (WebCore::CCSingleThreadProxy::stop):
2044         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2045         (WebCore::CCThreadProxy::CCThreadProxy):
2046         (WebCore::CCThreadProxy::~CCThreadProxy):
2047         (WebCore::CCThreadProxy::compositeAndReadback):
2048         (WebCore::CCThreadProxy::initializeContext):
2049         (WebCore::CCThreadProxy::initializeLayerRenderer):
2050         (WebCore::CCThreadProxy::setNeedsAnimate):
2051         (WebCore::CCThreadProxy::setNeedsCommit):
2052         (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
2053         (WebCore::CCThreadProxy::setNeedsCommitOnImplThread):
2054         (WebCore::CCThreadProxy::setNeedsForcedCommitOnImplThread):
2055         (WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread):
2056         (WebCore::CCThreadProxy::setNeedsRedraw):
2057         (WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
2058         (WebCore::CCThreadProxy::stop):
2059         (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
2060         (WebCore::CCThreadProxy::beginFrame):
2061         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
2062         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
2063         (WebCore::CCThreadProxy::scheduledActionCommit):
2064         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
2065         (WebCore::CCThreadProxy::acquireLayerTextures):
2066         (WebCore::CCThreadProxy::initializeImplOnImplThread):
2067         (WebCore::CCThreadProxy::initializeContextOnImplThread):
2068         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
2069         (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
2070
2071 2012-06-27  W. James MacLean  <wjmaclean@chromium.org>
2072
2073         [chromium] ScrollbarLayerChromium should support painting forward-track and back-track in different styles.
2074         https://bugs.webkit.org/show_bug.cgi?id=89908
2075
2076         Reviewed by Adrienne Walker.
2077
2078         Test: platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html
2079
2080         Adds support for accelerated drawing (impl thread) of scrollbars with different styles for the
2081         forward-track and back-track parts.
2082
2083         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2084         (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
2085         (WebCore::ScrollbarBackgroundPainter::create):
2086         (WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
2087         (ScrollbarBackgroundPainter):
2088         (WebCore::ScrollbarLayerChromium::setLayerTreeHost):
2089         (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
2090         (WebCore::ScrollbarLayerChromium::update):
2091         * platform/graphics/chromium/ScrollbarLayerChromium.h:
2092         (ScrollbarLayerChromium):
2093         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2094         (WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
2095         (WebCore):
2096         (WebCore::CCScrollbarLayerImpl::appendQuads):
2097         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2098         (WebCore::CCScrollbarLayerImpl::setBackTrackTextureId):
2099         (WebCore::CCScrollbarLayerImpl::setForeTrackTextureId):
2100         (CCScrollbarLayerImpl):
2101
2102 2012-06-27  Ian Vollick  <vollick@chromium.org>
2103
2104         [chromium] Allow screen space rects and occluding rects to be visualized for debugging.
2105         https://bugs.webkit.org/show_bug.cgi?id=90012
2106
2107         Reviewed by Adrienne Walker.
2108
2109         No new tests. No new functionality.
2110
2111         * platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
2112         (WebCore::CCDebugRectHistory::enabled):
2113         (WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
2114         (WebCore::CCDebugRectHistory::saveScreenSpaceRects):
2115         (WebCore):
2116         (WebCore::CCDebugRectHistory::saveOccludingRects):
2117         * platform/graphics/chromium/cc/CCDebugRectHistory.h:
2118         (WebCore):
2119         (CCDebugRectHistory):
2120         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2121         (WebCore::CCHeadsUpDisplay::showDebugRects):
2122         (WebCore::CCHeadsUpDisplay::draw):
2123         (WebCore::CCHeadsUpDisplay::drawDebugRects):
2124         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2125         (WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
2126         (CCLayerTreeSettings):
2127         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2128         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2129         (WebCore::CCLayerTreeHostImpl::drawLayers):
2130         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2131         (FrameData):
2132         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2133         (WebCore::::CCOcclusionTrackerBase):
2134         (WebCore::addOcclusionBehindLayer):
2135         (WebCore::::markOccludedBehindLayer):
2136         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
2137         (CCOcclusionTrackerBase):
2138         (WebCore::CCOcclusionTrackerBase::setOccludingScreenSpaceRectsContainer):
2139
2140 2012-06-27  Anthony Scian  <ascian@rim.com>
2141
2142         Web Inspector [JSC]: Implement ScriptCallStack::stackTrace
2143         https://bugs.webkit.org/show_bug.cgi?id=40118
2144
2145         Reviewed by Yong Li.
2146
2147         Implemented stub for createScriptCallStack to call into
2148         Interpreter and extract the current stack frames, iterate
2149         through the frames and create the return result required.
2150
2151         No new tests, manually tested thrown exception and inspector
2152         tracebacks.
2153
2154         * bindings/js/ScriptCallStackFactory.cpp:
2155         (WebCore::createScriptCallStack):
2156
2157 2012-06-27  Ryosuke Niwa  <rniwa@webkit.org>
2158
2159         Let Xcode have its own way.
2160
2161         * WebCore.xcodeproj/project.pbxproj:
2162
2163 2012-06-27  Ryosuke Niwa  <rniwa@webkit.org>
2164
2165         REGRESSION (Safari 5?): Pasting a line into textarea inserts two newlines
2166         https://bugs.webkit.org/show_bug.cgi?id=49288
2167
2168         Reviewed by Tony Chang.
2169
2170         The bug was caused by positionAvoidingPrecedingNodes getting out of a block when the insertion point is at a line break.
2171         It caused the subsequent code to be misinformed of the insertion position and ended up not pruning the extra line break.
2172
2173         Fixed the bug by checking this special case and bailing out so that we don't crawl out of the enclosing block.
2174         It's similar to checks several lines below it.
2175
2176         Test: editing/pasteboard/copy-paste-pre-line-content.html
2177
2178         * editing/ReplaceSelectionCommand.cpp:
2179         (WebCore::positionAvoidingPrecedingNodes):
2180
2181 2012-06-27  Andrei Onea  <onea@adobe.com>
2182
2183         [CSSRegions]Change display values that allow regions
2184         https://bugs.webkit.org/show_bug.cgi?id=89759
2185
2186         Reviewed by Tony Chang.
2187
2188         Allow only elements with display values of block, inline-block,
2189         table-cell, table-caption and list-item to become regions, as per
2190         CSSRegions spec: http://dev.w3.org/csswg/css3-regions .
2191         Also added test for checking whether regions are destroyed and/or created
2192         when changing display value.
2193
2194         Test: fast/regions/region-element-display-change.html
2195
2196         * rendering/RenderObject.cpp:
2197         (WebCore::RenderObject::createObject):
2198         * rendering/style/RenderStyle.h:
2199
2200 2012-06-27  Mike Lawther  <mikelawther@chromium.org>
2201
2202         CSS3 calc: blending involving expressions
2203         https://bugs.webkit.org/show_bug.cgi?id=86160
2204
2205         Reviewed by Tony Chang.
2206
2207         If either endpoint of a blend involves a calc expression, we create a new
2208         expression to perform the blend calculation.
2209
2210         Test: css3/calc/transitions.html
2211               css3/calc/transitions-dependent.html
2212
2213         * platform/Length.cpp:
2214         (WebCore):
2215         (WebCore::Length::blendCalculation):
2216         * platform/Length.h:
2217         (WebCore::Length::blend):
2218         (Length):
2219
2220 2012-06-27  Hans Muller  <hmuller@adobe.com>
2221
2222         Move CSSWrapShape style resolution from StyleResolver to StyleBuilder
2223         https://bugs.webkit.org/show_bug.cgi?id=89668
2224
2225         Reviewed by Andreas Kling.
2226
2227         Moved the resolution of the shapeInside and shapeOutside CSS properties
2228         from the StyleResolver class to StyleBuilder. This is just refactoring
2229         in preparation for fixing https://bugs.webkit.org/show_bug.cgi?id=89670.
2230
2231         No new tests were required.
2232
2233         * css/StyleBuilder.cpp:
2234         (WebCore):
2235         (ApplyPropertyWrapShape):
2236         (WebCore::ApplyPropertyWrapShape::setValue):
2237         (WebCore::ApplyPropertyWrapShape::applyValue):
2238         (WebCore::ApplyPropertyWrapShape::createHandler):
2239         (WebCore::StyleBuilder::StyleBuilder):
2240         * css/StyleResolver.cpp:
2241         (WebCore::StyleResolver::collectMatchingRulesForList):
2242
2243 2012-06-27  Alexandru Chiculita  <achicu@adobe.com>
2244
2245         Blur filter causes issues when scrolling
2246         https://bugs.webkit.org/show_bug.cgi?id=89475
2247
2248         Reviewed by Simon Fraser.
2249
2250         This patch disables the fast scrolling when there is a fixed postioned element that
2251         has a filter applied on its parent layer. Otherwise the scroll blitting will just
2252         copy the outsets of the blur effect.
2253
2254         Test: css3/filters/blur-filter-page-scroll.html
2255
2256         * page/FrameView.cpp:
2257         (WebCore::FrameView::scrollContentsFastPath):
2258
2259 2012-06-27  Andreas Kling  <kling@webkit.org>
2260
2261         REGRESSION(r121296): New zero-size background tests asserting on Mac.
2262         <http://webkit.org/b/90071>
2263
2264         Reviewed by Dan Bernstein.
2265
2266         Remove ASSERT(patternTransform.isInvertible()) as this is now a valid scenario.
2267
2268         * platform/graphics/cg/ImageCG.cpp:
2269         (WebCore::Image::drawPattern):
2270
2271 2012-06-27  Shinya Kawanaka  <shinyak@chromium.org>
2272
2273         HTMLStyleElement::removedFrom seems incorrect.
2274         https://bugs.webkit.org/show_bug.cgi?id=89986
2275
2276         Reviewed by Hajime Morita.
2277
2278         This is a follow-up patch for Bug 88495. The Same bug as Bug 88495 seems to exist on
2279         HTMLStyleElement::removedFrom().
2280
2281         No new tests, hard to write a test case.
2282
2283         * html/HTMLStyleElement.cpp:
2284         (WebCore::HTMLStyleElement::removedFrom):
2285
2286 2012-06-27  Mike Reed  <reed@google.com>
2287
2288         Cleanup scaling code in text-decorations for SVG InlineText. Use scale() instead of getCTM/normalizeTransform/setCTM
2289         to use more standard pattern for scaling, and to allow for these operations to be recorded and played back later
2290         (potentially with a different starting matrix). This effectively reverts change# 78704.
2291         https://bugs.webkit.org/show_bug.cgi?id=89888
2292
2293         Reviewed by Nikolas Zimmermann.
2294
2295         No new tests. Current layouttests exercise this code path.
2296
2297         * rendering/svg/SVGInlineTextBox.cpp:
2298         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
2299         (WebCore::SVGInlineTextBox::paintTextWithShadows):
2300
2301 2012-06-27  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
2302
2303         [Qt] Remove redundant NDEBUG definition
2304
2305         Already handled in default_post.prf.
2306
2307         Reviewed by Tor Arne Vestbø.
2308
2309         * WebCore.pri:
2310
2311 2012-06-27  Alexander Pavlov  <apavlov@chromium.org>
2312
2313         Unexpected end of style sheet in @font-face rule discards it rather than closes all open constructs
2314         https://bugs.webkit.org/show_bug.cgi?id=89980
2315
2316         Reviewed by Antti Koivisto.
2317
2318         Use the "closing_brace" at the end of font_face rather than the explicit "'}' maybe_space".
2319
2320         Test: fast/css/font-face-unexpected-end.html
2321
2322         * css/CSSGrammar.y:
2323
2324 2012-06-26  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2325
2326         [Qt] Add missing heades to HEADERS
2327
2328         For JavaScriptCore there aren't any Qt specific files, so we include all
2329         headers for easy editing in Qt Creator.
2330
2331         Reviewed by Simon Hausmann.
2332
2333         * Target.pri:
2334
2335 2012-06-27  Kentaro Hara  <haraken@chromium.org>
2336
2337         Rename Element::rareData() to Element::elementRareData(), and Element::ensureRareData() to Element::ensureElementRareData()
2338         https://bugs.webkit.org/show_bug.cgi?id=90050
2339
2340         Reviewed by Ryosuke Niwa.
2341
2342         Element::rareData()/Element::ensureRareData() and
2343         Node::rareData()/Node::ensureRareData() are confusing. They are not virtual
2344         methods. For clarification, we can rename Element::rareData() to
2345         Element::elementRareData(), and Element::ensureRareData() to
2346         Element::ensureElementRareData().
2347
2348         c.f. SVGRareData uses SVGElement::rareSVGData() and SVGElement::ensureRareSVGData().
2349         (We might want to rename them to SVGElement::svgRareData() and
2350         SVGElement::ensureSVGRareData() in a follow-up patch.)
2351
2352         No tests. No change in behavior.
2353
2354         * dom/Element.cpp:
2355         (WebCore::Element::~Element):
2356         (WebCore::Element::elementRareData):
2357         (WebCore::Element::ensureElementRareData):
2358         (WebCore::Element::attributes):
2359         (WebCore::Element::attach):
2360         (WebCore::Element::detach):
2361         (WebCore::Element::recalcStyle):
2362         (WebCore::Element::shadow):
2363         (WebCore::Element::ensureShadow):
2364         (WebCore::Element::shadowPseudoId):
2365         (WebCore::Element::setShadowPseudoId):
2366         (WebCore::Element::focus):
2367         (WebCore::Element::minimumSizeForResizing):
2368         (WebCore::Element::setMinimumSizeForResizing):
2369         (WebCore::Element::computedStyle):
2370         (WebCore::Element::setStyleAffectedByEmpty):
2371         (WebCore::Element::styleAffectedByEmpty):
2372         (WebCore::Element::cancelFocusAppearanceUpdate):
2373         (WebCore::Element::classList):
2374         (WebCore::Element::optionalClassList):
2375         (WebCore::Element::dataset):
2376         (WebCore::Element::containsFullScreenElement):
2377         (WebCore::Element::setContainsFullScreenElement):
2378         (WebCore::Element::hasNamedNodeMap):
2379         (WebCore::Element::ensureCachedHTMLCollection):
2380         (WebCore::Element::savedLayerScrollOffset):
2381         (WebCore::Element::setSavedLayerScrollOffset):
2382         * dom/Element.h:
2383         (Element):
2384         * html/LabelableElement.cpp:
2385         (WebCore::LabelableElement::labels):
2386
2387 2012-06-26  Dominic Cooney  <dominicc@chromium.org>
2388
2389         [Chromium] Remove unused build scripts and empty folders for JavaScriptCore w/ gyp
2390         https://bugs.webkit.org/show_bug.cgi?id=90029
2391
2392         * gyp: Removed empty dir.
2393
2394 2012-06-27  Sheriff Bot  <webkit.review.bot@gmail.com>
2395
2396         Unreviewed, rolling out r121271.
2397         http://trac.webkit.org/changeset/121271
2398         https://bugs.webkit.org/show_bug.cgi?id=90056
2399
2400         Broke a whole bunch of tests and also caused crashes in some
2401         tests (Requested by rniwa on #webkit).
2402
2403         * editing/Editor.cpp:
2404         (WebCore::Editor::markAndReplaceFor):
2405
2406 2012-06-27  Zan Dobersek  <zandobersek@gmail.com>
2407
2408         [Gtk] Add support for the Gamepad API
2409         https://bugs.webkit.org/show_bug.cgi?id=87503
2410
2411         Reviewed by Carlos Garcia Campos.
2412
2413         Add support for the Gamepad feature on the GTK port.
2414
2415         The support is available only on Linux, with each gamepad device being presented
2416         through a GamepadDeviceLinux object. The implementation of this class relies on
2417         the Linux kernel joystick API.
2418
2419         Gamepad devices are recognized through the GamepadsGtk class, of which implementation
2420         is based on GUdev. This way devices are properly registered on connection as objects of
2421         the GamepadDeviceGtk class which inherits GamepadDeviceLinux. GamepadDeviceGtk reads the
2422         joystick data through GIO pollable streams and updates the device state accordingly. The
2423         GamepadsGtk object is then polled for gamepads data through the sampleGamepads method.
2424
2425         No new tests - tests already exist but require additional testing infrastructure.
2426
2427         * GNUmakefile.am:
2428         * GNUmakefile.list.am:
2429         * bindings/gobject/GNUmakefile.am:
2430         * bindings/js/JSDOMBinding.h: Add the jsArray method that operates on a Vector of floats.
2431         (WebCore):
2432         (WebCore::jsArray):
2433         * platform/gtk/GamepadsGtk.cpp: Added.
2434         (WebCore):
2435         (GamepadDeviceGtk):
2436         (WebCore::GamepadDeviceGtk::create):
2437         (WebCore::GamepadDeviceGtk::GamepadDeviceGtk):
2438         (WebCore::GamepadDeviceGtk::~GamepadDeviceGtk):
2439         (WebCore::GamepadDeviceGtk::readCallback):
2440         (GamepadsGtk):
2441         (WebCore::GamepadsGtk::GamepadsGtk):
2442         (WebCore::GamepadsGtk::~GamepadsGtk):
2443         (WebCore::GamepadsGtk::registerDevice):
2444         (WebCore::GamepadsGtk::unregisterDevice):
2445         (WebCore::GamepadsGtk::updateGamepadList):
2446         (WebCore::GamepadsGtk::onUEventCallback):
2447         (WebCore::GamepadsGtk::isGamepadDevice):
2448         (WebCore::sampleGamepads):
2449         * platform/linux/GamepadDeviceLinux.cpp: Added.
2450         (WebCore):
2451         (WebCore::GamepadDeviceLinux::GamepadDeviceLinux):
2452         (WebCore::GamepadDeviceLinux::~GamepadDeviceLinux):
2453         (WebCore::GamepadDeviceLinux::updateForEvent):
2454         (WebCore::GamepadDeviceLinux::normalizeAxisValue):
2455         (WebCore::GamepadDeviceLinux::normalizeButtonValue):
2456         * platform/linux/GamepadDeviceLinux.h: Added.
2457         (WebCore):
2458         (GamepadDeviceLinux):
2459         (WebCore::GamepadDeviceLinux::connected):
2460         (WebCore::GamepadDeviceLinux::id):
2461         (WebCore::GamepadDeviceLinux::timestamp):
2462         (WebCore::GamepadDeviceLinux::axesCount):
2463         (WebCore::GamepadDeviceLinux::axesData):
2464         (WebCore::GamepadDeviceLinux::buttonsCount):
2465         (WebCore::GamepadDeviceLinux::buttonsData):
2466
2467 2012-06-27  Kentaro Hara  <haraken@chromium.org>
2468
2469         Rename rareSVGData() to svgRareData()
2470         https://bugs.webkit.org/show_bug.cgi?id=90051
2471
2472         Reviewed by Nikolas Zimmermann.
2473
2474         Since rareSVGData() returns SVGRareData, it would make sense to
2475         rename rareSVGData() to svgRareData(). Similarly, we can rename
2476         ensureRareSVGData() to ensureSVGRareData(), and hasRareSVGData()
2477         to hasSVGRareData().
2478
2479         c.f. bug 90050 is trying to introduce elementRareData() and
2480         ensureElementRareData().
2481
2482         No tests. No change in behavior.
2483
2484         * WebCore.order:
2485         * dom/Node.h:
2486         (WebCore::Node::hasSVGRareData):
2487         (WebCore::Node::setHasSVGRareData):
2488         (WebCore::Node::clearHasSVGRareData):
2489         * svg/SVGElement.cpp:
2490         (WebCore::SVGElement::~SVGElement):
2491         (WebCore::SVGElement::willRecalcStyle):
2492         (WebCore::SVGElement::svgRareData):
2493         (WebCore::SVGElement::ensureSVGRareData):
2494         (WebCore::SVGElement::mapInstanceToElement):
2495         (WebCore::SVGElement::removeInstanceMapping):
2496         (WebCore::SVGElement::instancesForElement):
2497         (WebCore::SVGElement::setCursorElement):
2498         (WebCore::SVGElement::cursorElementRemoved):
2499         (WebCore::SVGElement::setCursorImageValue):
2500         (WebCore::SVGElement::cursorImageValueRemoved):
2501         (WebCore::SVGElement::correspondingElement):
2502         (WebCore::SVGElement::setCorrespondingElement):
2503         (WebCore::SVGElement::animatedSMILStyleProperties):
2504         (WebCore::SVGElement::ensureAnimatedSMILStyleProperties):
2505         (WebCore::SVGElement::setUseOverrideComputedStyle):
2506         (WebCore::SVGElement::computedStyle):
2507         * svg/SVGElement.h:
2508         (SVGElement):
2509         * svg/SVGStyledElement.cpp:
2510         (WebCore::SVGStyledElement::instanceUpdatesBlocked):
2511         (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
2512         (WebCore::SVGStyledElement::hasPendingResources):
2513         (WebCore::SVGStyledElement::setHasPendingResources):
2514         (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible):
2515
2516 2012-06-27  Kentaro Hara  <haraken@chromium.org>
2517
2518         LabelableElement.cpp should include not ElementRareData.h but NodeRareData.h
2519         https://bugs.webkit.org/show_bug.cgi?id=90047
2520
2521         Reviewed by Kent Tamura.
2522
2523         This is a simple refactoring. What LabelableElement uses is
2524         not ElementRareData but NodeRareData.
2525
2526         No tests. No change in behavior.
2527
2528         * html/LabelableElement.cpp:
2529
2530 2012-06-27  Kentaro Hara  <haraken@chromium.org>
2531
2532         [V8] Refactor V8BindingPerIsolateData::current() and V8BindingPerIsolateData::get()
2533         https://bugs.webkit.org/show_bug.cgi?id=90044
2534
2535         Reviewed by Adam Barth.
2536
2537         'static_cast<V8BindingPerIsolateData*>(isolate->GetData())' is duplicated
2538         in V8BindingPerIsolateData::current() and V8BindingPerIsolateData::get().
2539         This patch removes the duplication.
2540
2541         No tests. No change in behavior.
2542
2543         * bindings/v8/V8Binding.h:
2544         (WebCore::V8BindingPerIsolateData::current):
2545
2546 2012-06-26  Yoshifumi Inoue  <yosin@chromium.org>
2547
2548         [Platform] Change implementation of LocaleICU class to support more UDateFormat.
2549         https://bugs.webkit.org/show_bug.cgi?id=89967
2550
2551         Reviewed by Kent Tamura.
2552
2553         This patch changes internal functions of LocaleICU class to process
2554         multiple ICU date time format handles in addition to short date time
2555         format handle.
2556
2557         This patch is a part of implementing input type time. I'll add time
2558         format related ICU date time format handles.
2559
2560         No new tests. This patch doesn't change behavior.
2561
2562         * platform/text/LocaleICU.cpp:
2563         (WebCore::LocaleICU::initializeShortDateFormat): Changed to use openDateFormat().
2564         (WebCore::LocaleICU::openDateFormat): Added for common usage of udt_open().
2565         (WebCore::getDateFormatPattern): Added for common usage of udt_toPattern().
2566         (WebCore::localizeFormat): Changed to take String parameter.
2567         (WebCore::LocaleICU::initializeLocalizedDateFormatText): Changed to use getDateFormatPattern.
2568         (WebCore::LocaleICU::createLabelVector): Changed to take UDateFormat parameter.
2569         (WebCore::LocaleICU::initializeCalendar): Changed for helper functions.
2570         * platform/text/LocaleICU.h:
2571         (LocaleICU):
2572
2573 2012-06-26  Luke Macpherson  <macpherson@chromium.org>
2574
2575         Return correct value for css variables enabled runtime flag.
2576         https://bugs.webkit.org/show_bug.cgi?id=90040
2577
2578         Reviewed by Dimitri Glazkov.
2579
2580         Was always returning true for the runtime flag when the compile time flag was on. That was good for testing,
2581         but not so much for production.
2582
2583         * page/Settings.h:
2584         (WebCore::Settings::cssVariablesEnabled):
2585
2586 2012-06-26  Xueqing Huang  <huangxueqing@baidu.com>
2587
2588         DragData::asFilenames should not push same file names to result in Windows.
2589         https://bugs.webkit.org/show_bug.cgi?id=79861
2590
2591         Reviewed by Alexey Proskuryakov.
2592
2593         Test: platform/win/fast/forms/file/drag-and-drop-files.html 
2594
2595         * platform/win/DragDataWin.cpp:
2596         (WebCore::DragData::asFilenames):
2597
2598 2012-06-26  Geoffrey Garen  <ggaren@apple.com>
2599
2600         Reduced (but did not eliminate) use of "berzerker GC"
2601         https://bugs.webkit.org/show_bug.cgi?id=89237
2602
2603         Reviewed by Gavin Barraclough.
2604
2605         (PART 2)
2606
2607         Don't ASSERT that RootObject's destructor runs and invalidates all
2608         RuntimeObjects before their destructors run.
2609
2610         We don't guarantee this behavior because some RuntimeObjects may already
2611         be garbage by the time RootObject's destructor runs, in which case
2612         RootObject's weak pointers will be NULL, and RootObject will not call
2613         invalidate() on them.
2614
2615         It's been theoretically possible for this ASSERT to fire for a while now.
2616         This patch makes it fire all the time.
2617
2618         Luckily, we only needed the behavior guarded by this ASSERT for WebKit1
2619         in Safari on Windows (cf. https://bugs.webkit.org/show_bug.cgi?id=61317),
2620         to handle the way WebKit1 would unload plugin DLLs. If this ever becomes
2621         an issue again, we can fix it by (a) not unloading plugin DLLs,
2622         (b) migrating WebKit1 to the WebKit2 JS-plugin binding model, (c) making
2623         the Instance pointer in a RuntimeObject an indirect pointer through
2624         RootObject, or (c) giving RuntimeObject some sort of special way to
2625         access a zombie weak pointer.
2626
2627         * bridge/runtime_object.cpp:
2628         (JSC::Bindings::RuntimeObject::destroy): ASSERT removed. Anders said so.
2629
2630 2012-06-26  Douglas Stockwell  <dstockwell@chromium.org>
2631
2632         REGRESSION(r107836): box shadow not drawn for opaque images with an opaque background
2633         https://bugs.webkit.org/show_bug.cgi?id=89958
2634
2635         Reviewed by Simon Fraser.
2636
2637         Don't attempt to draw the box shadow as part of the background if the background is
2638         obscured.
2639
2640         Test: fast/box-shadow/image-box-shadow.html
2641
2642         * rendering/RenderImage.cpp:
2643         (WebCore::RenderImage::boxShadowShouldBeAppliedToBackground):
2644         (WebCore):
2645         * rendering/RenderImage.h:
2646         (RenderImage):
2647
2648 2012-06-26  Nico Weber  <thakis@chromium.org>
2649
2650         Fix new Wunused-private-field violations that crept in
2651         https://bugs.webkit.org/show_bug.cgi?id=90032
2652
2653         Reviewed by Adam Barth.
2654
2655         * page/Performance.h:
2656         (Performance):
2657
2658 2012-06-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2659
2660         Change return type in bandwidth attribute of network information API
2661         https://bugs.webkit.org/show_bug.cgi?id=89959
2662
2663         Reviewed by Adam Barth.
2664
2665         According to network information API spec, bandwidth attribute should return double type.
2666         But, existing implementation has used *long* and *unsigned int* types.
2667
2668         No new tests. Covered by existing tests.
2669
2670         * Modules/networkinfo/NetworkInfo.cpp:
2671         (WebCore::NetworkInfo::NetworkInfo):
2672         * Modules/networkinfo/NetworkInfo.h:
2673         (WebCore::NetworkInfo::create):
2674         (WebCore::NetworkInfo::bandwidth):
2675         (NetworkInfo):
2676         * Modules/networkinfo/NetworkInfoClient.h:
2677         (NetworkInfoClient):
2678         * Modules/networkinfo/NetworkInfoConnection.cpp:
2679         (WebCore::NetworkInfoConnection::bandwidth):
2680         * Modules/networkinfo/NetworkInfoConnection.h:
2681         (NetworkInfoConnection):
2682         * testing/Internals.cpp:
2683         (WebCore::Internals::setNetworkInformation):
2684         * testing/Internals.h:
2685         (Internals):
2686         * testing/Internals.idl:
2687
2688 2012-06-26  Luke Macpherson  <macpherson@chromium.org>
2689
2690         Be careful not to read past the end of input in CSSParser::lex() when looking for variable definitions.
2691         https://bugs.webkit.org/show_bug.cgi?id=89949
2692
2693         Reviewed by Abhishek Arya.
2694
2695         Added repro case as fast/css/short-inline-style.html.
2696
2697         * css/CSSParser.cpp:
2698         (WebCore::CSSParser::lex):
2699
2700 2012-06-26  James Robinson  <jamesr@chromium.org>
2701
2702         [chromium] Remove WebView::graphicsContext3D getter
2703         https://bugs.webkit.org/show_bug.cgi?id=89916
2704
2705         Reviewed by Adrienne Walker.
2706
2707         Deletes code supporting compositor context getter.
2708
2709         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2710         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2711         (CCLayerTreeHost):
2712         * platform/graphics/chromium/cc/CCProxy.h:
2713         (CCProxy):
2714         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2715         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2716         (CCSingleThreadProxy):
2717         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2718         * platform/graphics/chromium/cc/CCThreadProxy.h:
2719         (CCThreadProxy):
2720
2721 2012-06-26  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
2722
2723         Unexpected element sizes when mixing inline-table with box-sizing
2724         https://bugs.webkit.org/show_bug.cgi?id=89819
2725
2726         Reviewed by Julien Chaffraix.
2727
2728         This change handles box-sizing: border-box property for CSS tables properly.
2729
2730         Test: fast/box-sizing/css-table-with-box-sizing.html
2731
2732         * rendering/RenderTable.cpp:
2733         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
2734         (WebCore::RenderTable::layout):
2735
2736 2012-06-26  Simon Fraser  <simon.fraser@apple.com>
2737
2738         Optimize mappings of simple transforms in RenderGeometryMap
2739         https://bugs.webkit.org/show_bug.cgi?id=90034
2740
2741         Reviewed by Dean Jackson.
2742         
2743         For transforms that are identity or simple translations, don't
2744         fall off the fast path in RenderGeometryMap; we can just
2745         treat them as offsets.
2746         
2747         Improves performance on pages with lots of translateZ(0) elements.
2748         
2749         Remove RenderGeometryMapStep::mapPoint() and mapQuad(), which
2750         were unused.
2751
2752         No new tests; optimization only, and tested by assertions.
2753
2754         * rendering/RenderGeometryMap.cpp:
2755         (WebCore::RenderGeometryMap::push):
2756
2757 2012-06-26  Kevin Ellis  <kevers@chromium.org>
2758
2759         Touch adjustment does not target shadow DOM elements
2760         https://bugs.webkit.org/show_bug.cgi?id=89556
2761
2762         The position of internal shadow-DOM nodes were not being considered
2763         when determining the snap position when TOUCH_ADJUSTMENT is enabled 
2764         for fine tuning the position of synthetic mouse events.  This 
2765         restriction results in not being able to select the calendar picker
2766         when input type=date, or to clear the search field for input 
2767         type=search.
2768
2769         Reviewed by Antonio Gomes.
2770
2771         Test: touchadjustment/nested-shadow-node.html
2772
2773         * page/EventHandler.cpp:
2774         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
2775
2776 2012-06-26  Ryosuke Niwa  <rniwa@webkit.org>
2777
2778         Stop calling node() and deprecatedEditingOffset() in comparePositions
2779         https://bugs.webkit.org/show_bug.cgi?id=54535
2780
2781         Reviewed by Enrica Casucci.
2782
2783         Replaced deprecatedNode() and deprecatedEditingOffset() by containerNode() and computeOffsetInContainerNode()
2784         in comparePositions().
2785         
2786         In addition, fixed a bunch of bugs in DeleteSelectionCommand::handleSpecialCaseBRDelete revealed by this change:
2787         - Use node after position instead of deprecated node in determinig whether start and end positions at a br.
2788         - Don't set m_startsAtEmptyLine true when BR is wrapped in a block element. The only reason this code had worked
2789         was positions like (div, offset, 0) and (br, before) in <div><br> were treated differently, which we no longer do.
2790
2791         * editing/DeleteSelectionCommand.cpp:
2792         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete):
2793         * editing/htmlediting.cpp:
2794         (WebCore::comparePositions):
2795
2796 2012-06-26  Christophe Dumez  <christophe.dumez@intel.com>
2797
2798         [EFL] Use eina_file_ls() in EFL implementation of FileSystem listDirectory()
2799         https://bugs.webkit.org/show_bug.cgi?id=89976
2800
2801         Reviewed by Antonio Gomes.
2802
2803         Rewrite EFL implementation of Filesystem listDirectory() in order to
2804         use eina_file_ls() instead of POSIX C functions. This results in
2805         shorter code.
2806
2807         No new tests, behavior has not changed.
2808
2809         * platform/efl/FileSystemEfl.cpp:
2810         (WebCore::listDirectory):
2811
2812 2012-06-26  Alice Cheng  <alice_cheng@apple.com>
2813
2814         Crash at WebCore::TextIterator::handleTextBox
2815         https://bugs.webkit.org/show_bug.cgi?id=89526
2816         <rdar://problem/10305315>
2817
2818         Reviewed by Darin Adler.
2819
2820         The range used for marking becomes invalid after SpellingCorrectionCommand, due to changes in the DOM made by ReplaceSelectionCommand. 
2821         This invalid range caused marking to be incorrect, and Mail.app to crash when iterating through the invalid range.  To fix this,
2822         recalculate the range for marking after SpellingCorrectionCommand.
2823
2824         Test: platform/mac/editing/spelling/autocorrection-blockquote-crash.html
2825
2826         * editing/AlternativeTextController.cpp:
2827         (WebCore::AlternativeTextController::applyAlternativeTextToRange):
2828         * editing/Editor.cpp:  (WebCore::Editor::markAndReplaceFor):
2829         * testing/Internals.cpp:
2830         (WebCore):
2831         (WebCore::Internals::hasAutocorrectedMarker):
2832         * testing/Internals.h: (Internals):
2833         * testing/Internals.idl:
2834
2835 2012-06-26  Tom Sepez  <tsepez@chromium.org>
2836
2837         [chromium] HTML5 audio/video tags - loading http content from https page doesn't trigger warning.
2838         https://bugs.webkit.org/show_bug.cgi?id=89906
2839
2840         Reviewed by Nate Chapin.
2841
2842         This patch treats mixed CachedRawResources as affecting the display of insecure content.
2843
2844         Tests: http/tests/security/mixedContent/insecure-audio-video-in-main-frame.html
2845                http/tests/security/mixedContent/insecure-xhr-in-main-frame.html
2846
2847         * loader/cache/CachedResourceLoader.cpp:
2848         (WebCore::CachedResourceLoader::checkInsecureContent):
2849
2850 2012-06-26  Joe Thomas  <joethomas@motorola.com>
2851
2852         background-size:0 shows as 1px instead of invisible
2853         https://bugs.webkit.org/show_bug.cgi?id=86942
2854
2855         Reviewed by Eric Seidel.
2856
2857         As per the specification http://www.w3.org/TR/css3-background/#background-size, if the background image's width or height resolves to zero,
2858         this causes the image not to be displayed. The effect should be the same as if it had been a transparent image.
2859         This is also mentioned in http://www.w3.org/TR/2002/WD-css3-background-20020802/#background-size.
2860
2861         Test: fast/backgrounds/zero-background-size.html
2862
2863         * rendering/RenderBoxModelObject.cpp:
2864         (WebCore::RenderBoxModelObject::calculateFillTileSize):
2865
2866 2012-06-26  Adam Klein  <adamk@chromium.org>
2867
2868         [v8] Clean up generated Dictionary-handling code
2869         https://bugs.webkit.org/show_bug.cgi?id=89994
2870
2871         Reviewed by Adam Barth.
2872
2873         No change in behavior, so no new tests.
2874
2875         * bindings/scripts/CodeGeneratorV8.pm:
2876         (GenerateParametersCheck):
2877         * bindings/scripts/test/V8/V8TestObj.cpp:
2878         (WebCore::TestObjV8Internal::optionsObjectCallback):
2879
2880 2012-06-26  Raymond Toy  <rtoy@google.com>
2881
2882         Include stdio.h when DEBUG_AUDIONODE_REFERENCES is set
2883         https://bugs.webkit.org/show_bug.cgi?id=89997
2884
2885         Reviewed by Eric Seidel.
2886
2887         No new tests needed for a compile issue
2888
2889         * Modules/webaudio/AudioNode.cpp:  Include stdio.h
2890
2891 2012-06-26  No'am Rosenthal  <noam.rosenthal@nokia.com>
2892
2893         [Qt] Use premultiplied alpha when extracting image data in WebGL
2894         https://bugs.webkit.org/show_bug.cgi?id=89937
2895
2896         Reviewed by Jocelyn Turcotte.
2897
2898         Perform conversion in QImage only if the image format is not ARGB32 or
2899         ARGB32_Premultiplied. Otherwise, allow packPixels to perform the conversion if the formats
2900         don't match, as packPixels already performs pixel-specific operations.
2901
2902         Covered by tests in LayoutTests/fast/canvas/webgl, e.g. webgl-composite-modes.html.
2903
2904         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2905         (WebCore::GraphicsContext3D::getImageData):
2906
2907 2012-06-26  Joshua Bell  <jsbell@chromium.org>
2908
2909         IndexedDB: Move method precondition checks to front end objects
2910         https://bugs.webkit.org/show_bug.cgi?id=89377
2911
2912         Reviewed by Tony Chang.
2913
2914         Now that metadata exists on the front end, most of the pre-condition validation checks
2915         done on IDB method calls from script can be moved to the front end which simplifies the
2916         code significantly in the case of complex methods like IDBObjectStore::put().
2917
2918         Adds an internal "active" flag for transactions, although the behavior is not accurate
2919         to the spec (it should only be true during event callbacks - http://webkit.org/b/89379).
2920         The back-end methods can then be simplifed to just adding async tasks to the transaction,
2921         and the front end methods can take care of all exception cases except for asynchronous
2922         transaction abort which still requires plumbing back to the front end.
2923
2924         No functional changes - no new tests.
2925
2926         * Modules/indexeddb/IDBCursor.cpp:
2927         (WebCore::IDBCursor::update): Migrate from IDBObjectStoreBackendImpl::put.
2928         (WebCore::IDBCursor::advance): Add more explicit transaction-is-active check.
2929         (WebCore::IDBCursor::continueFunction): Ditto.
2930         (WebCore::IDBCursor::deleteFunction): Ditto.
2931         (WebCore::IDBCursor::effectiveObjectStore): Convenience function (source may be store or index).
2932         (WebCore):
2933         * Modules/indexeddb/IDBCursor.h:
2934         (WebCore::IDBCursor::isKeyCursor): Distinguish from IDBCursorWithValue.
2935         (IDBCursor):
2936         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
2937         (WebCore::IDBCursorBackendImpl::update): Remove migrated check.
2938         * Modules/indexeddb/IDBCursorWithValue.h:
2939         (IDBCursorWithValue):
2940         * Modules/indexeddb/IDBDatabase.cpp: Migrate checks.
2941         (WebCore::IDBDatabase::createObjectStore):
2942         (WebCore::IDBDatabase::deleteObjectStore):
2943         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Replace checks with assertions.
2944         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
2945         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
2946         * Modules/indexeddb/IDBIndex.cpp: Add transaction-is-active checks.
2947         (WebCore::IDBIndex::openCursor):
2948         (WebCore::IDBIndex::count):
2949         (WebCore::IDBIndex::openKeyCursor):
2950         (WebCore::IDBIndex::get):
2951         (WebCore::IDBIndex::getKey):
2952         * Modules/indexeddb/IDBObjectStore.cpp: Migrate cehcks.
2953         (WebCore::IDBObjectStore::get):
2954         (WebCore::IDBObjectStore::add): Delegates to put(PutMode)
2955         (WebCore::IDBObjectStore::put): Delegates to put(PutMode)
2956         (WebCore): Adds put(PutMode) which has the unified checks migrated from
2957         IDBObjectStoreBackendImpl::put.
2958         (WebCore::IDBObjectStore::deleteFunction):
2959         (WebCore::IDBObjectStore::clear):
2960         (WebCore::IDBObjectStore::createIndex):
2961         (WebCore::IDBObjectStore::deleteIndex):
2962         (WebCore::IDBObjectStore::openCursor):
2963         (WebCore::IDBObjectStore::count):
2964         * Modules/indexeddb/IDBObjectStore.h: Adds put(PutMode).
2965         (IDBObjectStore):
2966         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2967         (WebCore::IDBObjectStoreBackendImpl::getInternal): Fix trace symbol.
2968         (WebCore::IDBObjectStoreBackendImpl::put): Remove migrated checks.
2969         (WebCore::IDBObjectStoreBackendImpl::createIndex): Remove migrated checks.
2970         (WebCore::IDBObjectStoreBackendImpl::deleteIndex): Remove migrated checks.
2971         * Modules/indexeddb/IDBTransaction.cpp: Add active flag tracking.
2972         (WebCore::IDBTransaction::IDBTransaction):
2973         (WebCore::IDBTransaction::abort):
2974         (WebCore::IDBTransaction::onAbort):
2975         (WebCore::IDBTransaction::onComplete):
2976         * Modules/indexeddb/IDBTransaction.h:
2977         (WebCore::IDBTransaction::isActive):
2978         (WebCore::IDBTransaction::isReadOnly): Group IDL/non-IDL methods.
2979         (IDBTransaction):
2980
2981 2012-06-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2982
2983         Unreviewed, rolling out r121285.
2984         http://trac.webkit.org/changeset/121285
2985         https://bugs.webkit.org/show_bug.cgi?id=90014
2986
2987         "We misinterpreted 'size of the initial containing block'"
2988         (Requested by tomz on #webkit).
2989
2990         * css/CSSCalculationValue.cpp:
2991         (WebCore::CSSCalcValue::computeLengthPx):
2992         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
2993         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
2994         (WebCore::CSSCalcBinaryOperation::toCalcValue):
2995         (WebCore::CSSCalcBinaryOperation::computeLengthPx):
2996         * css/CSSCalculationValue.h:
2997         (CSSCalcExpressionNode):
2998         (WebCore::CSSCalcValue::toCalcValue):
2999         (CSSCalcValue):
3000         * css/CSSGradientValue.cpp:
3001         (WebCore::CSSGradientValue::addStops):
3002         (WebCore::positionFromValue):
3003         (WebCore::CSSGradientValue::computeEndPoint):
3004         (WebCore::CSSLinearGradientValue::createGradient):
3005         (WebCore::CSSRadialGradientValue::resolveRadius):
3006         (WebCore::CSSRadialGradientValue::createGradient):
3007         * css/CSSGradientValue.h:
3008         (CSSGradientValue):
3009         (CSSRadialGradientValue):
3010         * css/CSSPrimitiveValue.cpp:
3011         (WebCore::CSSPrimitiveValue::computeLength):
3012         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3013         * css/CSSPrimitiveValue.h:
3014         (CSSPrimitiveValue):
3015         * css/CSSPrimitiveValueMappings.h:
3016         (WebCore::CSSPrimitiveValue::convertToLength):
3017         * css/CSSToStyleMap.cpp:
3018         (WebCore::CSSToStyleMap::mapFillSize):
3019         (WebCore::CSSToStyleMap::mapFillXPosition):
3020         (WebCore::CSSToStyleMap::mapFillYPosition):
3021         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
3022         * css/CSSToStyleMap.h:
3023         (CSSToStyleMap):
3024         * css/MediaQueryEvaluator.cpp:
3025         (WebCore::computeLength):
3026         (WebCore::device_heightMediaFeatureEval):
3027         (WebCore::device_widthMediaFeatureEval):
3028         (WebCore::heightMediaFeatureEval):
3029         (WebCore::widthMediaFeatureEval):
3030         * css/SVGCSSStyleSelector.cpp:
3031         (WebCore::StyleResolver::applySVGProperty):
3032         * css/StyleBuilder.cpp:
3033         (WebCore::ApplyPropertyAuto::applyValue):
3034         (WebCore::ApplyPropertyClip::convertToLength):
3035         (WebCore::ApplyPropertyLength::applyValue):
3036         (WebCore::ApplyPropertyBorderRadius::applyValue):
3037         (WebCore::ApplyPropertyComputeLength::applyValue):
3038         (WebCore::ApplyPropertyFontSize::applyValue):
3039         (WebCore::ApplyPropertyLineHeight::applyValue):
3040         (WebCore::ApplyPropertyPageSize::mmLength):
3041         (WebCore::ApplyPropertyPageSize::inchLength):
3042         (WebCore::ApplyPropertyPageSize::applyValue):
3043         (WebCore::ApplyPropertyVerticalAlign::applyValue):
3044         * css/StyleResolver.cpp:
3045         (WebCore::StyleResolver::collectMatchingRulesForList):
3046         * css/StyleResolver.h:
3047         (StyleResolver):
3048         * css/WebKitCSSMatrix.cpp:
3049         (WebCore::WebKitCSSMatrix::setMatrixValue):
3050
3051 2012-06-26  Dave Tu  <dtu@chromium.org>
3052
3053         [chromium] Expose rendering statistics to WebWidget.
3054         https://bugs.webkit.org/show_bug.cgi?id=88268
3055
3056         Reviewed by James Robinson.
3057
3058         The WebKit side of a basic framework for exposing rendering statistics
3059         to Chromium's --enable-benchmarking extension.
3060
3061         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3062         (WebCore::CCLayerTreeHost::implFrameNumber):
3063         * platform/graphics/chromium/cc/CCProxy.h:
3064         (CCProxy):
3065         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3066         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3067         (WebCore::CCThreadProxy::implFrameNumber):
3068         (WebCore):
3069         (WebCore::CCThreadProxy::implFrameNumberOnImplThread):
3070         * platform/graphics/chromium/cc/CCThreadProxy.h:
3071         (CCThreadProxy):
3072
3073 2012-06-26  Dave Tharp  <dtharp@codeaurora.org>
3074
3075         ietestcenter/css3/valuesandunits/units-000.htm asserts
3076         https://bugs.webkit.org/show_bug.cgi?id=86176
3077
3078         Reviewed by Beth Dakin.
3079
3080         Modified computeLengthDouble() to handle vh, vw, and vmin units. Per the spec
3081         (http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths) viewport -percentage
3082         lengths are "relative to the size of the initial containing block", which I read to be
3083         the size of the parent element. Since parentStyle was not available in computeLengthDouble,
3084         most of the changes for this patch involved "pushing down" the parentStyle pointer through
3085         the network of computeLength methods and dependencies.
3086
3087         Tests: css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-border.html
3088                css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-border.html
3089                css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-border.html
3090
3091         * css/CSSCalculationValue.cpp:
3092         (WebCore::CSSCalcValue::computeLengthPx):
3093         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
3094         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
3095         (WebCore::CSSCalcBinaryOperation::toCalcValue):
3096         (WebCore::CSSCalcBinaryOperation::computeLengthPx):
3097         * css/CSSCalculationValue.h:
3098         (CSSCalcExpressionNode):
3099         (WebCore::CSSCalcValue::toCalcValue):
3100         (CSSCalcValue):
3101         * css/CSSGradientValue.cpp:
3102         (WebCore::CSSGradientValue::addStops):
3103         (WebCore::positionFromValue):
3104         (WebCore::CSSGradientValue::computeEndPoint):
3105         (WebCore::CSSLinearGradientValue::createGradient):
3106         (WebCore::CSSRadialGradientValue::resolveRadius):
3107         (WebCore::CSSRadialGradientValue::createGradient):
3108         * css/CSSGradientValue.h:
3109         (CSSGradientValue):
3110         (CSSRadialGradientValue):
3111         * css/CSSPrimitiveValue.cpp:
3112         (WebCore::CSSPrimitiveValue::computeLength):
3113         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3114         * css/CSSPrimitiveValue.h:
3115         (CSSPrimitiveValue):
3116         * css/CSSPrimitiveValueMappings.h:
3117         (WebCore::CSSPrimitiveValue::convertToLength):
3118         * css/CSSToStyleMap.cpp:
3119         (WebCore::CSSToStyleMap::parentStyle):
3120         (WebCore):
3121         (WebCore::CSSToStyleMap::mapFillSize):
3122         (WebCore::CSSToStyleMap::mapFillXPosition):
3123         (WebCore::CSSToStyleMap::mapFillYPosition):
3124         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
3125         * css/CSSToStyleMap.h:
3126         (CSSToStyleMap):
3127         * css/MediaQueryEvaluator.cpp:
3128         (WebCore::computeLength):
3129         (WebCore::device_heightMediaFeatureEval):
3130         (WebCore::device_widthMediaFeatureEval):
3131         (WebCore::heightMediaFeatureEval):
3132         (WebCore::widthMediaFeatureEval):
3133         * css/SVGCSSStyleSelector.cpp:
3134         (WebCore::StyleResolver::applySVGProperty):
3135         * css/StyleBuilder.cpp:
3136         (WebCore::ApplyPropertyAuto::applyValue):
3137         (WebCore::ApplyPropertyClip::convertToLength):
3138         (WebCore::ApplyPropertyLength::applyValue):
3139         (WebCore::ApplyPropertyBorderRadius::applyValue):
3140         (WebCore::ApplyPropertyComputeLength::applyValue):
3141         (WebCore::ApplyPropertyFontSize::applyValue):
3142         (WebCore::ApplyPropertyLineHeight::applyValue):
3143         (WebCore::ApplyPropertyPageSize::mmLength):
3144         (WebCore::ApplyPropertyPageSize::inchLength):
3145         (WebCore::ApplyPropertyPageSize::applyValue):
3146         (WebCore::ApplyPropertyVerticalAlign::applyValue):
3147         * css/StyleResolver.cpp:
3148         (WebCore::StyleResolver::collectMatchingRulesForList):
3149         * css/StyleResolver.h:
3150         (WebCore::StyleResolver::parentNode):
3151         (StyleResolver):
3152         * css/WebKitCSSMatrix.cpp:
3153         (WebCore::WebKitCSSMatrix::setMatrixValue):
3154
3155 2012-06-25  James Robinson  <jamesr@chromium.org>
3156
3157         [chromium] Add WebLayer API for scrolling
3158         https://bugs.webkit.org/show_bug.cgi?id=89913
3159
3160         Reviewed by Adrienne Walker.
3161
3162         Use new WebScrollableLayer type in ScrollingCoordinatorChromium. This file peeks "under the hood" a fair amount
3163         since we don't have WebLayer API for scrollbar layers yet.
3164
3165         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
3166         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
3167         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
3168         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
3169         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
3170         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
3171         (ScrollingCoordinatorPrivate):
3172         (WebCore::createScrollbarLayer):
3173         (WebCore::ScrollingCoordinator::setScrollLayer):
3174         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
3175         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
3176         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
3177
3178 2012-06-26  James Robinson  <jamesr@chromium.org>
3179
3180         Unreviewed, rolling out r120501.
3181         http://trac.webkit.org/changeset/120501
3182         https://bugs.webkit.org/show_bug.cgi?id=89126
3183
3184         [skia] Fix is too heavy-handed
3185
3186         * platform/graphics/skia/ImageBufferSkia.cpp:
3187         (WebCore::drawNeedsCopy):
3188         * platform/graphics/skia/PlatformContextSkia.cpp:
3189         (WebCore::PlatformContextSkia::PlatformContextSkia):
3190         * platform/graphics/skia/PlatformContextSkia.h:
3191         (PlatformContextSkia):
3192         (WebCore::PlatformContextSkia::isDeferred):
3193         (WebCore::PlatformContextSkia::setDeferred):
3194
3195 2012-06-26  Julien Chaffraix  <jchaffraix@webkit.org>
3196
3197         Crash in FixedTableLayout::layout
3198         https://bugs.webkit.org/show_bug.cgi?id=88676
3199
3200         Unreviewed typo fix, pointed out by Darin Adler.
3201
3202         * rendering/AutoTableLayout.cpp:
3203         (WebCore::AutoTableLayout::layout):
3204         * rendering/FixedTableLayout.cpp:
3205         (WebCore::FixedTableLayout::layout):
3206
3207 2012-06-26  Adam Klein  <adamk@chromium.org>
3208
3209         MutationObserver.observe should treat a null or undefined options argument as empty
3210         https://bugs.webkit.org/show_bug.cgi?id=89992
3211
3212         Reviewed by Ojan Vafai.
3213
3214         The WebIDL spec was recently updated to treat null or undefined
3215         Dictionary arguments the same as the empty dictionary. This patch
3216         updates MutationObserver.observe to follow that spec.
3217
3218         Note that we still throw a SYNTAX_ERR in this case, since it's an
3219         error not to pass one of "attributes", "childList", or "characterData"
3220         as a key in the dictionary.
3221
3222         * dom/WebKitMutationObserver.cpp:
3223         (WebCore::WebKitMutationObserver::observe):
3224
3225 2012-06-26  Ian Vollick  <vollick@chromium.org>
3226
3227         [chromium] The single thread proxy should not automatically tick new animations.
3228         https://bugs.webkit.org/show_bug.cgi?id=89996
3229
3230         Reviewed by James Robinson.
3231
3232         No new tests. No change to existing functionality.
3233
3234         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3235         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
3236         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
3237         (WebCore::CCSingleThreadProxy::didAddAnimation):
3238         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3239         (WebCore):
3240
3241 2012-06-26  Julien Chaffraix  <jchaffraix@webkit.org>
3242
3243         Crash in FixedTableLayout::layout
3244         https://bugs.webkit.org/show_bug.cgi?id=88676
3245
3246         Reviewed by Abhishek Arya.
3247
3248         Tests: fast/table/auto-table-layout-colgroup-removal-crash.html
3249                fast/table/fixed-table-layout/colgroup-removal-crash.html
3250                fast/table/fixed-table-layout/prepend-in-fixed-table.html
3251
3252         The issue comes from RenderTable not properly dirtying its preferred logical
3253         widths. As the table layout codes (both fixed and auto), recomputes their internal
3254         structures at computePreferredLogicalWidth, the internal structure doesn't match
3255         the table sizing and we crash.
3256
3257         This fix adds a work-around in FixedTableLayout::layout (which matches AutoTableLayout).
3258         The long-term fix would be to properly fix the logic but this is a lot safer, especially
3259         since our logic is really not bullet-proof at the moment.
3260
3261         * rendering/FixedTableLayout.cpp:
3262         (WebCore::FixedTableLayout::layout):
3263         Added an internal structure recomputation, if we have drifted from our table's structure.
3264         Also we need to update nEffCols if we call calcWidthArray.
3265
3266         * rendering/AutoTableLayout.cpp:
3267         (WebCore::AutoTableLayout::layout):
3268         Added a comment matching FixedTableLayout. The nEffCols is unneeded but kept for consistency
3269         with FixedTableLayout.
3270
3271 2012-06-26  Ian Vollick  <vollick@chromium.org>
3272
3273         [chromium] Layer chromium should need a redraw after getting its first non-empty bounds.
3274         https://bugs.webkit.org/show_bug.cgi?id=89784
3275
3276         Reviewed by James Robinson.
3277
3278         Previously, we'd only set needs redraw if the old bounds were zero,
3279         and the new bounds were non-zero, but we should actually have 
3280         checked that the old bounds were non-empty.
3281
3282         Unit test: LayerChromiumTestWithoutFixture.setBoundsTriggersSetNeedsRedrawAfterGettingNonEmptyBounds
3283
3284         * platform/graphics/chromium/LayerChromium.cpp:
3285         (WebCore::LayerChromium::setBounds):
3286
3287 2012-06-26  Jia Pu  <jpu@apple.com>
3288
3289         On Mac, autocorrection sometimes fails to take place in Safari.
3290         https://bugs.webkit.org/show_bug.cgi?id=89982
3291
3292         Reviewed by Darin Adler.
3293
3294         Existing test was turned off due to intermittent failure, which is caused by autocorrection result depending on user data
3295         that may be altered by previous test runs. Hopefully we can turn the test back on once we have a way to make autocorrection
3296         behave consistently.
3297
3298         Basically we should check the value of shouldCheckForCorrection, not shouldShowCorrectionPanel, to determine if we should
3299         early return in markAndReplaceFor(). 
3300
3301         * editing/Editor.cpp:
3302         (WebCore::Editor::markAndReplaceFor):
3303
3304 2012-06-26  Joe Thomas  <joethomas@motorola.com>
3305
3306         Do early-return when author and user styles are disabled.
3307         https://bugs.webkit.org/show_bug.cgi?id=89947
3308
3309         Reviewed by Andreas Kling.
3310
3311         * dom/Document.cpp:
3312         (WebCore::Document::collectActiveStylesheets):
3313
3314 2012-06-26  James Robinson  <jamesr@chromium.org>
3315
3316         [chromium] Remove dead compositor-related API from GraphicsContext3DPrivate / Extensions3DChromium
3317         https://bugs.webkit.org/show_bug.cgi?id=89933
3318
3319         Reviewed by Kenneth Russell.
3320
3321         GraphicsContext3DPrivate and Extensions3DChromium had a fair amount of plumbing and boilerplate to support the
3322         compositor's use of GraphicsContext3D. A number of extensions, etc, only make sense for a compositor context.
3323         Since the compositor doesn't use GC3D any more, these are no longer needed.
3324
3325         * platform/chromium/support/Extensions3DChromium.cpp:
3326         * platform/chromium/support/GraphicsContext3DChromium.cpp:
3327         (WebCore::GraphicsContext3D::~GraphicsContext3D):
3328         (WebCore::GraphicsContext3D::create):
3329         * platform/chromium/support/GraphicsContext3DPrivate.cpp:
3330         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
3331         (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
3332         (WebCore::GrMemoryAllocationChangedCallbackAdapter::GrMemoryAllocationChangedCallbackAdapter):
3333         (WebCore::GraphicsContext3DPrivate::grContext):
3334         * platform/chromium/support/GraphicsContext3DPrivate.h:
3335         (WebCore):
3336         (GraphicsContext3DPrivate):
3337         * platform/graphics/chromium/Extensions3DChromium.h:
3338
3339 2012-06-26  Yasuhiro Matsuda  <mazda@chromium.org>
3340
3341         [chromium] Add the workaround of IOSurface-related corruption during readback on Mac OS X.
3342         https://bugs.webkit.org/show_bug.cgi?id=89797
3343
3344         Reviewed by James Robinson.
3345
3346         No new tests. This patch doesn't change behavior.
3347
3348         * platform/graphics/chromium/LayerRendererChromium.cpp:
3349         (WebCore::LayerRendererChromium::getFramebufferPixels):
3350
3351 2012-06-26  Alexei Filippov  <alexeif@chromium.org>
3352
3353         Web Inspector: Native memory snapshots crash in debug mode.
3354         https://bugs.webkit.org/show_bug.cgi?id=89977
3355
3356         Reviewed by Yury Semikhatsky.
3357
3358         * bindings/v8/V8DOMWrapper.cpp:
3359         (WebCore::V8DOMWrapper::maybeDOMWrapper):
3360
3361 2012-06-26  Huang Dongsung  <luxtella@company100.net>
3362
3363         [Texmap] Bug fix typo about computing bytesPerLine in BitmapTextureGL.
3364         https://bugs.webkit.org/show_bug.cgi?id=89924
3365
3366         "bytesPerLine == targetRect.width() / 4" is invalid.
3367         This patch amended it into "bytesPerLine == targetRect.width() * 4".
3368         Moreover, changed magic number 4 to bytesPerPixel.
3369
3370         Reviewed by Noam Rosenthal.
3371
3372         No new tests. Covered by existing tests.
3373
3374         * platform/graphics/texmap/TextureMapperGL.cpp:
3375         (WebCore::BitmapTextureGL::updateContents):
3376
3377 2012-06-26  Roland Takacs  <takacs.roland@stud.u-szeged.hu>
3378
3379         Shader compiler unprepared to make ESSL output when GLES is used
3380         https://bugs.webkit.org/show_bug.cgi?id=87718
3381
3382         Reviewed by Noam Rosenthal.
3383
3384         Defined a new member that says what type of output code must be generated
3385         (SH_GLSL_OUTPUT, SH_ESSL_OUTPUT). It is set within the constructor.
3386
3387         * platform/graphics/ANGLEWebKitBridge.cpp:
3388         (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
3389         (WebCore::ANGLEWebKitBridge::validateShaderSource):
3390         * platform/graphics/ANGLEWebKitBridge.h:
3391         (ANGLEWebKitBridge):
3392         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3393         (WebCore::GraphicsContext3D::GraphicsContext3D):
3394
3395 2012-06-26  Philip Rogers  <pdr@google.com>
3396
3397         Fix bug where animations failed to start
3398         https://bugs.webkit.org/show_bug.cgi?id=89943
3399
3400         Reviewed by Nikolas Zimmermann.
3401
3402         The unpause code previously checked that the animations had not started
3403         before un-setting the pause state. This meant that if an animation was
3404         paused and unpaused before the animations started, it would remain in the
3405         paused state. This patch simply reorders the unpause logic to fix this bug.
3406
3407         Test: svg/custom/animate-initial-pause-unpause.html
3408
3409         * svg/animation/SMILTimeContainer.cpp:
3410         (WebCore::SMILTimeContainer::resume):
3411
3412 2012-06-26  Yury Semikhatsky  <yurys@chromium.org>
3413
3414         Web Inspector: popover is not shown for detached DOM nodes, not referenced directly from JS
3415         https://bugs.webkit.org/show_bug.cgi?id=89955
3416
3417         Reviewed by Vsevolod Vlasov.
3418
3419         Show object popover for all heap snapshot nodes event for those whose
3420         canBeQueried flag is false. We didn't show popover for such objects before
3421         as it could lead to the backend crash. In the meantime the backend shouldn't
3422         fail on such DOM wrappers and report an error if it cannot resolve
3423         inspected object.
3424
3425         * inspector/front-end/HeapSnapshotGridNodes.js:
3426         (WebInspector.HeapSnapshotGenericObjectNode):
3427         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
3428         * inspector/front-end/HeapSnapshotView.js:
3429         (WebInspector.HeapSnapshotView.prototype._getHoverAnchor):
3430
3431 2012-06-26  Christophe Dumez  <christophe.dumez@intel.com>
3432
3433         [EFL] Simplify SharedBuffer::createWithContentsOfFile() implementation
3434         https://bugs.webkit.org/show_bug.cgi?id=89655
3435
3436         Reviewed by Csaba Osztrogonác.
3437
3438         Simplify the implementation of SharedBuffer::createWithContentsOfFile()
3439         in EFL port.
3440
3441         No new test, no behavior change.
3442
3443         * platform/efl/SharedBufferEfl.cpp:
3444         (WebCore::SharedBuffer::createWithContentsOfFile):
3445
3446 2012-06-26  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3447
3448         [EFL] REGRESSION (r121163): fast/frames/iframe-access-screen-of-deleted.html crashes
3449         https://bugs.webkit.org/show_bug.cgi?id=89964
3450
3451         Reviewed by Andreas Kling.
3452
3453         Added missing null pointer check.
3454
3455         * platform/efl/PlatformScreenEfl.cpp:
3456         (WebCore::screenDepth):
3457         (WebCore::screenDepthPerComponent):
3458
3459 2012-06-26  Taiju Tsuiki  <tzik@chromium.org>
3460
3461         Web Inspector: Add requestMetadata command and metadataReceived event to FileSystem
3462         https://bugs.webkit.org/show_bug.cgi?id=87856
3463
3464         Reviewed by Yury Semikhatsky.
3465
3466         Test: http/tests/inspector/filesystem/get-metadata.html
3467
3468         * inspector/Inspector.json:
3469         * inspector/InspectorFileSystemAgent.cpp:
3470         (WebCore):
3471         (WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
3472         (WebCore::InspectorFileSystemAgent::requestDirectoryContent):
3473         (WebCore::InspectorFileSystemAgent::requestMetadata):
3474         * inspector/InspectorFileSystemAgent.h:
3475         (InspectorFileSystemAgent):
3476         * inspector/front-end/FileSystemModel.js:
3477         (WebInspector.FileSystemModel.prototype._directoryContentReceived):
3478         (WebInspector.FileSystemModel.prototype.requestMetadata):
3479         (WebInspector.FileSystemModel.Entry.prototype.get isDirectory):
3480         (WebInspector.FileSystemModel.Entry.prototype.requestMetadata):
3481         (WebInspector.FileSystemRequestManager):
3482         (WebInspector.FileSystemRequestManager.prototype._directoryContentReceived):
3483         (WebInspector.FileSystemRequestManager.prototype.requestMetadata.requestAccepted):
3484         (WebInspector.FileSystemRequestManager.prototype.requestMetadata):
3485         (WebInspector.FileSystemRequestManager.prototype._metadataReceived):
3486         (WebInspector.FileSystemDispatcher.prototype.directoryContentReceived):
3487         (WebInspector.FileSystemDispatcher.prototype.metadataReceived):
3488
3489 2012-06-25  Jocelyn Turcotte  <turcotte.j@gmail.com>
3490
3491         [Qt] GraphicsSurface: Fix tile update artifacts on Mac
3492         https://bugs.webkit.org/show_bug.cgi?id=89887
3493
3494         Reviewed by Noam Rosenthal.
3495
3496         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
3497         (WebCore::GraphicsSurface::platformCopyToGLTexture):
3498
3499 2012-06-25  Jocelyn Turcotte  <turcotte.j@gmail.com>
3500
3501         GraphicsSurface: Fix IOSurfaceLock failures on Intel video cards.
3502         https://bugs.webkit.org/show_bug.cgi?id=89883
3503
3504         Reviewed by Noam Rosenthal.
3505
3506         Follow the documentation which says: "If locking the buffer requires a readback,
3507         the lock will fail with an error return of kIOReturnCannotLock."
3508         Also make sure that we use the same set of flags when locking and unlocking
3509         for simplicity and to follow this requirement on the kIOSurfaceLockReadOnly flag.
3510
3511         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
3512         (WebCore::GraphicsSurface::platformLock):
3513         (WebCore::GraphicsSurface::platformUnlock):
3514
3515 2012-06-26  Philip Rogers  <pdr@google.com>
3516
3517         Fix setCurrentTime for paused animations
3518         https://bugs.webkit.org/show_bug.cgi?id=81350
3519
3520         Reviewed by Nikolas Zimmermann.
3521
3522         SMILTimeContainer::setElapsed was not resetting the pause time, breaking
3523         setCurrentTime if the animation was paused.
3524
3525         Test: svg/custom/animate-pause-resume.html
3526
3527         * svg/animation/SMILTimeContainer.cpp:
3528         (WebCore::SMILTimeContainer::setElapsed):
3529
3530 2012-06-26  Csaba Osztrogonác  <ossy@webkit.org>
3531
3532         [Qt] Unreviewed typo fix after r121144.
3533
3534         * Target.pri:
3535
3536 2012-06-26  Yury Semikhatsky  <yurys@chromium.org>
3537
3538         Web Inspector: columns in heap snapshot summary view are not resizable
3539         https://bugs.webkit.org/show_bug.cgi?id=89952
3540
3541         Reviewed by Vsevolod Vlasov.
3542
3543         * inspector/front-end/HeapSnapshotDataGrids.js:
3544         (WebInspector.HeapSnapshotViewportDataGrid.prototype.onResize): overriden method
3545         should call overriden one to make sure column resizers are added to the DataGrid.
3546
3547 2012-06-26  Kent Tamura  <tkent@chromium.org>
3548
3549         Refactoring: Simplify FormController interface
3550         https://bugs.webkit.org/show_bug.cgi?id=89951
3551
3552         Reviewed by Kentaro Hara.
3553
3554         - Remove FormController::hasStateForNewFormElements()
3555           takeStateForFormElement() can check the emptiness, and return an empty
3556           FormControlState.
3557
3558         - Change the argument of takeStateForFormElement()
3559           Passing just one HTMLFormControlElementWithState object instead of two
3560           AtomicStringImpl. This is a preparation to use
3561           HTMLFormControlElementWithState::form() in FormController.
3562
3563         No new tests. Just a refactoring.
3564
3565         * html/FormController.cpp:
3566         (WebCore::FormController::takeStateForFormElement):
3567         * html/FormController.h:
3568         (FormController):
3569         * html/HTMLFormControlElementWithState.cpp:
3570         (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
3571
3572 2012-06-26  Dominic Cooney  <dominicc@chromium.org>
3573
3574         WheelEvent should inherit from MouseEvent
3575         https://bugs.webkit.org/show_bug.cgi?id=76104
3576
3577         Reviewed by Kentaro Hara.
3578
3579         The spec for WheelEvent is
3580         <http://www.w3.org/TR/DOM-Level-3-Events/#webidl-events-WheelEvent>
3581
3582         Tests: fast/events/event-creation.html
3583                http://samples.msdn.microsoft.com/ietestcenter/dominheritance/showdominheritancetest.htm?Prototype_WheelEvent
3584
3585         * bindings/objc/PublicDOMInterfaces.h: Remove redundant MouseEvent API from WheelEvent
3586         * bindings/scripts/CodeGeneratorObjC.pm: MouseEvents are Events
3587         * dom/MouseEvent.h: Expose no-arg constructor to WheelEvent
3588         * dom/WheelEvent.cpp:
3589         (WebCore::WheelEvent::WheelEvent): Call MouseEvent superconstructor
3590         (WebCore::WheelEvent::isMouseEvent): Existing callers use this just for
3591         moves and clicks, ie the type is exactly MouseEvent.
3592         * dom/WheelEvent.h: Extend MouseEvent
3593         * dom/WheelEvent.idl: "
3594
3595 2012-06-25  Ryosuke Niwa  <rniwa@webkit.org>
3596
3597         Get rid of firstItem and nextItem from HTMLCollection
3598         https://bugs.webkit.org/show_bug.cgi?id=89923
3599
3600         Reviewed by Andreas Kling.
3601
3602         Removed HTMLCollection::firstItem and HTMLCollection::nextItem.
3603         Also added hasAnyItem() and hasExactlyOneItem() to HTMLCollection so that named getter on Document
3604         doesn't need to compute the full length before returning a HTMLCollection.
3605
3606         * accessibility/AccessibilityRenderObject.cpp:
3607         (WebCore::AccessibilityRenderObject::getDocumentLinks):
3608         * bindings/js/JSDOMWindowCustom.cpp:
3609         (WebCore::namedItemGetter):
3610         * bindings/js/JSHTMLDocumentCustom.cpp:
3611         (WebCore::JSHTMLDocument::nameGetter):
3612         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3613         (WebCore::V8DOMWindow::namedPropertyGetter):
3614         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3615         (WebCore::V8HTMLDocument::GetNamedProperty):
3616         * dom/Document.cpp:
3617         (WebCore::Document::openSearchDescriptionURL):
3618         * html/HTMLCollection.cpp:
3619         (WebCore::shouldIncludeChildren):
3620         (WebCore::HTMLCollection::HTMLCollection):
3621         (WebCore):
3622         (WebCore::HTMLCollection::item):
3623         * html/HTMLCollection.h:
3624         (HTMLCollection):
3625         (WebCore::HTMLCollection::hasAnyItem):
3626         (WebCore::HTMLCollection::hasExactlyOneItem):
3627         * html/HTMLMapElement.cpp:
3628         (WebCore::HTMLMapElement::imageElement):
3629
3630 2012-06-25  Pratik Solanki  <psolanki@apple.com>
3631
3632         JavaScript resources have low priority when SVG is enabled
3633         https://bugs.webkit.org/show_bug.cgi?id=89932
3634         <rdar://problem/11741325>
3635
3636         Reviewed by Adele Peterson.
3637
3638         r108785 inadvertently lowered the priority of JavaScript resources. Fix the code so we set
3639         the correct priority for scripts. Also, move the code so that all ifdefs are together at the
3640         bottom to make it a bit easier to read..
3641
3642         * loader/cache/CachedResource.cpp:
3643         (WebCore::defaultPriorityForResourceType):
3644
3645 2012-06-25  Luke Macpherson  <macpherson@chromium.org>
3646
3647         Add runtime flag to enable/disable CSS variables (in addition to existing compile-time flag).
3648         https://bugs.webkit.org/show_bug.cgi?id=89542
3649
3650         Reviewed by Dimitri Glazkov.
3651
3652         Added fast/css/variables/build-supports-variables.html to test runtime flag in test environment.
3653         Updated all other css variables tests to enable the runtime flag from JS.
3654
3655         * css/CSSParser.cpp:
3656         (WebCore::CSSParserContext::CSSParserContext):
3657         (WebCore::operator==):
3658         (WebCore::CSSParser::cssVariablesEnabled):
3659         (WebCore):
3660         (WebCore::CSSParser::detectDashToken):
3661         (WebCore::CSSParser::lex):
3662         * css/CSSParser.h:
3663         (CSSParser):
3664         * css/CSSParserMode.h:
3665         (CSSParserContext):
3666         * page/Settings.h:
3667         (Settings):
3668         (WebCore::Settings::setCSSVariablesEnabled):
3669         (WebCore::Settings::cssVariablesEnabled):
3670
3671 2012-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
3672
3673         Unreviewed build fix after r121223.
3674
3675         Fix the --minimal Qt build, TextureMapperGL now requires WebGL to be enabled.
3676
3677         * Target.pri:
3678         * WebCore.pri:
3679
3680 2012-06-25  Dana Jansens  <danakj@chromium.org>
3681
3682         [chromium] CCOverdrawMetrics should use the deviceViewportSize to count actual pixels
3683         https://bugs.webkit.org/show_bug.cgi?id=89922
3684
3685         Reviewed by Adrienne Walker.
3686
3687         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
3688         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
3689
3690 2012-06-25  Huang Dongsung  <luxtella@company100.net>
3691
3692         [Texmap] Remove platform specific code in BitmapImageGL::updateContents by using
3693         GraphicsContext3D::extractImageData.
3694         https://bugs.webkit.org/show_bug.cgi?id=89867
3695
3696         Reviewed by Noam Rosenthal.
3697
3698         No new tests. Covered by existing tests.
3699
3700         * platform/graphics/texmap/TextureMapperGL.cpp:
3701         (WebCore):
3702         (WebCore::BitmapTextureGL::didReset):
3703         (WebCore::BitmapTextureGL::updateContents):
3704
3705 2012-06-25  James Robinson  <jamesr@chromium.org>
3706
3707         [chromium] Remove uncalled ManagedTexture::framebufferTexture2D
3708         https://bugs.webkit.org/show_bug.cgi?id=89930
3709
3710         Reviewed by Adrienne Walker.
3711
3712         Removing dead code.
3713
3714         * platform/graphics/chromium/ManagedTexture.cpp:
3715         * platform/graphics/chromium/ManagedTexture.h:
3716         (ManagedTexture):
3717
3718 2012-06-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3719
3720         Unreviewed, rolling out r121206.
3721         http://trac.webkit.org/changeset/121206
3722         https://bugs.webkit.org/show_bug.cgi?id=89935
3723
3724         [chromium] webkit_unit_tests
3725         WebViewTest.MHTMLWithMissingResourceFinishesLoading crash
3726         (Requested by ukai on #webkit).
3727
3728         * loader/DocumentLoader.cpp:
3729         (WebCore::DocumentLoader::scheduleArchiveLoad):
3730
3731 2012-06-25  Anantanarayanan G Iyengar  <ananta@chromium.org>
3732
3733         [chromium] Ensure that the compositor code which is aware of flipped status of video-textures
3734         per platform executes on Windows.
3735         https://bugs.webkit.org/show_bug.cgi?id=89914
3736         
3737         Reviewed by James Robinson.
3738
3739         No new tests. (HW video decode is still only being tested manually for orientation)
3740
3741         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3742         (WebCore::CCVideoLayerImpl::appendQuads):
3743
3744 2012-06-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3745
3746         Unreviewed, rolling out r121176.
3747         http://trac.webkit.org/changeset/121176
3748         https://bugs.webkit.org/show_bug.cgi?id=89934
3749
3750         [chromium] browser_tests assert failed:
3751         FATAL:native_theme_win.cc(1541)] Check failed: false. Invalid
3752         part: 16 (Requested by ukai on #webkit).
3753
3754         * platform/chromium/PlatformSupport.h:
3755         (PlatformSupport):
3756         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3757         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
3758
3759 2012-06-25  Shinya Kawanaka  <shinyak@chromium.org>
3760
3761         [Shadow] Deleting list distributed to Shadow DOM does not work correctly.
3762         https://bugs.webkit.org/show_bug.cgi?id=89170
3763
3764         Reviewed by Ryosuke Niwa.
3765
3766         When deleting several elements distributed to Shadow DOM, some renderers might be gone in
3767         processing deletion. To fix them, we should call isContentEditable() instead of rendererIsEditable().
3768
3769         Test: editing/shadow/delete-list-in-shadow.html
3770
3771         * editing/DeleteFromTextNodeCommand.cpp:
3772         (WebCore::DeleteFromTextNodeCommand::doApply):
3773
3774 2012-06-25  Min Qin  <qinmin@chromium.org>
3775
3776         [Chromium] Fix the css stylesheet for android media controls after recent changes
3777         https://bugs.webkit.org/show_bug.cgi?id=89910
3778
3779         Reviewed by Adam Barth.
3780
3781         After the recent changes on upstream chrome video controls, we need to change the css style sheet for chrome on android.
3782         No tests needed, just css changes.
3783
3784         * css/mediaControlsChromiumAndroid.css:
3785         (audio):
3786         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
3787         (::-webkit-media-controls):
3788         (audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
3789         (video::-webkit-media-controls-enclosure):
3790         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
3791         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
3792         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
3793         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
3794         (video::-webkit-media-controls-fullscreen-button):
3795         (input[type="range"]::-webkit-media-slider-container):
3796         (input[type="range"]::-webkit-media-slider-thumb):
3797         (audio::-webkit-media-controls-fullscreen-button):
3798
3799 2012-06-25  Huang Dongsung  <luxtella@company100.net>
3800
3801         [Qt] Avoid a deep copy of QImage in GraphicsContext3D::getImageData.
3802         https://bugs.webkit.org/show_bug.cgi?id=89865
3803
3804         Reviewed by Noam Rosenthal.
3805
3806         No new tests. Covered by existing tests.
3807
3808         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3809         (WebCore::GraphicsContext3D::getImageData):
3810
3811 2012-06-25  Nick Carter  <nick@chromium.org>
3812
3813         Reduce memory footprint of BitmapImage Vectors.
3814         https://bugs.webkit.org/show_bug.cgi?id=86563
3815
3816         Reviewed by Simon Fraser.
3817
3818         No new tests, affects template params only.
3819
3820         * platform/graphics/BitmapImage.h:
3821         (BitmapImage): use an inline capacity of 1 for the image frame Vector 
3822         * platform/image-decoders/ImageDecoder.h:
3823         (ImageDecoder): use an inline capacity of 1 for the image frame Vector
3824
3825 2012-06-25  Kent Tamura  <tkent@chromium.org>
3826
3827         Unreviewed, rolling out r121145.
3828         http://trac.webkit.org/changeset/121145
3829         https://bugs.webkit.org/show_bug.cgi?id=89847
3830
3831         Had an objection for the change.
3832
3833         * html/FormController.cpp:
3834         (WebCore):
3835         (WebCore::FormControlState::serializeTo):
3836         (WebCore::FormControlState::deserialize):
3837         (WebCore::formStateSignature):
3838         (WebCore::FormController::formElementsState):
3839         (WebCore::FormController::setStateForNewFormElements):
3840         * html/FormController.h:
3841         (FormControlState):
3842         * html/shadow/CalendarPickerElement.cpp:
3843         (WebCore::addJavaScriptString):
3844
3845 2012-06-25  Jay Civelli  <jcivelli@chromium.org>
3846
3847         Fix progress load reporting for MHTML documents.
3848
3849         MHTML documents containing references to resources they don't include
3850         never finish loading.
3851         https://bugs.webkit.org/show_bug.cgi?id=71859
3852
3853         Reviewed by Nate Chapin.
3854
3855         * loader/DocumentLoader.cpp:
3856         (WebCore::DocumentLoader::scheduleArchiveLoad):
3857
3858 2012-06-25  James Robinson  <jamesr@chromium.org>
3859
3860         [chromium] Use WebGraphicsContext3D in compositor implementation
3861         https://bugs.webkit.org/show_bug.cgi?id=89700
3862
3863         Reviewed by Adrienne Walker.
3864
3865         This converts the compositor implementation from using WebCore::GraphicsContext3D to using the Platform-provided
3866         WebGraphicsContext3D. This removes several unnecessary layers of indirection/wrapping and cuts down the
3867         compositor's implementation dependencies. GraphicsContext3D.h is still widely used to provide GL enum values.
3868         Most of the changes are purely mechanical - changing type names and the like.
3869
3870         Ownership is changed a bit. Instead of multiple components holding references to the compositor's context, the
3871         context is now owned by the CCGraphicsContext, which is now owned directly by CCLayerTreeHostImpl.
3872         CCLayerTreeHostImpl also has ownership of its CCRenderer (LayerRendererChromium in 3D mode) and passes a
3873         non-owning pointer down to the CCRenderer.
3874
3875         Extension checking is a bit different. The compositor does not (and never has) used extensions provided by
3876         WebGL's request/ensure mechanism. It simply checks for the existence of extensions it needs in the GL_EXTENSIONS
3877         string.
3878
3879         FrameBufferSkPictureCanvasLayerTextureUpdater had to be patched as well, since it was grabbing a GrContext off
3880         of the compositor's GraphicsContext3D. This caused many problems. It was inefficient, since it required a full
3881         state flush when switching between ganesh and compositor calls. The gpu memory management was completely broken
3882         since the compositor clobbered ganesh's onMemoryAllocationChanged callback. This moves FBSkPCLTU over to using
3883         the appropriate SharedGraphicsContext3D, like filters.
3884
3885         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
3886         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
3887         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
3888         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
3889         (FrameBufferSkPictureCanvasLayerTextureUpdater):
3890         * platform/graphics/chromium/GeometryBinding.cpp:
3891         (WebCore::GeometryBinding::GeometryBinding):
3892         * platform/graphics/chromium/GeometryBinding.h:
3893         (WebKit):
3894         (GeometryBinding):
3895         (WebCore::GeometryBinding::context):
3896         * platform/graphics/chromium/LayerRendererChromium.cpp:
3897         (WebCore::LayerRendererChromium::create):
3898         (WebCore::LayerRendererChromium::LayerRendererChromium):
3899         (WebCore::LayerRendererChromium::initialize):
3900         (WebCore::LayerRendererChromium::~LayerRendererChromium):
3901         (WebCore::LayerRendererChromium::context):
3902         (WebCore::LayerRendererChromium::debugGLCall):
3903         (WebCore::LayerRendererChromium::setVisible):
3904         (WebCore::LayerRendererChromium::drawStreamVideoQuad):
3905         (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
3906         (WebCore::LayerRendererChromium::swapBuffers):
3907         (WebCore::LayerRendererChromium::onMemoryAllocationChanged):
3908         (WebCore):
3909         (WebCore::LayerRendererChromium::onMemoryAllocationChangedOnImplThread):
3910         (WebCore::LayerRendererChromium::discardFramebuffer):
3911         (WebCore::LayerRendererChromium::ensureFramebuffer):
3912         (WebCore::LayerRendererChromium::onContextLost):
3913         (WebCore::LayerRendererChromium::getFramebufferPixels):
3914         (WebCore::LayerRendererChromium::getFramebufferTexture):
3915         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
3916         (WebCore::LayerRendererChromium::initializeSharedObjects):
3917         (WebCore::LayerRendererChromium::tileCheckerboardProgram):
3918         (WebCore::LayerRendererChromium::solidColorProgram):
3919         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
3920         (WebCore::LayerRendererChromium::renderPassProgram):
3921         (WebCore::LayerRendererChromium::renderPassProgramAA):
3922         (WebCore::LayerRendererChromium::renderPassMaskProgram):
3923         (WebCore::LayerRendererChromium::renderPassMaskProgramAA):
3924         (WebCore::LayerRendererChromium::tileProgram):
3925         (WebCore::LayerRendererChromium::tileProgramOpaque):
3926         (WebCore::LayerRendererChromium::tileProgramAA):
3927         (WebCore::LayerRendererChromium::tileProgramSwizzle):
3928         (WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
3929         (WebCore::LayerRendererChromium::tileProgramSwizzleAA):
3930         (WebCore::LayerRendererChromium::textureProgram):
3931         (WebCore::LayerRendererChromium::textureProgramFlip):
3932         (WebCore::LayerRendererChromium::textureIOSurfaceProgram):
3933         (WebCore::LayerRendererChromium::videoYUVProgram):
3934         (WebCore::LayerRendererChromium::videoStreamTextureProgram):
3935         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3936         (WebCore::LayerRendererChromium::isContextLost):
3937         * platform/graphics/chromium/LayerRendererChromium.h:
3938         (WebKit):
3939         (WebCore):
3940         (LayerRendererChromium):
3941         (WebCore::LayerRendererChromium::isFramebufferDiscarded):
3942         * platform/graphics/chromium/LayerTextureSubImage.cpp:
3943         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
3944         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
3945         * platform/graphics/chromium/ManagedTexture.cpp:
3946         (WebCore::ManagedTexture::bindTexture):
3947         (WebCore::ManagedTexture::framebufferTexture2D):
3948         * platform/graphics/chromium/PlatformColor.h:
3949         (WebCore::PlatformColor::bestTextureFormat):
3950         * platform/graphics/chromium/ProgramBinding.cpp:
3951         (WebCore::contextLost):
3952         (WebCore::ProgramBindingBase::init):
3953         (WebCore::ProgramBindingBase::cleanup):
3954         (WebCore::ProgramBindingBase::loadShader):
3955         (WebCore::ProgramBindingBase::createShaderProgram):
3956         * platform/graphics/chromium/ProgramBinding.h:
3957         (WebKit):
3958         (ProgramBindingBase):
3959         (WebCore::ProgramBinding::ProgramBinding):
3960         (WebCore::ProgramBinding::initialize):
3961         * platform/graphics/chromium/ShaderChromium.cpp:
3962         (WebCore::VertexShaderPosTex::init):
3963         (WebCore::VertexShaderPosTexYUVStretch::init):
3964         (WebCore::VertexShaderPos::init):
3965         (WebCore::VertexShaderPosTexTransform::init):
3966         (WebCore::VertexShaderQuad::init):
3967         (WebCore::VertexShaderTile::init):
3968         (WebCore::VertexShaderVideoTransform::init):
3969         (WebCore::FragmentTexAlphaBinding::init):
3970         (WebCore::FragmentTexOpaqueBinding::init):
3971         (WebCore::FragmentShaderOESImageExternal::init):
3972         (WebCore::FragmentShaderRGBATexAlphaAA::init):
3973         (WebCore::FragmentTexClampAlphaAABinding::init):
3974         (WebCore::FragmentShaderRGBATexAlphaMask::init):
3975         (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
3976         (WebCore::FragmentShaderYUVVideo::init):
3977         (WebCore::FragmentShaderColor::init):
3978         (WebCore::FragmentShaderCheckerboard::init):
3979         * platform/graphics/chromium/ShaderChromium.h:
3980         (WebKit):
3981         (VertexShaderPosTex):
3982         (VertexShaderPosTexYUVStretch):
3983         (VertexShaderPos):
3984         (WebCore::VertexShaderPosTexIdentity::init):
3985         (VertexShaderPosTexTransform):
3986         (VertexShaderQuad):
3987         (VertexShaderTile):
3988         (VertexShaderVideoTransform):
3989         (FragmentTexAlphaBinding):
3990         (FragmentTexOpaqueBinding):
3991         (FragmentShaderOESImageExternal):
3992         (FragmentShaderRGBATexAlphaAA):
3993         (FragmentTexClampAlphaAABinding):
3994         (FragmentShaderRGBATexAlphaMask):
3995         (FragmentShaderRGBATexAlphaMaskAA):
3996         (FragmentShaderYUVVideo):
3997         (FragmentShaderColor):
3998         (FragmentShaderCheckerboard):
3999         * platform/graphics/chromium/TextureCopier.cpp:
4000         (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
4001         (WebCore::AcceleratedTextureCopier::~AcceleratedTextureCopier):
4002         (WebCore::AcceleratedTextureCopier::copyTexture):
4003         * platform/graphics/chromium/TextureCopier.h:
4004         (WebKit):
4005         (WebCore):
4006         (WebCore::AcceleratedTextureCopier::create):
4007         (AcceleratedTextureCopier):
4008         * platform/graphics/chromium/TextureManager.h:
4009         * platform/graphics/chromium/ThrottledTextureUploader.cpp:
4010         (WebCore::ThrottledTextureUploader::Query::Query):
4011         (WebCore::ThrottledTextureUploader::Query::~Query):
4012         (WebCore::ThrottledTextureUploader::Query::begin):
4013         (WebCore::ThrottledTextureUploader::Query::end):
4014         (WebCore::ThrottledTextureUploader::Query::isPending):
4015         (WebCore::ThrottledTextureUploader::Query::wait):
4016         (WebCore::ThrottledTextureUploader::ThrottledTextureUploader):
4017         * platform/graphics/chromium/ThrottledTextureUploader.h:
4018         (WebKit):
4019         (WebCore::ThrottledTextureUploader::create):
4020         (WebCore::ThrottledTextureUploader::Query::create):
4021         (Query):
4022         (ThrottledTextureUploader):
4023         * platform/graphics/chromium/TrackingTextureAllocator.cpp:
4024         (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
4025         (WebCore::TrackingTextureAllocator::createTexture):
4026         (WebCore::TrackingTextureAllocator::deleteTexture):
4027         (WebCore::TrackingTextureAllocator::deleteAllTextures):
4028         * platform/graphics/chromium/TrackingTextureAllocator.h:
4029         (WebKit):
4030         (WebCore::TrackingTextureAllocator::create):
4031         (TrackingTextureAllocator):
4032         * platform/graphics/chromium/cc/CCGraphicsContext.h:
4033         (CCGraphicsContext):
4034         (WebCore::CCGraphicsContext::create2D):
4035         (WebCore::CCGraphicsContext::create3D):
4036         (WebCore::CCGraphicsContext::context3D):
4037         (WebCore::CCGraphicsContext::CCGraphicsContext):
4038         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
4039         (WebCore::CCHeadsUpDisplay::draw):
4040         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
4041         (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
4042         (WebCore::CCIOSurfaceLayerImpl::willDraw):
4043         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
4044         (WebCore::CCLayerTreeHost::createContext):
4045         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
4046         (CCLayerTreeHostClient):
4047         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
4048         (LayerRendererCapabilities):
4049         (WebCore::CCLayerTreeHost::needsSharedContext):
4050         (CCLayerTreeHost):
4051         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
4052         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
4053         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
4054         (CCLayerTreeHostImpl):
4055         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
4056         (WebCore::CCSingleThreadProxy::initializeContext):
4057         (WebCore::CCSingleThreadProxy::recreateContext):
4058         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
4059         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
4060         (WebCore::CCTextureUpdater::update):
4061         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
4062         (WebCore::CCThreadProxy::initializeContext):
4063         (WebCore::CCThreadProxy::recreateContext):
4064         (WebCore::CCThreadProxy::beginFrame):
4065         (WebCore::CCThreadProxy::initializeContextOnImplThread):
4066         (WebCore::CCThreadProxy::recreateContextOnImplThread):
4067         * platform/graphics/chromium/cc/CCThreadProxy.h:
4068         (CCThreadProxy):
4069         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
4070         (WebCore::CCVideoLayerImpl::FramePlane::allocateData):
4071         (WebCore::CCVideoLayerImpl::FramePlane::freeData):
4072         (WebCore::CCVideoLayerImpl::copyPlaneData):
4073
4074 2012-06-25  Adrienne Walker  <enne@google.com>
4075