Unreviewed build fix after http://trac.webkit.org/changeset/124975
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-07  Hayato Ito  <hayato@chromium.org>
2
3         Unreviewed build fix after http://trac.webkit.org/changeset/124975
4
5         Remove assertion introduced in r124975.
6
7         * dom/EventDispatcher.cpp:
8         (WebCore::EventDispatcher::EventDispatcher):
9         (WebCore::EventDispatcher::dispatchEvent):
10         * dom/EventDispatcher.h:
11         (EventDispatcher):
12
13 2012-08-07  Sheriff Bot  <webkit.review.bot@gmail.com>
14
15         Unreviewed, rolling out r124969.
16         http://trac.webkit.org/changeset/124969
17         https://bugs.webkit.org/show_bug.cgi?id=93436
18
19         Causes assertion failure in RenderQueue (Requested by toyoshim
20         on #webkit).
21
22         * rendering/RenderObjectChildList.cpp:
23         (WebCore::RenderObjectChildList::removeChildNode):
24         (WebCore::RenderObjectChildList::appendChildNode):
25         (WebCore::RenderObjectChildList::insertChildNode):
26         * rendering/RenderQuote.cpp:
27         (WebCore::adjustDepth):
28         (WebCore::RenderQuote::RenderQuote):
29         (WebCore::RenderQuote::~RenderQuote):
30         (WebCore::RenderQuote::willBeDestroyed):
31         (WebCore::RenderQuote::renderName):
32         (WebCore):
33         (WebCore::RenderQuote::placeQuote):
34         (WebCore::RenderQuote::originalText):
35         (WebCore::RenderQuote::computePreferredLogicalWidths):
36         (WebCore::RenderQuote::rendererSubtreeAttached):
37         (WebCore::RenderQuote::rendererRemovedFromTree):
38         (WebCore::RenderQuote::styleDidChange):
39         * rendering/RenderQuote.h:
40         (RenderQuote):
41         (WebCore::RenderQuote::isQuote):
42         * rendering/RenderView.cpp:
43         (WebCore::RenderView::RenderView):
44         * rendering/RenderView.h:
45         (WebCore):
46         (RenderView):
47         (WebCore::RenderView::addRenderQuote):
48         (WebCore::RenderView::removeRenderQuote):
49         (WebCore::RenderView::hasRenderQuotes):
50         * rendering/style/RenderStyle.cpp:
51         (WebCore::RenderStyle::diff):
52
53 2012-08-07  Kentaro Hara  <haraken@chromium.org>
54
55         Optimize ChildNode{Insertion,Removal}Notifier::notify() by lazily taking a snapshot of child nodes
56         https://bugs.webkit.org/show_bug.cgi?id=92965
57
58         Reviewed by Adam Barth.
59
60         This patch improves performance of Dromaeo/dom-modify by 8.2% in both Chromium and Safari.
61
62         [Mac/Safari]     4590.33 runs/s  =>  4965.79 runs/s  (+8.18%)
63         [Chromium/Linux] 3970.63 runs/s  =>  4299.65 runs/s  (+8.29%)
64
65         notifyDescendantRemovedFromDocument() cannot iterate child nodes in this way:
66
67         void notifyDescendantRemovedFromDocument(Node* node) {
68             for (Node* child = node->firstChild(); child; child = child->nextSibling()) {
69                 ...;
70                 notifyNodeRemovedFromDocument(child);
71             }
72         }
73
74         This is because notifyNodeRemovedFromDocument(child) might dispatch events
75         and the events might change child trees. To avoid security issues, the current
76         code takes a snapshot of child nodes before starting the iteration.
77
78         void notifyDescendantRemovedFromDocument(Node* node) {
79             NodeVector children;
80             getChildNodes(node, children); // Take a snapshot.
81             for (int i = 0; i < children.size(); i++) {
82                 ...;
83                 notifyNodeRemovedFromDocument(children[i]);
84             }
85         }
86
87         Based on the observation that in almost all cases events won't be dispatched
88         from inside notifyNodeRemovedFromDocument(), this patch implements
89         a "lazy" snapshot. The snapshot is taken at the point where
90         EventDispatcher::dispatchEvent() is invoked. The snapshot is not taken unless
91         any event is dispatched.
92
93         No tests. Confirm that all existing tests pass.
94         Actually, at present there is (should be) no case where an event is
95         dispatched from inside notifyNodeRemovedFromDocument(). Even DOMNodeInserted
96         and DOMNodeRemoved events are not dispatched. Originally the snapshot was
97         implemented "just in case" to protect the code from future attacks.
98         I manually confirmed that the lazy snapshot works correctly by inserting
99         takeChildNodesSnapshot() to notifyDescendantRemovedFromDocument()
100         in a random manner.
101
102         * dom/ContainerNode.cpp:
103         (WebCore):
104         * dom/ContainerNode.h:
105         (ChildNodesLazySnapshot):
106         (WebCore::ChildNodesLazySnapshot::ChildNodesLazySnapshot):
107         (WebCore::ChildNodesLazySnapshot::~ChildNodesLazySnapshot):
108         (WebCore::ChildNodesLazySnapshot::nextNode):
109         (WebCore::ChildNodesLazySnapshot::takeSnapshot):
110         (WebCore::ChildNodesLazySnapshot::nextSnapshot):
111         (WebCore::ChildNodesLazySnapshot::hasSnapshot):
112         (WebCore::ChildNodesLazySnapshot::takeChildNodesLazySnapshot):
113         (WebCore):
114         * dom/ContainerNodeAlgorithms.cpp:
115         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
116         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
117         * dom/EventDispatcher.cpp:
118         (WebCore::EventDispatcher::dispatchEvent):
119
120 2012-08-07  Ojan Vafai  <ojan@chromium.org>
121
122         percentage margins + flex incorrectly overflows the flexbox
123         https://bugs.webkit.org/show_bug.cgi?id=93411
124
125         Reviewed by Tony Chang.
126
127         Percent margins should always be computed with respect to the containing
128         block's width, not it's height. We were getting this wrong in column flows.
129
130         Test: css3/flexbox/percent-margins.html
131
132         * rendering/RenderFlexibleBox.cpp:
133         (WebCore::RenderFlexibleBox::computeMarginValue):
134         (WebCore):
135         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
136         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
137         * rendering/RenderFlexibleBox.h:
138
139 2012-08-07  Kentaro Hara  <haraken@chromium.org>
140
141         [V8] Replace throwError(ExceptionCode, Isolate*) with setDOMException(ExceptionCode, Isolate*) in v8/* and v8/custom/*
142         https://bugs.webkit.org/show_bug.cgi?id=93226
143
144         Reviewed by Eric Seidel.
145
146         Now throwError(ExceptionCode, Isolate*) is equivalent to
147         setDOMException(ExceptionCode, Isolate*). We can replace the former with
148         the latter. After this replacement, the rule becomes simple and sane:
149         "Use throwError() for throwing JavaScript errors, use setDOMException()
150         for throwing DOM exceptions".
151
152         No tests. No change in behavior.
153
154         * bindings/v8/SerializedScriptValue.cpp:
155         (WebCore::SerializedScriptValue::transferArrayBuffers):
156         (WebCore::SerializedScriptValue::SerializedScriptValue):
157         * bindings/v8/custom/V8AudioContextCustom.cpp:
158         (WebCore::V8AudioContext::constructorCallback):
159         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
160         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
161         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
162         (WebCore::V8DOMStringMap::namedPropertySetter):
163         * bindings/v8/custom/V8DOMWindowCustom.cpp:
164         (WebCore::handlePostMessageCallback):
165         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
166         (WebCore::handlePostMessageCallback):
167         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
168         (WebCore::V8DirectoryEntry::getDirectoryCallback):
169         (WebCore::V8DirectoryEntry::getFileCallback):
170         * bindings/v8/custom/V8DocumentCustom.cpp:
171         (WebCore::V8Document::evaluateCallback):
172         * bindings/v8/custom/V8HistoryCustom.cpp:
173         (WebCore::V8History::pushStateCallback):
174         (WebCore::V8History::replaceStateCallback):
175         * bindings/v8/custom/V8IntentConstructor.cpp:
176         (WebCore::V8Intent::constructorCallback):
177         * bindings/v8/custom/V8MessagePortCustom.cpp:
178         (WebCore::handlePostMessageCallback):
179         * bindings/v8/custom/V8MutationObserverCustom.cpp:
180         (WebCore::V8MutationObserver::constructorCallback):
181         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
182         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
183         (WebCore::V8NotificationCenter::createNotificationCallback):
184         (WebCore::V8NotificationCenter::requestPermissionCallback):
185         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
186         (WebCore::V8SQLTransaction::executeSqlCallback):
187         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
188         (WebCore::V8SQLTransactionSync::executeSqlCallback):
189         * bindings/v8/custom/V8StorageCustom.cpp:
190         (WebCore::storageSetter):
191         * bindings/v8/custom/V8WebSocketCustom.cpp:
192         (WebCore::V8WebSocket::constructorCallback):
193         (WebCore::V8WebSocket::sendCallback):
194         * bindings/v8/custom/V8WorkerContextCustom.cpp:
195         (WebCore::V8WorkerContext::importScriptsCallback):
196         * bindings/v8/custom/V8WorkerCustom.cpp:
197         (WebCore::handlePostMessageCallback):
198         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
199         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
200         (WebCore::V8XMLHttpRequest::openCallback):
201         (WebCore::V8XMLHttpRequest::sendCallback):
202
203 2012-08-07  Kentaro Hara  <haraken@chromium.org>
204
205         [V8] Replace v8::Handle<v8::Value>() in custom bindings with v8Undefined()
206         https://bugs.webkit.org/show_bug.cgi?id=93215
207
208         Reviewed by Eric Seidel.
209
210         We should use v8Undefined() everywhere in V8 bindings.
211
212         No tests. No change in behavior.
213
214         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
215         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
216         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
217         * bindings/v8/custom/V8ConsoleCustom.cpp:
218         (WebCore::V8Console::traceCallback):
219         (WebCore::V8Console::assertCallback):
220         (WebCore::V8Console::profileCallback):
221         (WebCore::V8Console::profileEndCallback):
222         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
223         (WebCore::V8DOMStringMap::namedPropertyGetter):
224         * bindings/v8/custom/V8DOMWindowCustom.cpp:
225         (WebCore::V8DOMWindow::indexedPropertyGetter):
226         (WebCore::V8DOMWindow::namedPropertyGetter):
227         * bindings/v8/custom/V8DataViewCustom.cpp:
228         (WebCore::V8DataView::setInt8Callback):
229         (WebCore::V8DataView::setUint8Callback):
230         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
231         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
232         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
233         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
234         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
235         (WebCore::V8DirectoryEntry::getDirectoryCallback):
236         (WebCore::V8DirectoryEntry::getFileCallback):
237         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
238         (WebCore::getNamedItems):
239         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
240         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
241         (WebCore::getNamedItems):
242         (WebCore::V8HTMLCollection::namedPropertyGetter):
243         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
244         (WebCore::V8HTMLDocument::GetNamedProperty):
245         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
246         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
247         (WebCore::V8HTMLFormElement::namedPropertyGetter):
248         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
249         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
250         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
251         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
252         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
253         (WebCore::npObjectNamedGetter):
254         (WebCore::npObjectNamedSetter):
255         (WebCore::npObjectIndexedGetter):
256         (WebCore::npObjectIndexedSetter):
257         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
258         (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
259         * bindings/v8/custom/V8LocationCustom.cpp:
260         (WebCore::V8Location::reloadAccessorGetter):
261         (WebCore::V8Location::replaceAccessorGetter):
262         (WebCore::V8Location::assignAccessorGetter):
263         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
264         (WebCore::V8NamedNodeMap::indexedPropertyGetter):
265         (WebCore::V8NamedNodeMap::namedPropertyGetter):
266         * bindings/v8/custom/V8NodeListCustom.cpp:
267         (WebCore::V8NodeList::namedPropertyGetter):
268         * bindings/v8/custom/V8SVGLengthCustom.cpp:
269         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
270         * bindings/v8/custom/V8StorageCustom.cpp:
271         (WebCore::storageGetter):
272         (WebCore::V8Storage::namedPropertyGetter):
273         (WebCore::storageSetter):
274         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
275         (WebCore::V8StyleSheetList::namedPropertyGetter):
276
277 2012-08-07  Kentaro Hara  <haraken@chromium.org>
278
279         [V8] Replace v8::Handle<v8::Value>() in bindings/v8/* with v8Undefined()
280         https://bugs.webkit.org/show_bug.cgi?id=93211
281
282         Reviewed by Eric Seidel.
283
284         We should use v8Undefined() everywhere in V8 bindings.
285         Replacing v8::Local<v8::Value>() etc with v8Undefined() can cause build
286         errors due to type conversion mismatch. I'll do the replacement in follow-up
287         patches.
288
289         No tests. No change in behavior.
290
291         * bindings/v8/IDBBindingUtilities.cpp:
292         (WebCore):
293         * bindings/v8/ScriptDebugServer.cpp:
294         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
295         (WebCore::ScriptDebugServer::handleV8DebugEvent):
296         * bindings/v8/SerializedScriptValue.cpp:
297         * bindings/v8/V8Binding.cpp:
298         (WebCore::batchConfigureCallbacks):
299         * bindings/v8/V8Collection.h:
300         (WebCore::getV8Object):
301         (WebCore::collectionNamedPropertyGetter):
302         * bindings/v8/V8DOMWrapper.cpp:
303         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
304         * bindings/v8/V8NPObject.cpp:
305         (WebCore::npObjectGetProperty):
306         (WebCore::npObjectSetProperty):
307         * bindings/v8/V8Proxy.cpp:
308         (WebCore::V8Proxy::setDOMException):
309         (WebCore::V8Proxy::throwError):
310         * bindings/v8/WorkerScriptDebugServer.cpp:
311         (WebCore::WorkerScriptDebugServer::addListener):
312
313 2012-08-07  Joe Mason  <jmason@rim.com>
314
315         Fix regression in credential storage when using Negotiate auth
316         https://bugs.webkit.org/show_bug.cgi?id=93386
317
318         Reviewed by George Staikos.
319
320         r124205 regressed credential storage and lookup.  It added code to update the scheme used in
321         credential storage if the scheme chosen by the network stack is different from that requested by
322         webkit (currently this is only used when webkit requests Negotiate auth, but the Negotiate
323         infrastructure isn't set up correctly, so the network stack falls back to another auth type, usually
324         NTLM).  But the credentials are saved when a "success" status is received, and the scheme in the
325         credentials is not updated until notifyAuthReceived is called to report the actual auth scheme used.
326         The result is that the credentials are stored with the wrong auth scheme and can never be retreived.
327
328         Fixed by delaying the credential save until notifyAuthReceived.
329
330         RIM PR 166514
331         Internally reviewed by George Staikos
332
333         * platform/network/blackberry/NetworkJob.cpp:
334         (WebCore::NetworkJob::handleNotifyStatusReceived): Stop storing credentials here.
335         (WebCore::NetworkJob::notifyAuthReceived): Store credentials here instead.
336
337 2012-08-07  Kent Tamura  <tkent@chromium.org>
338
339         [Mac] Do not reformat numbers in <input type=number>
340         https://bugs.webkit.org/show_bug.cgi?id=93236
341
342         Reviewed by Hajime Morita.
343
344         We had bugs such as stripping leading zeros, dropping lower digits of
345         large numbers because we parse a user-input string to a double value,
346         and generate a string from the double value.
347
348         In order to avoid such reformatting, we use
349         platform/text/NumberLocalizer, which maps ASCII digits to the
350         corresponding localized digits.
351
352         Test: fast/forms/number/number-lossless-localization.html
353
354         * WebCore.xcodeproj/project.pbxproj:
355         Add the following files:
356          - platform/text/NumberLocalizer.cpp
357          - platform/text/NumberLocalizer.h
358          - platform/mac/LocaleMac.h
359          - platform/mac/LocaleMac.mm
360         * platform/text/mac/LocaleMac.h:
361         (LocaleMac): Inherit NumberLocalizer, and declare
362         initializeNumberLocalizerData() for it.
363         Add m_didInitializeNumberData flag.
364         * platform/text/mac/LocaleMac.mm:
365         (WebCore::LocaleMac::LocaleMac): Initialize m_didInitializeNumberData
366         (WebCore::LocaleMac::initializeNumberLocalizerData):
367         Added. Prepare data for number localization, and call
368         NumberLocalizer::setNumberLocalizerData().
369         A tricky part is to format 9876543210 for m_locale. It seems OSX doesn't
370         have API to get localized digits.
371         * platform/text/mac/LocalizedNumberMac.mm:
372         Remove many lines, and calls the corresponding functions of LocaleMac.
373         (WebCore::convertToLocalizedNumber):
374         (WebCore::convertFromLocalizedNumber):
375         (WebCore::localizedDecimalSeparator):
376
377 2012-08-07  Kentaro Hara  <haraken@chromium.org>
378
379         [V8] Move V8BindingMacros.h from bindings/v8/custom/ to bindings/v8/
380         https://bugs.webkit.org/show_bug.cgi?id=93254
381
382         Reviewed by Eric Seidel.
383
384         V8BindingMacros.h should exist in bindings/v8/.
385         This patch also moves related enums from V8Binding.h to V8BindingMacros.h.
386
387         No tests. No change in behavior.
388
389         * WebCore.gypi:
390         * bindings/v8/V8BindingMacros.h: Renamed from Source/WebCore/bindings/v8/custom/V8BindingMacros.h.
391         (WebCore):
392
393 2012-08-07  Kentaro Hara  <haraken@chromium.org>
394
395         [V8] StringCache::m_lastStringImpl and StringCache::m_lastV8String should be in sync
396         https://bugs.webkit.org/show_bug.cgi?id=93065
397
398         Reviewed by Eric Seidel.
399
400         StringCache::m_lastStringImpl caches a StringImpl that was accessed most
401         recently. StringCache::m_lastV8String caches Persistent<String> corresponding
402         to the StringImpl. Hence m_lastStringImpl and m_lastV8String should be in sync.
403
404         However, StringCache::remove() breaks the sync. StringCache::remove() clears
405         m_lastStringImpl but does not clear m_lastV8String. As far as I analyze the code,
406         this won't cause any problem, but we should fix it just in case.
407
408         No tests. No change in behavior.
409
410         * bindings/v8/V8Binding.cpp:
411         (WebCore::StringCache::remove):
412
413 2012-08-07  Hayato Ito  <hayato@chromium.org>
414
415         Don't re-use the same EventDispatcher instance to dispatch events.
416         https://bugs.webkit.org/show_bug.cgi?id=93322
417
418         Reviewed by Dimitri Glazkov.
419
420         It is potentially dangerous to call
421         EventDispatcher::dispatchEvent(PassRefPtr<Event>) twice for the
422         same EventDispatcher instance.  Some member functions in
423         EventDispatcher assume that dispatchEvent(PassRefPtr<Event>) is
424         never called more than once in its life cycle.
425
426         For example, EventDispatcher::ensureEventAncestor never
427         recalculates ancestors of node even when
428         dispatchEvent(PassRefPtr<Event)) is called again with a different
429         event parameter.
430
431         A 'dblclick' event violates this rule. A 'dblclick' dispatching
432         reuses the same dispatcher instance.  So stop re-using the same
433         dispatcher and add ASSERT to make sure dispatchEvent() is never
434         called more than once.
435
436         No new tests, no change in functionality.
437
438         * dom/EventDispatcher.cpp:
439         (WebCore::EventDispatcher::EventDispatcher):
440         (WebCore::EventDispatcher::dispatchEvent):
441         * dom/EventDispatcher.h:
442         (EventDispatcher):
443         * dom/MouseEvent.cpp:
444         (WebCore::MouseEventDispatchMediator::dispatchEvent):
445
446 2012-08-07  Joshua Bell  <jsbell@chromium.org>
447
448         Layout Test storage/indexeddb/intversion-omit-parameter.html is flaky
449         https://bugs.webkit.org/show_bug.cgi?id=92952
450
451         Reviewed by Tony Chang.
452
453         Account for events being propagated from the back-end to front-end after
454         front-end context is stopped (i.e. document is being destroyed). The IDBRequest
455         lifecycle was tightened up in http://trac.webkit.org/changeset/123275 with more
456         asserts but the stopped state wasn't accounted for.
457
458         Test: [chromium] webkit_unit_tests --gtest_filter='IDBRequestTest.EventsAfterStopping'
459
460         * Modules/indexeddb/IDBRequest.cpp:
461         (WebCore::IDBRequest::abort):
462         (WebCore::IDBRequest::onError):
463         (WebCore::IDBRequest::onSuccess):
464         (WebCore::IDBRequest::onSuccessWithContinuation):
465
466 2012-08-07  Kentaro Hara  <haraken@chromium.org>
467
468         Optimize Element::getAttributeNode() by replacing String with AtomicString
469         https://bugs.webkit.org/show_bug.cgi?id=90274
470
471         Reviewed by Adam Barth.
472
473         Based on the observation described in this ChangeLog
474         (http://trac.webkit.org/changeset/121439), this patch optimizes
475         the performance of Element::getAttributeNode() by replacing String
476         with AtomicString.
477
478         Performance test: https://bugs.webkit.org/attachment.cgi?id=150147
479
480         getAttributeNode (Chromium/Linux):
481         375.20ms => 310.80ms
482
483         getAttributeNodeNS (Chromium/Linux):
484         684.40ms => 539.00ms
485
486         * dom/Element.cpp:
487         (WebCore::Element::getAttributeNode):
488         (WebCore::Element::getAttributeNodeNS):
489         * dom/Element.h:
490         (Element):
491
492 2012-08-07  Michelangelo De Simone  <michelangelo@webkit.org>
493
494         CSSParser::parseTransform() refactor to accept valueList as argument
495         https://bugs.webkit.org/show_bug.cgi?id=93295
496
497         Reviewed by Darin Adler.
498
499         CSS::parseTranform() is now accepting the related CSSParserValueList as
500         argument. This change will be used by the code to parse the 3d-transforms
501         within the custom() function, see bug #71443.
502
503         * css/CSSParser.cpp:
504         (WebCore::CSSParser::parseValue):
505         (WebCore::CSSParser::parseTransform):
506         * css/CSSParser.h:
507
508 2012-08-07  Elliott Sprehn  <esprehn@gmail.com>
509
510         Reimplement RenderQuote placement algorithm
511         https://bugs.webkit.org/show_bug.cgi?id=93056
512
513         Reviewed by Eric Seidel.
514
515         Greatly simplify the code that maintains the linked list of RenderQuotes. Now RenderQuote
516         is placed into the linked list in computePreferredLogicalWidths on first access and is
517         detached when destroyed (or explicitly removed).
518
519         The new algorithm doesn't require walking up the tree of renderers when there are no
520         RenderQuotes in the tree yet, and also removes the need to walk over every subtree
521         when inserting in rendererSubtreeAttached.
522
523         No new tests because this patch doesn't change any behavior.
524
525         * rendering/RenderObjectChildList.cpp:
526         (WebCore::RenderObjectChildList::removeChildNode): Call detachQuote when removing from a child list.
527         (WebCore::RenderObjectChildList::appendChildNode):
528         (WebCore::RenderObjectChildList::insertChildNode):
529         * rendering/RenderQuote.cpp:
530         (WebCore::RenderQuote::RenderQuote):
531         (WebCore::RenderQuote::~RenderQuote):
532         (WebCore::RenderQuote::willBeDestroyed): Call detachQuote to ensure all destroyed quotes are detached.
533         (WebCore::RenderQuote::originalText):
534         (WebCore::RenderQuote::computePreferredLogicalWidths): Attach quote before computing the width.
535         (WebCore):
536         (WebCore::RenderQuote::attachQuote): Puts the RenderQuote in the linked list of quotes and computes the depth.
537         (WebCore::RenderQuote::detachQuote): Removes the quote from the linked list.
538         (WebCore::RenderQuote::updateDepth):
539         * rendering/RenderQuote.h:
540         (RenderQuote):
541         * rendering/style/RenderStyle.cpp:
542         (WebCore::RenderStyle::diff): Return StyleDifferenceLayout if quotes change and remove check in styleDidChange in RenderQuote.
543         * rendering/RenderView.cpp:
544         (WebCore::RenderView::RenderView):
545         * rendering/RenderView.h:
546         (WebCore):
547         (WebCore::RenderView::setRenderQuoteHead):
548         (WebCore::RenderView::renderQuoteHead): Stores the first quote in the document.
549         (RenderView):
550
551 2012-08-07  Kentaro Hara  <haraken@chromium.org>
552
553         [V8] Remove a bunch of Persistent::New()s on setJSWrapperForXXXObject()
554         https://bugs.webkit.org/show_bug.cgi?id=93342
555
556         Reviewed by Adam Barth.
557
558         There are a lot of custom bindings like this:
559
560             V8DOMWrapper::setJSWrapperForDOMObject(impl.release(), v8::Persistent<v8::Object>::New(args.Holder()));
561
562         Manually written Persistent::New() is error-prone. We can remove the
563         Persistent::New() by allocating the Persistent handle inside
564         setJSWrapperForDOMObject().
565
566         A new setJSWrapperForDOMObject() receives a wrapper object, allocates
567         the Persistent handle of the wrapper object, and return the Persistent handle.
568
569         No tests. No change in behavior.
570
571         * bindings/scripts/CodeGeneratorV8.pm:
572         (GenerateConstructorCallback):
573         (GenerateEventConstructorCallback):
574         (GenerateNamedConstructorCallback):
575         (GenerateToV8Converters):
576         * bindings/scripts/test/V8/V8Float64Array.cpp:
577         (WebCore::V8Float64Array::wrapSlow):
578         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
579         (WebCore::V8TestActiveDOMObject::wrapSlow):
580         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
581         (WebCore::V8TestCustomNamedGetter::wrapSlow):
582         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
583         (WebCore::V8TestEventConstructor::constructorCallback):
584         (WebCore::V8TestEventConstructor::wrapSlow):
585         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
586         (WebCore::V8TestEventTarget::wrapSlow):
587         * bindings/scripts/test/V8/V8TestException.cpp:
588         (WebCore::V8TestException::wrapSlow):
589         * bindings/scripts/test/V8/V8TestInterface.cpp:
590         (WebCore::V8TestInterface::constructorCallback):
591         (WebCore::V8TestInterface::wrapSlow):
592         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
593         (WebCore::V8TestMediaQueryListListener::wrapSlow):
594         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
595         (WebCore::V8TestNamedConstructorConstructorCallback):
596         (WebCore::V8TestNamedConstructor::wrapSlow):
597         * bindings/scripts/test/V8/V8TestNode.cpp:
598         (WebCore::V8TestNode::constructorCallback):
599         (WebCore::V8TestNode::wrapSlow):
600         * bindings/scripts/test/V8/V8TestObj.cpp:
601         (WebCore::V8TestObj::constructorCallback):
602         (WebCore::V8TestObj::wrapSlow):
603         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
604         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
605         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
606         * bindings/v8/V8DOMWindowShell.cpp:
607         (WebCore::V8DOMWindowShell::installDOMWindow):
608         * bindings/v8/V8DOMWrapper.cpp:
609         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
610         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode):
611         * bindings/v8/V8DOMWrapper.h:
612         (V8DOMWrapper):
613         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
614         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
615         * bindings/v8/WorkerContextExecutionProxy.cpp:
616         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
617         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
618         (WebCore::V8ArrayBuffer::constructorCallback):
619         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
620         (WebCore::wrapArrayBufferView):
621         (WebCore::constructWebGLArray):
622         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
623         (WebCore::V8DOMFormData::constructorCallback):
624         * bindings/v8/custom/V8DataViewCustom.cpp:
625         (WebCore::V8DataView::constructorCallback):
626         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
627         (WebCore::v8HTMLImageElementConstructorCallback):
628         * bindings/v8/custom/V8IntentConstructor.cpp:
629         (WebCore::V8Intent::constructorCallback):
630         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
631         (WebCore::V8MessageChannel::constructorCallback):
632         * bindings/v8/custom/V8MutationObserverCustom.cpp:
633         (WebCore::V8MutationObserver::constructorCallback):
634         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
635         (WebCore::V8WebKitPoint::constructorCallback):
636         * bindings/v8/custom/V8WebSocketCustom.cpp:
637         (WebCore::V8WebSocket::constructorCallback):
638         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
639         (WebCore::V8XMLHttpRequest::constructorCallback):
640
641 2012-08-07  Erik Arvidsson  <arv@chromium.org>
642
643         Evolution, empathy no longer build with webkint 1.9.6:  webkit_dom_html_element_set_class_name is gone
644         https://bugs.webkit.org/show_bug.cgi?id=93384
645
646         Reviewed by Adam Barth.
647
648         The GObject bindings do not do inheritance so when className was moved from HTMLElement to Element,
649         webkit_dom_html_element_set_class_name was no longer defined. This patch re-adds the binding for the
650         GObject bindings to HTMLElement.
651
652         No new tests.
653
654         * html/HTMLElement.idl:
655
656 2012-08-07  Dirk Pranke  <dpranke@chromium.org>
657
658         fix chromium win build after r124945
659         https://bugs.webkit.org/show_bug.cgi?id=93421
660
661         Unreviewed, build fix.
662
663         Two Efl files were removed in r124945 but we forgot to remove
664         them from WebCore.gypi.
665
666         * WebCore.gypi:
667
668 2012-08-07  Dean Jackson  <dino@apple.com>
669
670         Unreviewed build fix for Mac port after http://trac.webkit.org/changeset/124954
671
672         * html/HTMLPlugInElement.cpp:
673         (WebCore::HTMLPlugInElement::isKeyboardFocusable):
674
675 2012-08-07  Kentaro Hara  <haraken@chromium.org>
676
677         [V8] Move setIsolatedWorldSecurityOrigin() from V8Proxy to ScriptController
678         https://bugs.webkit.org/show_bug.cgi?id=93334
679
680         Reviewed by Adam Barth.
681
682         The goal is to move factor out V8Proxy methods to ScriptController.
683         As a starting point, this patch moves setIsolatedWorldSecurityOrigin().
684
685         isolatedWorlds() and isolatedWorldSecurityOrigins() are temporary methods.
686         They will be soon removed after moving all related methods
687         and m_isolatedWorlds and m_isolatedWorldSecurityOrigins.
688
689         No tests. No change in behavior.
690
691         * bindings/v8/ScriptController.cpp:
692         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
693         * bindings/v8/V8Proxy.cpp:
694         * bindings/v8/V8Proxy.h:
695         (WebCore):
696         (V8Proxy):
697         (WebCore::V8Proxy::isolatedWorlds):
698         (WebCore::V8Proxy::isolatedWorldSecurityOrigins):
699
700 2012-08-07  Yoshifumi Inoue  <yosin@chromium.org>
701
702         translateZ(0) shifts file name in file input
703         https://bugs.webkit.org/show_bug.cgi?id=69248
704
705         Reviewed by Simon Fraser.
706
707         This patch changes to use relative y-coordinate rather than absolute
708         y-coordinate for baseline of text of input type "file" what we've already
709         done for file icon y-coordinate.
710
711         Test: file-appearance-transform-no-effects.html
712
713         * rendering/RenderFileUploadControl.cpp:
714         (WebCore::RenderFileUploadControl::paintObject): Changed to use paintOffset
715         instead of absoluteBoundingBoxRectIgnoringTransforms().
716
717 2012-08-07  Kentaro Hara  <haraken@chromium.org>
718
719         [V8] Replace throwError(ExceptionCode, Isolate*) with
720         setDOMException(ExceptionCode, Isolate*) in CodeGeneratorV8.pm
721         https://bugs.webkit.org/show_bug.cgi?id=93223
722
723         Reviewed by Adam Barth.
724
725         Now throwError(ExceptionCode, Isolate*) is equivalent to
726         setDOMException(ExceptionCode, Isolate*). We can replace the former
727         with the latter. After this replacement, the rule becomes simple
728         and sane: "Use throwError() for throwing JavaScript errors, use
729         setDOMException() for throwing DOM exceptions".
730
731         Test: bindings/scripts/test/TestObj.idl
732
733         * bindings/scripts/CodeGeneratorV8.pm:
734         (GenerateParametersCheck):
735         (GenerateConstructorCallback):
736         (GenerateNamedConstructorCallback):
737         * bindings/scripts/test/V8/V8TestInterface.cpp:
738         (WebCore::V8TestInterface::constructorCallback):
739         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
740         (WebCore::V8TestNamedConstructorConstructorCallback):
741         * bindings/scripts/test/V8/V8TestObj.cpp:
742         (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
743         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
744         (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgCallback):
745         (WebCore::TestObjV8Internal::overloadedMethod5Callback):
746         (WebCore::V8TestObj::constructorCallback):
747
748 2012-08-07  Fady Samuel  <fsamuel@chromium.org>
749
750         Allow plugins to decide whether they are keyboard focusable
751         https://bugs.webkit.org/show_bug.cgi?id=88958
752
753         Reviewed by Anders Carlsson.
754
755         * dom/Node.h:
756         (WebCore::Node::isPluginElement):
757         * html/HTMLEmbedElement.cpp:
758         (WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
759         * html/HTMLEmbedElement.h:
760         (HTMLEmbedElement):
761         * html/HTMLObjectElement.cpp:
762         (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
763         * html/HTMLObjectElement.h:
764         (HTMLObjectElement):
765         * html/HTMLPlugInElement.cpp:
766         (WebCore::HTMLPlugInElement::pluginWidget):
767         (WebCore::HTMLPlugInElement::isKeyboardFocusable):
768         (WebCore):
769         (WebCore::HTMLPlugInElement::isPluginElement):
770         * html/HTMLPlugInElement.h:
771         (HTMLPlugInElement):
772         * page/FocusController.cpp:
773         (WebCore::FocusController::advanceFocusInDocumentOrder):
774         * plugins/PluginViewBase.h:
775         (WebCore::PluginViewBase::supportsKeyboardFocus):
776
777 2012-08-07  Anna Cavender  <annacc@chromium.org>
778
779         Create a MediaSource object.
780         https://bugs.webkit.org/show_bug.cgi?id=91773
781
782         Reviewed by Eric Carlson.
783
784         MediaSource object is needed in order to implement the new
785         object-oriented MediaSource API:
786         http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
787
788         No new tests - will be able to test after landing:
789         https://bugs.webkit.org/show_bug.cgi?id=91775
790
791         Adding new files to build files:
792         * CMakeLists.txt:
793         * DerivedSources.cpp:
794         * DerivedSources.make:
795         * DerivedSources.pri:
796         * GNUmakefile.list.am:
797         * Target.pri:
798         * WebCore.gypi:
799         * WebCore.vcproj/WebCore.vcproj:
800         * WebCore.xcodeproj/project.pbxproj:
801
802         New MediaSource object:
803         * Modules/mediasource/MediaSource.cpp: Added.
804         * Modules/mediasource/MediaSource.h: Added.
805         * Modules/mediasource/MediaSource.idl: Added.
806
807         Create a registry for the blob storage and lookup:
808         * Modules/mediasource/MediaSourceRegistry.cpp: Added.
809         * Modules/mediasource/MediaSourceRegistry.h: Added.
810
811         Connect SourceBuffer to MediaSource:
812         * Modules/mediasource/SourceBuffer.cpp:
813         (WebCore::SourceBuffer::SourceBuffer):
814         (WebCore::SourceBuffer::buffered): Forward call to MediaSource.
815         (WebCore::SourceBuffer::append): Ditto.
816         (WebCore::SourceBuffer::abort): Ditto.
817         * Modules/mediasource/SourceBuffer.h:
818         (WebCore::SourceBuffer::create): Add a MediaSource to the constructor.
819         (WebCore::SourceBuffer::clear): Clear the MediaSource.
820         (SourceBuffer):
821         * Modules/mediasource/SourceBufferList.cpp: include SourceBuffer.h
822         * Modules/mediasource/SourceBufferList.h:
823
824         Make MediaSource an EventTarget:
825         * dom/EventTarget.h:
826         (WebCore):
827         * dom/EventTargetFactory.in:
828
829         Enable creation of MediaSource object URL from JavaScript:
830         * html/DOMURL.cpp:
831         (WebCore):
832         (WebCore::DOMURL::createObjectURL):
833         (WebCore::DOMURL::revokeObjectURL):
834         * html/DOMURL.h:
835         (WebCore):
836         (DOMURL):
837         * html/DOMURL.idl:
838         * html/PublicURLManager.h: create a new sourceURLs list for storing
839             reigstered MediaSource URLS.
840         (WebCore::PublicURLManager::contextDestroyed): make sure everything is
841             removed from the sourceURLs list upon destruction.
842         (PublicURLManager):
843         (WebCore::PublicURLManager::sourceURLs): getter for the sourceURLs list.
844
845         New MediaSource constructor:
846         * page/DOMWindow.idl:
847
848 2012-08-07  Kentaro Hara  <haraken@chromium.org>
849
850         [V8] Implement V8Proxy::registerExtensionIfNeeded() and remove redundant methods
851         https://bugs.webkit.org/show_bug.cgi?id=93209
852
853         Reviewed by Adam Barth.
854
855         By implementing V8Proxy::registerExtensionIfNeeded(), we can remove
856         registeredExtensionWithV8() and registerExtension().
857
858         No tests. No change in behavior.
859
860         * bindings/v8/V8DOMWindowShell.cpp:
861         (WebCore::V8DOMWindowShell::createNewContext):
862         * bindings/v8/V8Proxy.cpp:
863         (WebCore::V8Proxy::registerExtensionIfNeeded):
864         * bindings/v8/V8Proxy.h:
865         (V8Proxy):
866
867 2012-08-07  Ryuan Choi  <ryuan.choi@samsung.com>
868
869         [EFL] Remove PlatformTouchEventEfl and PlatformTouchPointEfl
870         https://bugs.webkit.org/show_bug.cgi?id=93270
871
872         Reviewed by Eric Seidel.
873
874         PlatformTouchEventEfl and PlatformTouchPointEfl initialize PlatformTouchEvent
875         directly from Ewk_TouchEvent which is WebKit1/Efl API and they can not be
876         shared with WebKit2/Efl.
877
878         In order to remove this WebKit dependency from WebCore, this patch removes Efl
879         specific codes from PlatformTouchXXX and adds the classes which convert
880         Ewk_Touch_XXX to PlatformTouchXXX.
881
882         No new tests. Just a refactoring.
883
884         * PlatformEfl.cmake: Removed PlatformTouchEventEfl.cpp and PlatformTouchPointEfl.cpp
885         * platform/PlatformTouchEvent.h: Removed Efl specific codes.
886         (PlatformTouchEvent):
887         * platform/PlatformTouchPoint.h: Ditto.
888         (PlatformTouchPoint):
889         * platform/efl/PlatformTouchEventEfl.cpp: Removed.
890         * platform/efl/PlatformTouchPointEfl.cpp: Removed.
891
892 2012-08-07  James Robinson  <jamesr@chromium.org>
893
894         [chromium] Avoid dependending on implicit WebString -> String conversion in compositor
895         https://bugs.webkit.org/show_bug.cgi?id=93408
896
897         Reviewed by Adrienne Walker.
898
899         * platform/graphics/chromium/LayerRendererChromium.cpp:
900         (WebCore::LayerRendererChromium::initialize):
901         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
902         (WebCore::CCResourceProvider::initialize):
903
904 2012-08-07  Kentaro Hara  <haraken@chromium.org>
905
906         [V8] Factor out V8Binding methods that configures DOM attributes and methods
907         https://bugs.webkit.org/show_bug.cgi?id=93239
908
909         Reviewed by Adam Barth.
910
911         V8Binding is messy. This patch factors out V8Binding methods that configures
912         DOM attributes and methods into another file. This patch just moves the methods
913         from V8Binding.{h,cpp} to V8ConfigureDOMAttributesAndMethods.{h,cpp}.
914
915         No tests. No change in behavior.
916
917         * UseV8.cmake:
918         * WebCore.gypi:
919         * bindings/v8/V8Binding.cpp:
920         * bindings/v8/V8Binding.h:
921         (WebCore):
922         * bindings/v8/V8ConfigureDOMAttributesAndMethods.cpp: Added.
923         (WebCore):
924         (WebCore::batchConfigureAttributes):
925         (WebCore::batchConfigureConstants):
926         (WebCore::batchConfigureCallbacks):
927         (WebCore::configureTemplate):
928         * bindings/v8/V8ConfigureDOMAttributesAndMethods.h: Added.
929         (WebCore):
930         (BatchedAttribute):
931         (WebCore::configureAttribute):
932         (BatchedConstant):
933         (BatchedCallback):
934
935 2012-08-07  Kentaro Hara  <haraken@chromium.org>
936
937         [V8] Replace all V8 undefined values in the rest of custom bindings with v8Undefined()
938         https://bugs.webkit.org/show_bug.cgi?id=93220
939
940         Reviewed by Eric Seidel.
941
942         We should use v8Undefined() everywhere in V8 bindings.
943         This patch replaces all V8 undefined values in the rest of custom bindings
944         with v8Undefined().
945
946         No tests. No change in behavior.
947
948         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
949         (WebCore::V8DOMStringMap::namedPropertyQuery): Simple refactoring not related to
950         this patch. Since other bindings are using 0 instead of v8::None, we should use 0 here too.
951         * bindings/v8/custom/V8DOMWindowCustom.cpp:
952         (WebCore::toV8):
953         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
954         (WebCore::toV8):
955         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
956         (WebCore::toV8):
957
958 2012-08-07  Kentaro Hara  <haraken@chromium.org>
959
960         [V8] Remove #include V8BindingMacros.h
961         https://bugs.webkit.org/show_bug.cgi?id=93312
962
963         Reviewed by Eric Seidel.
964
965         We are factoring out V8Binding methods to separate files.
966         After the refactoring, V8Binding.h will include binding related
967         header files (e.g. V8BindingMacros.h, V8BindingHelper.h, etc), so that
968         custom V8 binding files just need to include V8Binding.h only.
969
970         We can remove '#include V8BindingMacros.h' from V8 binding files.
971
972         No tests. No change in behavior.
973
974         * bindings/scripts/CodeGeneratorV8.pm:
975         (GenerateNormalAttrSetter):
976         (GenerateParametersCheck):
977         (GenerateEventConstructorCallback):
978         (ConvertToV8Parameter):
979         * bindings/scripts/test/V8/V8Float64Array.cpp:
980         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
981         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
982         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
983         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
984         * bindings/scripts/test/V8/V8TestInterface.cpp:
985         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
986         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
987         * bindings/scripts/test/V8/V8TestObj.cpp:
988         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
989         * bindings/v8/ScriptController.cpp:
990         * bindings/v8/custom/V8BlobCustom.cpp:
991         * bindings/v8/custom/V8ConsoleCustom.cpp:
992         * bindings/v8/custom/V8DOMWindowCustom.cpp:
993         * bindings/v8/custom/V8DataViewCustom.cpp:
994         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
995         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
996         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
997         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
998         * bindings/v8/custom/V8IntentConstructor.cpp:
999         * bindings/v8/custom/V8MutationObserverCustom.cpp:
1000         * bindings/v8/custom/V8PerformanceCustom.cpp:
1001         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1002         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1003         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1004         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1005         * bindings/v8/custom/V8WebKitAnimationCustom.cpp:
1006         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1007
1008 2012-08-07  Kentaro Hara  <haraken@chromium.org>
1009
1010         [V8] Remove #include Frame.h from V8Binding.h
1011         https://bugs.webkit.org/show_bug.cgi?id=93326
1012
1013         Reviewed by Adam Barth.
1014
1015         We want to remove unnecessary #include in V8Binding.h
1016         to avoid circular include dependency.
1017
1018         No tests. No change in behavior.
1019
1020         * bindings/scripts/CodeGeneratorV8.pm:
1021         (GenerateDomainSafeFunctionGetter):
1022         (GenerateNormalAttrGetter):
1023         (GenerateReplaceableAttrSetter):
1024         (GenerateFunctionCallback):
1025         (GenerateNamedConstructorCallback):
1026         (GenerateToV8Converters):
1027         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1028         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1029         * bindings/scripts/test/V8/V8TestNode.cpp:
1030         * bindings/v8/ScheduledAction.cpp:
1031         * bindings/v8/V8Binding.h:
1032         * bindings/v8/V8DOMWrapper.cpp:
1033         * bindings/v8/custom/V8DocumentCustom.cpp:
1034         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
1035         * testing/v8/WebCoreTestSupport.cpp:
1036
1037 2012-08-07  Kentaro Hara  <haraken@chromium.org>
1038
1039         [V8] Factor out V8Binding classes that manage V8 value's cache
1040         https://bugs.webkit.org/show_bug.cgi?id=93343
1041
1042         Reviewed by Adam Barth.
1043
1044         We are factoring out V8Binding methods to separate files.
1045         This patch moves V8Binding classes that manage V8 value's cache
1046         to V8ValueCache.{h,cpp}.
1047
1048         No tests. No change in behavior.
1049
1050         * UseV8.cmake:
1051         * WebCore.gypi:
1052         * bindings/v8/V8Binding.cpp:
1053         * bindings/v8/V8Binding.h:
1054         (WebCore):
1055         * bindings/v8/V8ValueCache.cpp: Added.
1056         (WebCore):
1057         (WebCore::makeExternalString):
1058         (WebCore::cachedStringCallback):
1059         (WebCore::StringCache::remove):
1060         (WebCore::StringCache::v8ExternalStringSlow):
1061         (WebCore::IntegerCache::createSmallIntegers):
1062         (WebCore::IntegerCache::~IntegerCache):
1063         * bindings/v8/V8ValueCache.h: Added.
1064         (WebCore):
1065         (StringCache):
1066         (WebCore::StringCache::StringCache):
1067         (WebCore::StringCache::v8ExternalString):
1068         (WebCore::StringCache::clearOnGC):
1069         (WebCoreStringResource):
1070         (WebCore::WebCoreStringResource::WebCoreStringResource):
1071         (WebCore::WebCoreStringResource::~WebCoreStringResource):
1072         (WebCore::WebCoreStringResource::data):
1073         (WebCore::WebCoreStringResource::length):
1074         (WebCore::WebCoreStringResource::webcoreString):
1075         (WebCore::WebCoreStringResource::atomicString):
1076         (WebCore::WebCoreStringResource::visitStrings): This method is used by inspector
1077         and thus is not performance-critical. To avoid circular #include dependency,
1078         I moved the implementation to cpp.
1079         (WebCore::WebCoreStringResource::toStringResource):
1080         (IntegerCache):
1081         (WebCore::IntegerCache::IntegerCache):
1082         (WebCore::IntegerCache::v8Integer):
1083         (WebCore::IntegerCache::v8UnsignedInteger):
1084
1085 2012-08-07  James Robinson  <jamesr@chromium.org>
1086
1087         [chromium] Switch PlatformLayer typedef to Platform API type for PLATFORM(CHROMIUM)
1088         https://bugs.webkit.org/show_bug.cgi?id=93335
1089
1090         Reviewed by Adrienne Walker.
1091
1092         This converts the PlatformLayer typedef to WebKit::WebLayer (part of the chromium Platform API) for the
1093         Chromium port. This involves some odd const_cast<>s in places since cross-platform interfaces assume that
1094         PlatformLayer is a potentially heavy implementation class, but WebLayer is a thin smart pointer type.
1095
1096         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1097         (WebCore::createScrollbarLayer):
1098         (WebCore::ScrollingCoordinator::setScrollLayer):
1099         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1100         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
1101         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
1102         * platform/graphics/PlatformLayer.h:
1103         (WebKit):
1104         (WebCore):
1105         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1106         (WebCore::Canvas2DLayerBridge::layer):
1107         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1108         (Canvas2DLayerBridge):
1109         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1110         (WebCore::DrawingBufferPrivate::layer):
1111         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1112         (WebCore::GraphicsLayerChromium::removeFromParent):
1113         (WebCore::GraphicsLayerChromium::setDrawsContent):
1114         (WebCore::GraphicsLayerChromium::setContentsVisible):
1115         (WebCore::GraphicsLayerChromium::setMaskLayer):
1116         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1117         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1118         (WebCore::GraphicsLayerChromium::primaryLayer):
1119         (WebCore::GraphicsLayerChromium::platformLayer):
1120         (WebCore::GraphicsLayerChromium::updateChildList):
1121         * platform/graphics/chromium/GraphicsLayerChromium.h:
1122         (GraphicsLayerChromium):
1123
1124 2012-08-07  James Robinson  <jamesr@chromium.org>
1125
1126         [chromium] Use WebCompositor interface in Platform API instead of CCProxy to query threaded compositor status
1127         https://bugs.webkit.org/show_bug.cgi?id=93398
1128
1129         Reviewed by Adam Barth.
1130
1131         Converts non-compositor code that cares about threaded compositing status over to query WebCompositor instead of
1132         CCProxy.
1133
1134         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1135         * platform/chromium/support/WebCompositorImpl.cpp:
1136         (WebKit):
1137         (WebKit::WebCompositor::threadingEnabled):
1138         (WebKit::WebCompositor::onCompositorThread):
1139         (WebKit::WebCompositorImpl::threadingEnabled):
1140         * platform/chromium/support/WebCompositorImpl.h:
1141         (WebCompositorImpl):
1142         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1143         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1144         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1145         (WebCore::DrawingBuffer::DrawingBuffer):
1146
1147 2012-08-07  Anders Carlsson  <andersca@apple.com>
1148
1149         Knob slot animation is flipped
1150         https://bugs.webkit.org/show_bug.cgi?id=93396
1151
1152         Reviewed by Beth Dakin.
1153
1154         When painting the scrollbar knob slot, use rectForPart: since it correctly takes the expansion transition state into account.
1155
1156         * platform/mac/ScrollbarThemeMac.mm:
1157         (WebCore::scrollbarPainterPaint):
1158
1159 2012-08-07  Adrienne Walker  <enne@google.com>
1160
1161         50% fixed position coverage slow scroll heuristic is incorrect when invalidations aren't clipped
1162         https://bugs.webkit.org/show_bug.cgi?id=92011
1163
1164         Reviewed by Simon Fraser.
1165
1166         The heuristic in scrollContentsFastPath to slow scroll by invalidating
1167         the entire frame if fixed position elements cover 50% of the frame
1168         takes away the ability of ports to make their own decisions about how
1169         to best handle invalidations. Therefore, remove this heuristic.
1170
1171         * page/FrameView.cpp:
1172         (WebCore::FrameView::scrollContentsFastPath):
1173
1174 2012-08-07  Konrad Piascik  <kpiascik@rim.com>
1175
1176         [BlackBerry] Change how devicePixelRatio is set.
1177         https://bugs.webkit.org/show_bug.cgi?id=93385
1178
1179         Reviewed by Antonio Gomes.
1180
1181         Update the theme to adjust to a constant devicePixelRatio.
1182
1183         Not testable.
1184
1185         * platform/blackberry/RenderThemeBlackBerry.cpp:
1186         (WebCore::determineFullScreenMultiplier):
1187
1188 2012-08-07  James Robinson  <jamesr@chromium.org>
1189
1190         [chromium] Move WebCompositor interface into Platform API
1191         https://bugs.webkit.org/show_bug.cgi?id=93391
1192
1193         Reviewed by Adam Barth.
1194
1195         Moves the support files for WebCompositor into WebCore/platform/support/. CCThreadImpl is a helper class used
1196         only by WebCompositorImpl.
1197
1198         Refactor/renaming only, so no new tests.
1199
1200         * WebCore.gypi:
1201         * platform/chromium/support/CCThreadImpl.cpp: Renamed from Source/WebKit/chromium/src/CCThreadImpl.cpp.
1202         (WebKit):
1203         (GetThreadIDTask):
1204         (WebKit::GetThreadIDTask::GetThreadIDTask):
1205         (WebKit::GetThreadIDTask::~GetThreadIDTask):
1206         (WebKit::GetThreadIDTask::run):
1207         (CCThreadTaskAdapter):
1208         (WebKit::CCThreadTaskAdapter::CCThreadTaskAdapter):
1209         (WebKit::CCThreadTaskAdapter::~CCThreadTaskAdapter):
1210         (WebKit::CCThreadTaskAdapter::run):
1211         (WebKit::CCThreadImpl::create):
1212         (WebKit::CCThreadImpl::~CCThreadImpl):
1213         (WebKit::CCThreadImpl::postTask):
1214         (WebKit::CCThreadImpl::postDelayedTask):
1215         (WebKit::CCThreadImpl::threadID):
1216         (WebKit::CCThreadImpl::CCThreadImpl):
1217         * platform/chromium/support/CCThreadImpl.h: Renamed from Source/WebKit/chromium/src/CCThreadImpl.h.
1218         (WebKit):
1219         (CCThreadImpl):
1220         * platform/chromium/support/WebCompositorImpl.cpp: Renamed from Source/WebKit/chromium/src/WebCompositorImpl.cpp.
1221         (WebKit):
1222         (WebKit::WebCompositor::initialize):
1223         (WebKit::WebCompositor::shutdown):
1224         (WebKit::WebCompositor::setPerTilePaintingEnabled):
1225         (WebKit::WebCompositor::setPartialSwapEnabled):
1226         (WebKit::WebCompositor::setAcceleratedAnimationEnabled):
1227         (WebKit::WebCompositorImpl::initialize):
1228         (WebKit::WebCompositorImpl::initialized):
1229         (WebKit::WebCompositorImpl::shutdown):
1230         * platform/chromium/support/WebCompositorImpl.h: Renamed from Source/WebKit/chromium/src/WebCompositorImpl.h.
1231         (WebCore):
1232         (WebKit):
1233         (WebCompositorImpl):
1234
1235 2012-08-07  Abhishek Arya  <inferno@chromium.org>
1236
1237         Crash in ContainerNode::cloneChildNodes.
1238         https://bugs.webkit.org/show_bug.cgi?id=93378
1239
1240         Reviewed by Levi Weintraub.
1241
1242         Re-enabling the editing delete button controller in cloneChildNode was causing style changes,
1243         thereby causing load events to fire. The load event can blow our nodes from underneath. This causes
1244         crashes when we are nested inside cloneChildNodes. The patch just skips the delete button controller's
1245         container element from being cloned and removes the hacky enable/disable logic. 
1246
1247         Test: fast/dom/clone-node-load-event-crash.html
1248
1249         * dom/ContainerNode.cpp:
1250         (WebCore::ContainerNode::cloneChildNodes):
1251
1252 2012-08-07  No'am Rosenthal  <noam.rosenthal@nokia.com>
1253
1254         GraphicsLayerAnimation shouldn't use HashMap<String>
1255         https://bugs.webkit.org/show_bug.cgi?id=93284
1256
1257         Reviewed by Kenneth Rohde Christiansen.
1258
1259         Use a vector containing all the animations instead of a map of String to Vector.
1260         The HashMap contains very few elements, which makes it inefficient relatively to a vector.
1261         This has been shown to be a bottleneck in valgrind.
1262
1263         Covered by existing animation tests.
1264
1265         * platform/graphics/GraphicsLayerAnimation.cpp:
1266         (WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
1267         (WebCore::GraphicsLayerAnimations::hasActiveAnimationsOfType):
1268         (WebCore::GraphicsLayerAnimations::hasRunningAnimations):
1269         (WebCore::GraphicsLayerAnimations::add):
1270         (WebCore::GraphicsLayerAnimations::pause):
1271         (WebCore::GraphicsLayerAnimations::remove):
1272         (WebCore::GraphicsLayerAnimations::apply):
1273         * platform/graphics/GraphicsLayerAnimation.h:
1274         (GraphicsLayerAnimation):
1275         (WebCore::GraphicsLayerAnimation::name):
1276         (GraphicsLayerAnimations):
1277         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1278         (WebCore::GraphicsLayerTextureMapper::addAnimation):
1279
1280 2012-08-07  Marcelo Lira  <marcelo.lira@openbossa.org>
1281
1282         [Qt] Add support for the Gamepad API
1283         https://bugs.webkit.org/show_bug.cgi?id=90637
1284
1285         Reviewed by Alexis Menard.
1286
1287         Adds support for Gamepad API on the Qt port.
1288
1289         The implementation of this class relies on the Linux
1290         kernel joystick API.
1291
1292         Gamepad devices are recognized through the GamepadsQt
1293         class, which uses the udev library to watch for connection,
1294         disconnection and other gamepad related events.
1295
1296         Tests for this feature already exist.
1297
1298         * DerivedSources.pri:
1299         * Target.pri:
1300         * WebCore.pri:
1301         * platform/qt/GamepadsQt.cpp: Added.
1302         (WebCore):
1303         (GamepadDeviceLinuxQt):
1304         (WebCore::GamepadDeviceLinuxQt::create):
1305         (WebCore::GamepadDeviceLinuxQt::GamepadDeviceLinuxQt):
1306         (WebCore::GamepadDeviceLinuxQt::~GamepadDeviceLinuxQt):
1307         (WebCore::GamepadDeviceLinuxQt::readCallback):
1308         (GamepadsQt):
1309         (WebCore::GamepadsQt::GamepadsQt):
1310         (WebCore::GamepadsQt::~GamepadsQt):
1311         (WebCore::GamepadsQt::isGamepadDevice):
1312         (WebCore::GamepadsQt::onGamePadChange):
1313         (WebCore::GamepadsQt::registerDevice):
1314         (WebCore::GamepadsQt::unregisterDevice):
1315         (WebCore::GamepadsQt::updateGamepadList):
1316         (WebCore::sampleGamepads):
1317
1318 2012-08-07  Mike Reed  <reed@google.com>
1319
1320         reimplement fastMod w/o (soon to be) private skia macros
1321         https://bugs.webkit.org/show_bug.cgi?id=93370
1322
1323         Reviewed by Adrienne Walker.
1324
1325         fastMod() reimplemented (same functionality) to stop using soon-to-be private macros in
1326         SkMath.h. The new version is functionally identical.
1327
1328         No new tests -- existing layouttests exercise GraphicsContext::strokeArc(), the only caller
1329
1330         * platform/graphics/skia/GraphicsContextSkia.cpp:
1331
1332 2012-08-07  Brian Anderson  <brianderson@chromium.org>
1333
1334         Add CCDelayBasedTimeSource::setTimebaseAndInterval
1335         https://bugs.webkit.org/show_bug.cgi?id=92825
1336
1337         Reviewed by James Robinson.
1338
1339         Allows CCDelayBaseTimeSource to have it's timebase and interval updated
1340         on the fly.  Accounts for double ticking due to jitter or resetting the
1341         timer multiple times quickly.
1342
1343         CCDelayBasedTimeSourceTest updated with two tests for proper handling
1344         of jittery timebase/interval source and immediate handling of
1345         significant timebase/interval changes.
1346
1347         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
1348         (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
1349         (WebCore::CCDelayBasedTimeSource::nextTickTime):
1350         (WebCore):
1351         (WebCore::CCDelayBasedTimeSource::onTimerFired):
1352         (WebCore::CCDelayBasedTimeSource::setTimebaseAndInterval):
1353         (WebCore::CCDelayBasedTimeSource::postNextTickTask):
1354         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
1355
1356 2012-07-23  Alexandru Chiculita  <achicu@adobe.com>
1357
1358         [CSS Shaders] Reuse precompiled shaders across elements
1359         https://bugs.webkit.org/show_bug.cgi?id=88427
1360
1361         Reviewed by Dean Jackson.
1362
1363         Added CustomFilterProgramInfo as a link between the CustomFilterProgram and the CustomFilterCompiledProgram.
1364         CustomFilterGlobalContext now acts as a cache for the compiled shaders. Note that only the shaders displayed on the page
1365         are cached, making it useful in animations or when more elements share the same shader filter.
1366
1367         For CSS Shaders we need two files, vertex and fragment shaders, so that's why we have a CustomFilterProgram. 
1368         CustomFilterProgram is the platform object, so StyleCustomFilterProgram implements it and is referenced from the RenderStyle.
1369
1370         StyleCustomFilterProgram is also the one that actually keeps references to the CachedShaders and has all the loading logic.
1371         The only problem is that there might be multiple StyleCustomFilterProgram with the same set of CachedShaders.
1372         That's why in this patch I've added CustomFilterProgramInfo as a simple class to be used as a key in a hash map.
1373
1374         For now CustomFilterProgramInfo should act similar to a pair<String, String>. There's only one exception: one of the strings
1375         is allowed to be null. A null string is the placeholder for the default shader.
1376
1377         Note that alpha compositing and blending will be added to the CustomFilterProgramInfo after the mix() 
1378         function parsing will land in https://bugs.webkit.org/show_bug.cgi?id=90101 .
1379
1380         Test: css3/filters/custom/custom-filter-shader-reuse.html
1381
1382         * CMakeLists.txt:
1383         * GNUmakefile.list.am:
1384         * WebCore.gypi:
1385         * WebCore.vcproj/WebCore.vcproj:
1386         * WebCore.xcodeproj/project.pbxproj:
1387         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
1388         (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
1389         (WebCore::CustomFilterCompiledProgram::getDefaultShaderString): Returns the default shader based on the type.
1390         (WebCore):
1391         (WebCore::CustomFilterCompiledProgram::compileShader): Added check for isNull and used the default shader in that case.
1392         (WebCore::CustomFilterCompiledProgram::~CustomFilterCompiledProgram): Added call to CustomFilterGlobalContext::removeCompiledProgram.
1393         * platform/graphics/filters/CustomFilterCompiledProgram.h:
1394         (WebCore::CustomFilterCompiledProgram::detachFromGlobalContext): Called from ~CustomFilterGlobalContext, so that it doesn't call into a deleted object later when ~CustomFilterCompiledProgram is called. It should only happen when CustomFilterGlobalContext dies before the 
1395         CustomFilterCompiledPrograms that it caches.
1396         (WebCore):
1397         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
1398         (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
1399         (WebCore::CustomFilterGlobalContext::getCompiledProgram): Gets or creates a compiled shader for a specific CustomFilterProgramInfo.
1400         (WebCore):
1401         (WebCore::CustomFilterGlobalContext::removeCompiledProgram): Called by ~CustomFilterCompiledProgram.
1402         * platform/graphics/filters/CustomFilterGlobalContext.h:
1403         (WebCore):
1404         (CustomFilterGlobalContext):
1405         * platform/graphics/filters/CustomFilterProgram.cpp:
1406         (WebCore::CustomFilterProgram::programInfo):
1407         * platform/graphics/filters/CustomFilterProgram.h:
1408         (WebCore):
1409         * platform/graphics/filters/CustomFilterProgramInfo.cpp: Added.
1410         (WebCore):
1411         (WebCore::hashPossiblyNullString): We need to allow null strings in the hash, so this is a helper to check for isNull 
1412         before asking for the hash.
1413         (WebCore::CustomFilterProgramInfo::CustomFilterProgramInfo):
1414         (WebCore::CustomFilterProgramInfo::isEmptyValue):
1415         (WebCore::CustomFilterProgramInfo::isHashTableDeletedValue):
1416         (WebCore::CustomFilterProgramInfo::hash):
1417         (WebCore::CustomFilterProgramInfo::operator==):
1418         * platform/graphics/filters/CustomFilterProgramInfo.h: Added.
1419         (WebCore):
1420         (CustomFilterProgramInfo):
1421         (WebCore::CustomFilterProgramInfo::vertexShaderString):
1422         (WebCore::CustomFilterProgramInfo::fragmentShaderString):
1423         (WebCore::CustomFilterProgramInfoHash::hash):
1424         (WebCore::CustomFilterProgramInfoHash::equal):
1425         (CustomFilterProgramInfoHash): Structures needed to make this a key in the hash map.
1426         (CustomFilterProgramInfoHashTraits):
1427         (WebCore::CustomFilterProgramInfoHashTraits::isEmptyValue): I've used the deleted strings value to mark a deleted
1428         CustomFilterProgramInfo object. Those are not safe to compare to deleted, so there's a need to set safeToCompareToEmptyOrDeleted to false, meaning that there's a need to manually check for empty values.
1429         (WTF):
1430         * platform/graphics/filters/FECustomFilter.cpp:
1431         (WebCore::FECustomFilter::initializeContext): Moved to using the cached shader instead.
1432
1433 2012-08-07  Florin Malita  <fmalita@chromium.org>
1434
1435         [Chromium] Unreviewed build fix after r124879.
1436
1437         * WebCore.gypi: Remove deleted file references.
1438
1439 2012-08-07  George Staikos  <staikos@webkit.org>
1440
1441         [BlackBerry] We should fail the HTTP auth silently for non-main loads
1442         in the non-viewer process.
1443         https://bugs.webkit.org/show_bug.cgi?id=93230
1444
1445         Reviewed by Rob Buis.
1446
1447         No way to test this in WebKit.
1448
1449         * platform/network/blackberry/NetworkJob.cpp: Add early return.
1450         (WebCore::NetworkJob::sendRequestWithCredentials):
1451
1452 2012-08-07  Alexander Pavlov  <apavlov@chromium.org>
1453
1454         Web Inspector: Typing backslash in Console traverses the panel history when using German keyboard layout
1455         https://bugs.webkit.org/show_bug.cgi?id=93357
1456
1457         Reviewed by Vsevolod Vlasov.
1458
1459         For some reason, in the German keyboard layout keyIdentifier for '\' is the same as that for '['
1460         in the ordinary English-US layout.
1461         Remove a too-safe-side check and never switch panels on key combinations that result in "keypress" events.
1462
1463         * inspector/front-end/InspectorView.js:
1464         (WebInspector.InspectorView):
1465         (WebInspector.InspectorView.prototype._keyPress):
1466
1467 2012-08-07  Robin Cao  <robin.cao@torchmobile.com.cn>
1468
1469         [BlackBerry] GL scissor test is accidentally turned off
1470         https://bugs.webkit.org/show_bug.cgi?id=93360
1471         PR #161020
1472
1473         Reviewed by Antonio Gomes.
1474
1475         The GL scissor test is accidentally turned off inside drawTextures().
1476         This is wrong and should be removed.
1477
1478         * platform/graphics/blackberry/LayerCompositingThread.cpp:
1479         (WebCore::LayerCompositingThread::drawTextures):
1480
1481 2012-08-07  Abhishek Arya  <inferno@chromium.org>
1482
1483         Crash in InlineFlowBox::deleteLine.
1484         https://bugs.webkit.org/show_bug.cgi?id=88795
1485
1486         Reviewed by Tony Chang.
1487
1488         When we move the fullscreen object from its parent to RenderFullScreen, we forgot to clear the
1489         line box tree underneath the object's containing block and mark it for layout. Before the patch,
1490         the containing block never got laid out and maintained references to removed line boxes (since the
1491         object moved under RenderFullScreen did get laid out and its lineboxes replaced with new ones).
1492
1493         Test: fullscreen/full-screen-line-boxes-crash.html
1494
1495         * rendering/RenderFullScreen.cpp:
1496         (RenderFullScreen::wrapRenderer):
1497
1498 2012-08-07  Vsevolod Vlasov  <vsevik@chromium.org>
1499
1500         Web Inspector: Do not disable network tracking while profiling cpu.
1501         https://bugs.webkit.org/show_bug.cgi?id=93359
1502
1503         Reviewed by Yury Semikhatsky.
1504
1505         Removed network tracking enabling/disabling machinery.
1506
1507         * inspector/front-end/CPUProfileView.js:
1508         (WebInspector.CPUProfileType.prototype.buttonClicked):
1509         * inspector/front-end/NetworkManager.js:
1510         (WebInspector.NetworkManager.get this):
1511         (WebInspector.NetworkManager.get NetworkAgent):
1512         (WebInspector.NetworkManager):
1513         * inspector/front-end/ResourceTreeModel.js:
1514         (WebInspector.ResourceTreeModel):
1515
1516 2012-08-07  Alexei Filippov  <alexeif@chromium.org>
1517
1518         Web Inspector: make the MemoryClassInfo class a not-template
1519         https://bugs.webkit.org/show_bug.cgi?id=93265
1520
1521         Reviewed by Yury Semikhatsky.
1522
1523         * bindings/js/ScriptWrappable.h:
1524         (WebCore::ScriptWrappable::reportMemoryUsage):
1525         * bindings/v8/DOMDataStore.cpp:
1526         (WebCore::DOMDataStore::reportMemoryUsage):
1527         * bindings/v8/IntrusiveDOMWrapperMap.h:
1528         (WebCore::ChunkedTable::reportMemoryUsage):
1529         * bindings/v8/ScriptWrappable.h:
1530         (WebCore::ScriptWrappable::reportMemoryUsage):
1531         * bindings/v8/V8Binding.cpp:
1532         (WebCore::V8BindingPerIsolateData::reportMemoryUsage):
1533         (WebCore::StringCache::reportMemoryUsage):
1534         * bindings/v8/V8DOMMap.h:
1535         * css/CSSAspectRatioValue.cpp:
1536         (WebCore::CSSAspectRatioValue::reportDescendantMemoryUsage):
1537         * css/CSSBorderImageSliceValue.cpp:
1538         (WebCore::CSSBorderImageSliceValue::reportDescendantMemoryUsage):
1539         * css/CSSCalculationValue.cpp:
1540         (WebCore::CSSCalcValue::reportDescendantMemoryUsage):
1541         * css/CSSCanvasValue.cpp:
1542         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
1543         * css/CSSCharsetRule.cpp:
1544         (WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
1545         * css/CSSComputedStyleDeclaration.cpp:
1546         (WebCore::CSSComputedStyleDeclaration::reportMemoryUsage):
1547         * css/CSSCrossfadeValue.cpp:
1548         (WebCore::CSSCrossfadeValue::reportDescendantMemoryUsage):
1549         * css/CSSCursorImageValue.cpp:
1550         (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
1551         * css/CSSFontFaceRule.cpp:
1552         (WebCore::CSSFontFaceRule::reportDescendantMemoryUsage):
1553         * css/CSSFontFaceSrcValue.cpp:
1554         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
1555         * css/CSSFunctionValue.cpp:
1556         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
1557         * css/CSSGradientValue.cpp:
1558         (WebCore::CSSGradientColorStop::reportMemoryUsage):
1559         (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
1560         (WebCore::CSSLinearGradientValue::reportDescendantMemoryUsage):
1561         (WebCore::CSSRadialGradientValue::reportDescendantMemoryUsage):
1562         * css/CSSImageGeneratorValue.cpp:
1563         (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
1564         * css/CSSImageSetValue.cpp:
1565         (WebCore::CSSImageSetValue::reportDescendantMemoryUsage):
1566         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
1567         * css/CSSImageValue.cpp:
1568         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
1569         * css/CSSImportRule.cpp:
1570         (WebCore::CSSImportRule::reportDescendantMemoryUsage):
1571         * css/CSSInheritedValue.cpp:
1572         (WebCore::CSSInheritedValue::reportDescendantMemoryUsage):
1573         * css/CSSInitialValue.cpp:
1574         (WebCore::CSSInitialValue::reportDescendantMemoryUsage):
1575         * css/CSSLineBoxContainValue.cpp:
1576         (WebCore::CSSLineBoxContainValue::reportDescendantMemoryUsage):
1577         * css/CSSMediaRule.cpp:
1578         (WebCore::CSSMediaRule::reportDescendantMemoryUsage):
1579         * css/CSSPageRule.cpp:
1580         (WebCore::CSSPageRule::reportDescendantMemoryUsage):
1581         * css/CSSPrimitiveValue.cpp:
1582         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
1583         * css/CSSProperty.cpp:
1584         (WebCore::CSSProperty::reportMemoryUsage):
1585         * css/CSSReflectValue.cpp:
1586         (WebCore::CSSReflectValue::reportDescendantMemoryUsage):
1587         * css/CSSRule.cpp:
1588         (WebCore::CSSRule::reportBaseClassMemoryUsage):
1589         * css/CSSRuleList.cpp:
1590         (WebCore::StaticCSSRuleList::reportMemoryUsage):
1591         * css/CSSRuleList.h:
1592         * css/CSSSelectorList.cpp:
1593         (WebCore::CSSSelectorList::reportMemoryUsage):
1594         * css/CSSStyleRule.cpp:
1595         (WebCore::CSSStyleRule::reportDescendantMemoryUsage):
1596         * css/CSSStyleSheet.cpp:
1597         (WebCore::CSSStyleSheet::reportMemoryUsage):
1598         * css/CSSTimingFunctionValue.cpp:
1599         (WebCore::CSSLinearTimingFunctionValue::reportDescendantMemoryUsage):
1600         (WebCore::CSSCubicBezierTimingFunctionValue::reportDescendantMemoryUsage):
1601         (WebCore::CSSStepsTimingFunctionValue::reportDescendantMemoryUsage):
1602         * css/CSSUnicodeRangeValue.cpp:
1603         (WebCore::CSSUnicodeRangeValue::reportDescendantMemoryUsage):
1604         * css/CSSUnknownRule.h:
1605         (WebCore::CSSUnknownRule::reportDescendantMemoryUsage):
1606         * css/CSSValue.cpp:
1607         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
1608         * css/CSSValueList.cpp:
1609         (WebCore::CSSValueList::reportDescendantMemoryUsage):
1610         * css/CSSVariableValue.h:
1611         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
1612         * css/FontFeatureValue.cpp:
1613         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
1614         * css/FontValue.cpp:
1615         (WebCore::FontValue::reportDescendantMemoryUsage):
1616         * css/MediaList.cpp:
1617         (WebCore::MediaQuerySet::reportMemoryUsage):
1618         (WebCore::MediaList::reportMemoryUsage):
1619         * css/MediaQuery.cpp:
1620         (WebCore::MediaQuery::reportMemoryUsage):
1621         * css/MediaQueryExp.cpp:
1622         (WebCore::MediaQueryExp::reportMemoryUsage):
1623         * css/PropertySetCSSStyleDeclaration.cpp:
1624         (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
1625         (WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage):
1626         (WebCore::InlineCSSStyleDeclaration::reportMemoryUsage):
1627         * css/ShadowValue.cpp:
1628         (WebCore::ShadowValue::reportDescendantMemoryUsage):
1629         * css/StylePropertySet.cpp:
1630         (WebCore::StylePropertySet::reportMemoryUsage):
1631         * css/StyleResolver.cpp:
1632         (WebCore::StyleResolver::Features::reportMemoryUsage):
1633         (WebCore::StyleResolver::collectMatchingRulesForList):
1634         * css/StyleRule.cpp:
1635         (WebCore::StyleRuleBase::reportMemoryUsage):
1636         (WebCore::StyleRule::reportDescendantMemoryUsage):
1637         (WebCore::StyleRulePage::reportDescendantMemoryUsage):
1638         (WebCore::StyleRuleFontFace::reportDescendantMemoryUsage):
1639         (WebCore::StyleRuleBlock::reportDescendantMemoryUsage):
1640         (WebCore::StyleRuleMedia::reportDescendantMemoryUsage):
1641         (WebCore::StyleRuleRegion::reportDescendantMemoryUsage):
1642         * css/StyleRuleImport.cpp:
1643         (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
1644         * css/StyleSheetContents.cpp:
1645         (WebCore::StyleSheetContents::reportMemoryUsage):
1646         * css/WebKitCSSFilterValue.cpp:
1647         (WebCore::WebKitCSSFilterValue::reportDescendantMemoryUsage):
1648         * css/WebKitCSSKeyframeRule.cpp:
1649         (WebCore::StyleKeyframe::reportMemoryUsage):
1650         (WebCore::WebKitCSSKeyframeRule::reportDescendantMemoryUsage):
1651         * css/WebKitCSSKeyframesRule.cpp:
1652         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
1653         (WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage):
1654         * css/WebKitCSSMixFunctionValue.cpp:
1655         (WebCore::WebKitCSSMixFunctionValue::reportDescendantMemoryUsage):
1656         * css/WebKitCSSRegionRule.cpp:
1657         (WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage):
1658         * css/WebKitCSSSVGDocumentValue.cpp:
1659         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
1660         * css/WebKitCSSShaderValue.cpp:
1661         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
1662         * css/WebKitCSSTransformValue.cpp:
1663         (WebCore::WebKitCSSTransformValue::reportDescendantMemoryUsage):
1664         * dom/CharacterData.cpp:
1665         (WebCore::CharacterData::reportMemoryUsage):
1666         * dom/ContainerNode.h:
1667         (WebCore::ContainerNode::reportMemoryUsage):
1668         * dom/Document.cpp:
1669         (WebCore::Document::reportMemoryUsage):
1670         * dom/Element.h:
1671         (WebCore::Element::reportMemoryUsage):
1672         * dom/ElementAttributeData.cpp:
1673         (WebCore::ElementAttributeData::reportMemoryUsage):
1674         * dom/MemoryInstrumentation.h:
1675         (MemoryInstrumentation):
1676         (MemoryObjectInfo):
1677         (WebCore::MemoryObjectInfo::reportObjectInfo):
1678         (MemoryClassInfo):
1679         (WebCore::MemoryClassInfo::MemoryClassInfo):
1680         * dom/Node.cpp:
1681         (WebCore::Node::reportMemoryUsage):
1682         * dom/QualifiedName.h:
1683         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
1684         (WebCore::QualifiedName::reportMemoryUsage):
1685         * loader/DocumentLoader.cpp:
1686         (WebCore::DocumentLoader::reportMemoryUsage):
1687         * loader/FrameLoader.cpp:
1688         (WebCore::FrameLoader::reportMemoryUsage):
1689         * loader/ResourceLoader.cpp:
1690         (WebCore::ResourceLoader::reportMemoryUsage):
1691         * loader/cache/CachedCSSStyleSheet.cpp:
1692         (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
1693         * loader/cache/CachedFont.cpp:
1694         (WebCore::CachedFont::reportMemoryUsage):
1695         * loader/cache/CachedImage.cpp:
1696         (WebCore::CachedImage::reportMemoryUsage):
1697         * loader/cache/CachedRawResource.cpp:
1698         (WebCore::CachedRawResource::reportMemoryUsage):
1699         * loader/cache/CachedResource.cpp:
1700         (WebCore::CachedResource::reportMemoryUsage):
1701         * loader/cache/CachedResourceHandle.cpp:
1702         (WebCore::CachedResourceHandleBase::reportMemoryUsage):
1703         * loader/cache/CachedResourceLoader.cpp:
1704         (WebCore::CachedResourceLoader::reportMemoryUsage):
1705         * loader/cache/CachedSVGDocument.cpp:
1706         (WebCore::CachedSVGDocument::reportMemoryUsage):
1707         * loader/cache/CachedScript.cpp:
1708         (WebCore::CachedScript::reportMemoryUsage):
1709         * loader/cache/CachedShader.cpp:
1710         (WebCore::CachedShader::reportMemoryUsage):
1711         * loader/cache/CachedXSLStyleSheet.cpp:
1712         (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
1713         * loader/cache/MemoryCache.cpp:
1714         (WebCore::MemoryCache::reportMemoryUsage):
1715         * page/Frame.cpp:
1716         (WebCore::Frame::reportMemoryUsage):
1717         * platform/SharedBuffer.cpp:
1718         (WebCore::SharedBuffer::reportMemoryUsage):
1719         * platform/TreeShared.h:
1720         (WebCore::TreeShared::reportMemoryUsage):
1721         * rendering/style/RenderStyle.cpp:
1722         (WebCore::RenderStyle::reportMemoryUsage):
1723         * rendering/style/StyleRareInheritedData.cpp:
1724         (WebCore::StyleRareInheritedData::reportMemoryUsage):
1725         * rendering/style/StyleRareNonInheritedData.cpp:
1726         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
1727         * svg/SVGColor.cpp:
1728         (WebCore::SVGColor::reportDescendantMemoryUsage):
1729         * svg/SVGPaint.cpp:
1730         (WebCore::SVGPaint::reportDescendantMemoryUsage):
1731
1732 2012-08-02  Simon Hausmann  <simon.hausmann@nokia.com>
1733
1734         [Qt] Remove Qt 4 specific code paths
1735         https://bugs.webkit.org/show_bug.cgi?id=88161
1736
1737         Reviewed by Kenneth Rohde Christiansen.
1738
1739         * Target.pri:
1740         * WebCore.pri:
1741         * bridge/qt/qt_class.cpp:
1742         (JSC::Bindings::QtClass::fallbackObject):
1743         * bridge/qt/qt_instance.cpp:
1744         (JSC::Bindings::QtInstance::getPropertyNames):
1745         (JSC::Bindings::QtInstance::stringValue):
1746         (JSC::Bindings::QtField::setValueToInstance):
1747         * bridge/qt/qt_runtime.h:
1748         (QtConnectionObject):
1749         * bridge/qt/qt_runtime_qt4.cpp: Removed.
1750         * editing/qt/SmartReplaceQt.cpp: Removed.
1751         * page/qt/EventHandlerQt.cpp:
1752         (WebCore::EventHandler::tabsToAllFormControls):
1753         * platform/graphics/GraphicsContext3D.h:
1754         * platform/graphics/OpenGLShims.cpp:
1755         (WebCore::getProcAddress):
1756         * platform/graphics/OpenGLShims.h:
1757         * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
1758         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
1759         (FullScreenVideoWindow::FullScreenVideoWindow):
1760         (FullScreenVideoWindow::keyPressEvent):
1761         (FullScreenVideoWindow::event):
1762         (FullScreenVideoWindow::showFullScreen):
1763         (PlatformVideoWindow::PlatformVideoWindow):
1764         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1765         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
1766         (WebCore::GraphicsContext3DPrivate::makeCurrentIfNeeded):
1767         * platform/graphics/qt/GraphicsContextQt.cpp:
1768         (WebCore::GraphicsContext::releaseWindowsContext):
1769         * platform/graphics/qt/ImageQt.cpp:
1770         (WebCore::BitmapImage::create):
1771         * platform/graphics/qt/SimpleFontDataQt.cpp:
1772         (WebCore::SimpleFontData::platformInit):
1773         * platform/graphics/texmap/TextureMapper.h:
1774         * platform/graphics/texmap/TextureMapperGL.cpp:
1775         (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
1776         * platform/qt/DeviceMotionProviderQt.h:
1777         * platform/qt/DeviceOrientationProviderQt.h:
1778         * platform/qt/KURLQt.cpp:
1779         (WebCore::KURL::operator QUrl):
1780         * platform/qt/PlatformScreenQt.cpp:
1781         (WebCore::screenDepth):
1782         (WebCore::screenDepthPerComponent):
1783         (WebCore::screenIsMonochrome):
1784         (WebCore::screenRect):
1785         (WebCore::screenAvailableRect):
1786         * platform/qt/QWebPageClient.h:
1787         (QWebPageClient):
1788         * platform/qt/RenderThemeQt.cpp:
1789         * platform/text/qt/TextBreakIteratorQt.cpp: Removed.
1790         * plugins/qt/PluginContainerQt.cpp: Removed.
1791         * plugins/qt/PluginContainerQt.h: Removed.
1792         * plugins/qt/PluginPackageQt.cpp:
1793         (WebCore::PluginPackage::isPluginBlacklisted):
1794         * plugins/qt/PluginViewQt.cpp:
1795         (WebCore::PluginView::setFocus):
1796         (WebCore::PluginView::paintUsingXPixmap):
1797         (WebCore::setSharedXEventFields):
1798         (WebCore::PluginView::setNPWindowIfNeeded):
1799         (WebCore::PluginView::setParentVisible):
1800         (WebCore::PluginView::platformGetValue):
1801         (WebCore::PluginView::invalidateRect):
1802         (WebCore::getVisualAndColormap):
1803         (WebCore::PluginView::platformStart):
1804         * plugins/win/PluginViewWin.cpp:
1805         (windowHandleForPageClient):
1806
1807 2012-08-06  Andrey Kosyakov  <caseq@chromium.org>
1808
1809         Web Inspector: implement reusable progress bar
1810         https://bugs.webkit.org/show_bug.cgi?id=93267
1811
1812         - Generic progress bar implementation to be used
1813             by various long-running operations in inspector.
1814
1815         Test: inspector/progress-bar.html
1816
1817         Reviewed by Pavel Feldman.
1818
1819         * WebCore.gypi: Added ProgressBar.js
1820         * WebCore.vcproj/WebCore.vcproj: ditto.
1821         * inspector/compile-front-end.py: ditto.
1822         * inspector/front-end/AdvancedSearchController.js: renamed style for stop button.
1823         (WebInspector.SearchView):
1824         * inspector/front-end/ProgressBar.js: Added.
1825         (WebInspector.Progress): Interface for both ProgressIndicator and SubProgress.
1826         (WebInspector.Progress.prototype.setTotalWork):
1827         (WebInspector.Progress.prototype.setTitle):
1828         (WebInspector.Progress.prototype.setWorked):
1829         (WebInspector.Progress.prototype.done):
1830         (WebInspector.Progress.prototype.isCanceled):
1831         (WebInspector.ProgressIndicator): A UI control that implements Progress.
1832         (WebInspector.ProgressIndicator.prototype.show):
1833         (WebInspector.ProgressIndicator.prototype.hide):
1834         (WebInspector.ProgressIndicator.prototype.done):
1835         (WebInspector.ProgressIndicator.prototype._cancel):
1836         (WebInspector.ProgressIndicator.prototype.isCanceled):
1837         (WebInspector.ProgressIndicator.prototype.setTitle):
1838         (WebInspector.ProgressIndicator.prototype.setTotalWork):
1839         (WebInspector.ProgressIndicator.prototype.setWorked):
1840         (WebInspector.CompositeProgress): A progress bar that is composed of several SubProgress bars and uses a Progress to display total progress of all tasks.
1841         (WebInspector.CompositeProgress.prototype._childDone):
1842         (WebInspector.CompositeProgress.prototype.createSubProgress):
1843         (WebInspector.CompositeProgress.prototype._update):
1844         (WebInspector.SubProgress): A child of CompositeProgress, implements Progress interface.
1845         (WebInspector.SubProgress.prototype.isCanceled):
1846         (WebInspector.SubProgress.prototype.setTitle):
1847         (WebInspector.SubProgress.prototype.done):
1848         (WebInspector.SubProgress.prototype.setTotalWork):
1849         (WebInspector.SubProgress.prototype.setWorked):
1850         * inspector/front-end/WebKit.qrc: Added ProgressBar.js
1851         * inspector/front-end/inspector.css:
1852         (.progress-bar-stop-button-item):
1853         (.progress-bar-stop-button .glyph):
1854         (.progress-bar-container):
1855         (.progress-bar-container span):
1856         (.progress-bar-container progress):
1857         (.progress-bar-container button.status-bar-item):
1858         * inspector/front-end/inspector.html:
1859
1860 2012-08-07  Peter Rybin  <peter.rybin@gmail.com>
1861
1862         Web Inspector: display function scope in UI
1863         https://bugs.webkit.org/show_bug.cgi?id=90631
1864
1865         Reviewed by Yury Semikhatsky.
1866
1867         Two new tree element types added: function scope group node and scope node.
1868         Scope node is only used to represent closure and catch scopes. Scopes that
1869         have a real object beneath are represented as a property node.
1870         A method that reads properties from RemoteObject and populate tree element
1871         is factored out from RemoteObjectTreeElement for reuse.
1872
1873         * inspector/front-end/ObjectPropertiesSection.js:
1874         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
1875         (WebInspector.ObjectPropertyTreeElement.Populate.callback):
1876         (WebInspector.ObjectPropertyTreeElement.Populate):
1877         (WebInspector.FunctionScopeMainTreeElement):
1878         (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate.didGetDetails):
1879         (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate):
1880         (WebInspector.FunctionScopeMainTreeElement.prototype.onattach):
1881         (WebInspector.FunctionScopeMainTreeElement.prototype.update):
1882         (WebInspector.ScopeTreeElement):
1883         (WebInspector.ScopeTreeElement.prototype.onpopulate):
1884         (WebInspector.ScopeTreeElement.prototype.onattach):
1885         (WebInspector.ScopeTreeElement.prototype.update):
1886         * inspector/front-end/RemoteObject.js:
1887         (WebInspector.RemoteObjectProperty.fromScopeValue):
1888
1889
1890 2012-08-07  Vineet Chaudhary  <rgf748@motorola.com>
1891
1892         [V8] Remove custom toV8() calls for TypedArray.
1893         https://bugs.webkit.org/show_bug.cgi?id=93248
1894
1895         Reviewed by Kentaro Hara.
1896
1897         With the support of [TypedArray] we can remove the custom calls toV8().
1898         TypedArray spec : http://www.khronos.org/registry/typedarray/specs/latest/#7
1899
1900         Tests: TestTypedArray.idl
1901         Tests under below folders should pass as this does not cause any behavioral changes.
1902                fast/canvas/webgl
1903                compositing/webgl
1904
1905         * bindings/js/JSInt8ArrayCustom.cpp:
1906         * bindings/js/JSUint8ArrayCustom.cpp:
1907         * bindings/js/JSUint8ClampedArrayCustom.cpp:
1908         * bindings/scripts/CodeGeneratorV8.pm:
1909         (GenerateImplementation): Modified Generator code to generate bindings for toV8().
1910         (IsWrapperType):
1911         (GetTypeNameOfExternalTypedArray): Method to get view type of TypedArray.
1912         * bindings/scripts/test/V8/V8Float64Array.cpp: Tests results.
1913         (WebCore::toV8):
1914         * bindings/v8/custom/V8Float32ArrayCustom.cpp: Removed custom call toV8().
1915         * bindings/v8/custom/V8Float64ArrayCustom.cpp: Ditto.
1916         * bindings/v8/custom/V8Int16ArrayCustom.cpp: Ditto.
1917         * bindings/v8/custom/V8Int32ArrayCustom.cpp: Ditto.
1918         * bindings/v8/custom/V8Int8ArrayCustom.cpp: Ditto.
1919         * bindings/v8/custom/V8Uint16ArrayCustom.cpp: Ditto.
1920         * bindings/v8/custom/V8Uint32ArrayCustom.cpp: Ditto.
1921         * bindings/v8/custom/V8Uint8ArrayCustom.cpp: Ditto.
1922         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: Ditto.
1923         * html/canvas/Int8Array.idl: Using TypedArray.
1924         * html/canvas/Uint8Array.idl: Ditto.
1925         * html/canvas/Uint8ClampedArray.idl: Ditto.
1926
1927 2012-08-07  Pavel Feldman  <pfeldman@chromium.org>
1928
1929         Web Inspector: [regression r121673] restore link between the command and the result.
1930         https://bugs.webkit.org/show_bug.cgi?id=93280
1931
1932         Reviewed by Vsevolod Vlasov.
1933
1934         Passing lost parameter along.
1935
1936         Test: inspector/console/console-originating-command.html
1937
1938         * inspector/front-end/ConsoleView.js:
1939         (WebInspector.ConsoleView.prototype.runScript.runCallback):
1940         (WebInspector.ConsoleView.prototype.runScript):
1941         (WebInspector.ConsoleView.prototype._printResult):
1942
1943 2012-08-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1944
1945         CUSTOM_SCHEME_HANDLER flag should depend on REGISTER_PROTOCOL_HANDLER
1946         https://bugs.webkit.org/show_bug.cgi?id=93081
1947
1948         Reviewed by Adam Barth.
1949
1950         CUSTOM_SCHEME_HANDLER #if guards are enclosed in the REGISTER_PROTOCOL_HANDLER guards.
1951         The whole NavigatorRegisterProtocolHandler interface is conditional on REGISTER_PROTOCOL_HANDLER
1952         CUSTOM_SCHEME_HANDLER-specific methods only are conditional on CUSTOM_SCHEME_HANDLER.
1953
1954         No new tests. No new functionality is added.
1955
1956         * Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp:
1957         (WebCore::NavigatorRegisterProtocolHandler::registerProtocolHandler):
1958         * Modules/protocolhandler/NavigatorRegisterProtocolHandler.h:
1959         (NavigatorRegisterProtocolHandler):
1960         * Modules/protocolhandler/NavigatorRegisterProtocolHandler.idl:
1961         * Modules/protocolhandler/RegisterProtocolHandlerClient.h:
1962
1963 2012-08-07  Xingnan Wang  <xingnan.wang@intel.com>
1964
1965         IndexedDB: Size the Vector in encodeInt/encodeVarInt/encodeString
1966         https://bugs.webkit.org/show_bug.cgi?id=91813
1967
1968         Reviewed by Kentaro Hara.
1969
1970         To avoid memory re-allocation in Vector, init the capability or size of Vector in encodeInt(), encodeVarInt(),
1971         encodeBool(), encodeIDBKey() etc.
1972
1973         No new tests - Low level functions covered by existing layout tests and also covered by Chromium
1974         webkit_unit_tests IDBLevelIDBCodingTest.* which validates the sizes of buffers returned by encodeVarInt.
1975
1976         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1977         (WebCore::IDBLevelDBCoding::encodeInt):
1978         (WebCore::IDBLevelDBCoding::encodeVarInt):
1979         (WebCore::IDBLevelDBCoding::encodeString):
1980
1981 2012-08-06  Arko Saha  <arko@motorola.com>
1982
1983         Microdata: itemType[index] must be undefined for out-of-range index.
1984         https://bugs.webkit.org/show_bug.cgi?id=92988
1985
1986         Reviewed by Kentaro Hara.
1987
1988         Made changes in IndexedGetter property so that it returns undefined
1989         for out-of-range index.
1990         Spec: http://www.w3.org/TR/WebIDL/#idl-indexed-properties
1991         Firefox and Opera's behavior is consistent with the spec. Both returns
1992         undefined for out-of-range index.
1993
1994         Also renamed the function name collectionStringOrNullIndexedPropertyGetter and
1995         setCollectionStringOrNullIndexedGetter to collectionStringOrUndefinedIndexedPropertyGetter
1996         and setCollectionStringOrUndefinedIndexedGetter respectively.
1997
1998         Test: fast/dom/MicroData/domsettabletokenlist-attributes-out-of-range-index.html
1999
2000         * bindings/scripts/CodeGeneratorJS.pm:
2001         (GenerateImplementation):
2002         * bindings/scripts/CodeGeneratorV8.pm:
2003         (GenerateImplementationIndexer):
2004         * bindings/v8/V8Collection.h:
2005         (WebCore::collectionStringOrUndefinedIndexedPropertyGetter):
2006         (WebCore::setCollectionStringOrUndefinedIndexedGetter):
2007
2008 2012-08-06  David Grogan  <dgrogan@chromium.org>
2009
2010         IndexedDB: Make leveldb store integer versions and migrate old schemas
2011         https://bugs.webkit.org/show_bug.cgi?id=92883
2012
2013         Reviewed by Tony Chang.
2014
2015         Our first schema change. If an existing DB doesn't have integer
2016         versions, this will add one to all object stores in the origin.
2017
2018         No new tests - chrome test for the migration forthcoming. Will involve
2019         starting with a leveldb directory from an old build of chrome, opening
2020         it up with the migration code in place, and checking the new database.
2021         http://codereview.chromium.org/10826159/
2022
2023         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
2024         (WebCore::putVarInt):
2025         (WebCore):
2026         (WebCore::setUpMetadata):
2027         Uses the ASSERT-but-still-handle-corruption pattern recently discussed
2028         in https://bugs.webkit.org/show_bug.cgi?id=92725#c13.
2029
2030         (WebCore::IDBLevelDBBackingStore::open):
2031         (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
2032         Because we can't store negative numbers, store 0 instead of -1.
2033
2034         (WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
2035         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
2036         * Modules/indexeddb/IDBLevelDBCoding.h:
2037         * Modules/indexeddb/IDBMetadata.h:
2038
2039 2012-08-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2040
2041         Unreviewed, rolling out r124780.
2042         http://trac.webkit.org/changeset/124780
2043         https://bugs.webkit.org/show_bug.cgi?id=93340
2044
2045         We don't want an incomplete feature set for the chromium
2046         branch cut. (Requested by annacc on #webkit).
2047
2048         * CMakeLists.txt:
2049         * DerivedSources.cpp:
2050         * DerivedSources.make:
2051         * DerivedSources.pri:
2052         * GNUmakefile.list.am:
2053         * Modules/mediasource/MediaSource.cpp: Removed.
2054         * Modules/mediasource/MediaSource.h: Removed.
2055         * Modules/mediasource/MediaSource.idl: Removed.
2056         * Modules/mediasource/MediaSourceRegistry.cpp: Removed.
2057         * Modules/mediasource/MediaSourceRegistry.h: Removed.
2058         * Modules/mediasource/SourceBuffer.cpp:
2059         (WebCore::SourceBuffer::SourceBuffer):
2060         (WebCore::SourceBuffer::buffered):
2061         (WebCore::SourceBuffer::append):
2062         (WebCore::SourceBuffer::abort):
2063         * Modules/mediasource/SourceBuffer.h:
2064         (WebCore::SourceBuffer::create):
2065         (WebCore::SourceBuffer::clear):
2066         (SourceBuffer):
2067         * Modules/mediasource/SourceBufferList.cpp:
2068         * Modules/mediasource/SourceBufferList.h:
2069         * Target.pri:
2070         * WebCore.gypi:
2071         * WebCore.vcproj/WebCore.vcproj:
2072         * WebCore.xcodeproj/project.pbxproj:
2073         * dom/EventTarget.h:
2074         (WebCore):
2075         * dom/EventTargetFactory.in:
2076         * html/DOMURL.cpp:
2077         * html/DOMURL.h:
2078         (WebCore):
2079         (DOMURL):
2080         * html/DOMURL.idl:
2081         * page/DOMWindow.idl:
2082
2083 2012-08-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2084
2085         Unreviewed, rolling out r124798.
2086         http://trac.webkit.org/changeset/124798
2087         https://bugs.webkit.org/show_bug.cgi?id=93337
2088
2089         We don't want an incomplete feature set for the chromium
2090         branch cut. (Requested by annacc on #webkit).
2091
2092         * html/DOMURL.cpp:
2093         (WebCore::DOMURL::createObjectURL):
2094         * html/PublicURLManager.h:
2095         (WebCore::PublicURLManager::contextDestroyed):
2096         (PublicURLManager):
2097
2098 2012-08-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2099
2100         Unreviewed, rolling out r124848.
2101         http://trac.webkit.org/changeset/124848
2102         https://bugs.webkit.org/show_bug.cgi?id=93336
2103
2104         Caused 3 tests to crash on chromium Linux32/Mac10.6/Linux
2105         (Requested by toyoshim on #webkit).
2106
2107         * html/HTMLMediaElement.cpp:
2108         (WebCore):
2109         (WebCore::HTMLMediaElement::HTMLMediaElement):
2110         (WebCore::HTMLMediaElement::parseAttribute):
2111         (WebCore::HTMLMediaElement::prepareForLoad):
2112         (WebCore::HTMLMediaElement::loadResource):
2113         (WebCore::HTMLMediaElement::noneSupported):
2114         (WebCore::HTMLMediaElement::mediaEngineError):
2115         (WebCore::HTMLMediaElement::mediaPlayerSourceOpened):
2116         (WebCore::HTMLMediaElement::isValidSourceId):
2117         (WebCore::HTMLMediaElement::seek):
2118         (WebCore::HTMLMediaElement::webkitSourceAddId):
2119         (WebCore::HTMLMediaElement::webkitSourceRemoveId):
2120         (WebCore::HTMLMediaElement::webkitSourceBuffered):
2121         (WebCore::HTMLMediaElement::webkitSourceAppend):
2122         (WebCore::HTMLMediaElement::webkitSourceAbort):
2123         (WebCore::HTMLMediaElement::webkitSourceEndOfStream):
2124         (WebCore::HTMLMediaElement::webkitSourceState):
2125         (WebCore::HTMLMediaElement::setSourceState):
2126         (WebCore::HTMLMediaElement::userCancelledLoad):
2127         (WebCore::HTMLMediaElement::createMediaPlayer):
2128         * html/HTMLMediaElement.h:
2129         (HTMLMediaElement):
2130         * html/HTMLMediaElement.idl:
2131
2132 2012-08-06  Anna Cavender  <annacc@chromium.org>
2133
2134         Update HTMLMediaElement to the new OO MediaSource API.
2135         https://bugs.webkit.org/show_bug.cgi?id=91775
2136
2137         Reviewed by Eric Carlson.
2138
2139         This patch rips out the old-style MediaSource API and allows a
2140         MediaSource object to be attached to HTMLMediaElement.
2141         http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
2142
2143         Test: http/tests/media/media-source/video-media-source-add-and-remove-buffers.html
2144
2145         Tests: updates to http/tests/media/media-source/*
2146
2147         * html/HTMLMediaElement.cpp:
2148         (WebCore):
2149         (WebCore::HTMLMediaElement::HTMLMediaElement): Remove old style API resources.
2150         (WebCore::HTMLMediaElement::parseAttribute): Remove old style event attributes.
2151         (WebCore::HTMLMediaElement::prepareForLoad): Set source state to "closed".
2152         (WebCore::HTMLMediaElement::loadResource): Get MediaSource object from blob registry
2153             look up and, if found, set it's MediaPlayer pointer to the current MediaPlayer.
2154         (WebCore::HTMLMediaElement::noneSupported): Set source state to "closed".
2155         (WebCore::HTMLMediaElement::mediaEngineError): Set source state to "closed".
2156         (WebCore::HTMLMediaElement::mediaPlayerSourceOpened): Set source state to "open".
2157         (WebCore::HTMLMediaElement::mediaPlayerSourceURL): Change to new blob URL.
2158         (WebCore::HTMLMediaElement::seek): Check if source state is "closed".
2159         (WebCore::HTMLMediaElement::setSourceState): Helper function so that we don't have to
2160             keep checking for m_mediaSource.
2161         (WebCore::HTMLMediaElement::userCancelledLoad): Set source state to "closed".
2162         (WebCore::HTMLMediaElement::createMediaPlayer): If the current MediaPlayer is re-
2163             created, notify the MediaSource and reset its MediaPlayer.
2164
2165         * html/HTMLMediaElement.h: Remove old style API code and add a MediaSource object.
2166         (HTMLMediaElement):
2167         * html/HTMLMediaElement.idl: Remove old style API.
2168
2169 2012-08-06  Adam Barth  <abarth@webkit.org>
2170
2171         BindingSecurity::shouldAllowAccessToFrame shouldn't use a raw boolean parameter
2172         https://bugs.webkit.org/show_bug.cgi?id=93323
2173
2174         Reviewed by Eric Seidel.
2175
2176         As requested by Eric. This patch also renames the function to match its
2177         counterpart in the JavaScriptCore bindings.
2178
2179         * bindings/generic/BindingSecurity.cpp:
2180         (WebCore::canAccessDocument):
2181         (WebCore::BindingSecurity::shouldAllowAccessToFrame):
2182         (WebCore::BindingSecurity::shouldAllowAccessToNode):
2183         (WebCore::BindingSecurity::allowSettingFrameSrcToJavascriptUrl):
2184         * bindings/generic/BindingSecurity.h:
2185         (BindingSecurity):
2186         * bindings/scripts/CodeGeneratorV8.pm:
2187         (GenerateDomainSafeFunctionGetter):
2188         (GenerateReplaceableAttrSetter):
2189         (GenerateFunctionCallback):
2190         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2191         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
2192         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
2193         * bindings/v8/ScriptController.cpp:
2194         (WebCore::ScriptController::canAccessFromCurrentOrigin):
2195         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2196         (WebCore::WindowSetTimeoutImpl):
2197         (WebCore::V8DOMWindow::eventAccessorGetter):
2198         (WebCore::V8DOMWindow::eventAccessorSetter):
2199         (WebCore::V8DOMWindow::openerAccessorSetter):
2200         (WebCore::V8DOMWindow::addEventListenerCallback):
2201         (WebCore::V8DOMWindow::removeEventListenerCallback):
2202         (WebCore::V8DOMWindow::showModalDialogCallback):
2203         (WebCore::V8DOMWindow::openCallback):
2204         (WebCore::V8DOMWindow::namedSecurityCheck):
2205         (WebCore::V8DOMWindow::indexedSecurityCheck):
2206         * bindings/v8/custom/V8HistoryCustom.cpp:
2207         (WebCore::V8History::indexedSecurityCheck):
2208         (WebCore::V8History::namedSecurityCheck):
2209         * bindings/v8/custom/V8InjectedScriptManager.cpp:
2210         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2211         * bindings/v8/custom/V8LocationCustom.cpp:
2212         (WebCore::V8Location::reloadAccessorGetter):
2213         (WebCore::V8Location::replaceAccessorGetter):
2214         (WebCore::V8Location::assignAccessorGetter):
2215         (WebCore::V8Location::toStringCallback):
2216         (WebCore::V8Location::indexedSecurityCheck):
2217         (WebCore::V8Location::namedSecurityCheck):
2218
2219 2012-08-06  Yuta Kitamura  <yutak@chromium.org>
2220
2221         WebSocket.send() should accept ArrayBufferView
2222         https://bugs.webkit.org/show_bug.cgi?id=90877
2223
2224         Reviewed by Kent Tamura.
2225
2226         Accept ArrayBufferView as an argument of WebSocket.send() to comply with recent change
2227         in specification: <http://html5.org/tools/web-apps-tracker?from=7084&to=7085>.
2228
2229         Once WebSocket.send(ArrayBuffer) was removed from the specification, but added back
2230         in <http://html5.org/tools/web-apps-tracker?from=7202&to=7203>. Thus the functionality
2231         of send(ArrayBuffer) is kept as-is.
2232
2233         Tests: http/tests/websocket/tests/hybi/send-arraybufferview.html
2234                http/tests/websocket/tests/hybi/workers/send-arraybufferview.html
2235
2236         * Modules/websockets/ThreadableWebSocketChannel.h:
2237         Change the signature of send() to receive offset and length so the clients can send
2238         subrange of an ArrayBuffer.
2239         * Modules/websockets/WebSocket.cpp:
2240         (WebCore::WebSocket::send):
2241         WebSocket.send(ArrayBufferView) is added, which puts the sub region of the given
2242         ArrayBuffer into the outgoing frame queue.
2243         * Modules/websockets/WebSocket.h:
2244         * Modules/websockets/WebSocket.idl:
2245         * Modules/websockets/WebSocketChannel.cpp:
2246         (WebCore::WebSocketChannel::send):
2247         * Modules/websockets/WebSocketChannel.h:
2248         (WebSocketChannel):
2249         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2250         (WebCore::WorkerThreadableWebSocketChannel::send):
2251         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
2252         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
2253         Send only necessary part of data to the main thread.
2254         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2255         (WorkerThreadableWebSocketChannel):
2256         (Bridge):
2257         * bindings/js/JSWebSocketCustom.cpp:
2258         (WebCore::JSWebSocket::send): Accept ArrayBufferView in send().
2259         * bindings/v8/custom/V8WebSocketCustom.cpp:
2260         (WebCore::V8WebSocket::sendCallback): Ditto.
2261
2262 2012-08-06  James Robinson  <jamesr@chromium.org>
2263
2264         [chromium] Add gyp variable to control which compositor target is depended on
2265         https://bugs.webkit.org/show_bug.cgi?id=93165
2266
2267         Reviewed by Adam Barth.
2268
2269         This adds a use_libcc_for_compositor gyp variable to control whether webcore_platform links in the compositor
2270         code from the webcore_chromium_compositor target or from cc from the chromium repo.
2271
2272         * WebCore.gyp/WebCore.gyp:
2273         * WebCore.gypi:
2274
2275 2012-08-06  Shinya Kawanaka  <shinyak@chromium.org>
2276
2277         Crash in GenericEventQueue::timerFired since the owner of GenericEventQueue is deleted during dispatching events.
2278         https://bugs.webkit.org/show_bug.cgi?id=92946
2279
2280         Reviewed by Eric Carlson.
2281
2282         In GenericEventQueue::timerFired(), the owner of GenericEventQueue might be deleted.
2283         We have to protect the owner of GenericEventQueue during dispatching events.
2284
2285         Test: media/event-queue-crash.html
2286
2287         * dom/GenericEventQueue.cpp:
2288         (WebCore::GenericEventQueue::timerFired): Added a protection.
2289
2290 2012-08-06  Joshua Bell  <jsbell@chromium.org>
2291
2292         IndexedDB: Remove IDBRequest::finishCursor() and plumbing
2293         https://bugs.webkit.org/show_bug.cgi?id=93274
2294
2295         Reviewed by Tony Chang.
2296
2297         Delete an unused flag and code for setting it, rendered obsolete in r123275.
2298
2299         No new tests - no functional changes.
2300
2301         * Modules/indexeddb/IDBCursor.cpp:
2302         (WebCore::IDBCursor::close):
2303         * Modules/indexeddb/IDBRequest.cpp:
2304         (WebCore::IDBRequest::IDBRequest):
2305         * Modules/indexeddb/IDBRequest.h:
2306         (IDBRequest):
2307
2308 2012-08-06  James Robinson  <jamesr@chromium.org>
2309
2310         [chromium] Remove lingering unwrap<>() calls in GraphicsLayerChromium.cpp
2311         https://bugs.webkit.org/show_bug.cgi?id=93319
2312
2313         Reviewed by Adrienne Walker.
2314
2315         Gets rid of all (but one) of the remaining unwrap<LayerChromium>() calls in GraphicsLayer chromium to avoid
2316         punching through the WebLayer API.  Covered by many layout tests, mostly in compositing/
2317
2318         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2319         (WebCore::GraphicsLayerChromium::willBeDestroyed):
2320         (WebCore::GraphicsLayerChromium::setName):
2321         (WebCore::GraphicsLayerChromium::updateNames):
2322         (WebCore::GraphicsLayerChromium::setMaskLayer):
2323         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
2324         (WebCore::GraphicsLayerChromium::setContentsToImage):
2325         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
2326         (WebCore::GraphicsLayerChromium::setContentsToMedia):
2327         (WebCore::GraphicsLayerChromium::updateChildList):
2328         (WebCore::GraphicsLayerChromium::setupContentsLayer):
2329         * platform/graphics/chromium/GraphicsLayerChromium.h:
2330         (GraphicsLayerChromium):
2331
2332 2012-08-06  Adrienne Walker  <enne@google.com>
2333
2334         [chromium] Convert WebScrollbarThemeGeometry from a concrete class to an interface
2335         https://bugs.webkit.org/show_bug.cgi?id=93308
2336
2337         Reviewed by James Robinson.
2338
2339         Convert WebScrollbarThemeGeometry to be an interface. Create a new
2340         WebScrollbarThemeGeometryNative implementation to wrap a native theme
2341         pointer.
2342
2343         Update ScrollbarLayerChromium/CCScrollbarLayerImpl to use a pointer to
2344         this interface rather than a concrete member variable. Because both
2345         layer types need to access the theme during painting or compositing
2346         and either layer could go away at any time, the theme is cloned during
2347         commit rather than dealing with refcounting across threads or having
2348         one layer type be the sole owner.
2349
2350         * WebCore.gypi:
2351         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2352         (WebCore::createScrollbarLayer):
2353         * platform/chromium/support/WebScrollbarThemeGeometryNative.cpp: Renamed from Source/WebKit/chromium/src/WebScrollbarThemeGeometry.cpp.
2354         (WebKit):
2355         (WebKit::WebScrollbarThemeGeometryNative::create):
2356         (WebKit::WebScrollbarThemeGeometryNative::WebScrollbarThemeGeometryNative):
2357         (WebKit::WebScrollbarThemeGeometryNative::clone):
2358         (WebKit::WebScrollbarThemeGeometryNative::thumbPosition):
2359         (WebKit::WebScrollbarThemeGeometryNative::thumbLength):
2360         (WebKit::WebScrollbarThemeGeometryNative::trackPosition):
2361         (WebKit::WebScrollbarThemeGeometryNative::trackLength):
2362         (WebKit::WebScrollbarThemeGeometryNative::hasButtons):
2363         (WebKit::WebScrollbarThemeGeometryNative::hasThumb):
2364         (WebKit::WebScrollbarThemeGeometryNative::trackRect):
2365         (WebKit::WebScrollbarThemeGeometryNative::thumbRect):
2366         (WebKit::WebScrollbarThemeGeometryNative::minimumThumbLength):
2367         (WebKit::WebScrollbarThemeGeometryNative::scrollbarThickness):
2368         (WebKit::WebScrollbarThemeGeometryNative::backButtonStartRect):
2369         (WebKit::WebScrollbarThemeGeometryNative::backButtonEndRect):
2370         (WebKit::WebScrollbarThemeGeometryNative::forwardButtonStartRect):
2371         (WebKit::WebScrollbarThemeGeometryNative::forwardButtonEndRect):
2372         (WebKit::WebScrollbarThemeGeometryNative::constrainTrackRectToTrackPieces):
2373         (WebKit::WebScrollbarThemeGeometryNative::splitTrack):
2374         * platform/chromium/support/WebScrollbarThemeGeometryNative.h: Added.
2375         (WebKit):
2376         (WebScrollbarThemeGeometryNative):
2377         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2378         (WebCore::ScrollbarLayerChromium::create):
2379         (WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium):
2380         (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
2381         (WebCore::ScrollbarBackgroundPainter::create):
2382         (WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
2383         (ScrollbarBackgroundPainter):
2384         (WebCore::ScrollbarThumbPainter::create):
2385         (WebCore::ScrollbarThumbPainter::ScrollbarThumbPainter):
2386         (ScrollbarThumbPainter):
2387         (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
2388         (WebCore::ScrollbarLayerChromium::setTexturePriorities):
2389         (WebCore::ScrollbarLayerChromium::update):
2390         * platform/graphics/chromium/ScrollbarLayerChromium.h:
2391         (ScrollbarLayerChromium):
2392         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2393         (WebCore::CCScrollbarLayerImpl::setScrollbarGeometry):
2394         (WebCore::CCScrollbarLayerImpl::setScrollbarData):
2395         (WebCore::CCScrollbarLayerImpl::appendQuads):
2396         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2397         (WebCore::CCScrollbarLayerImpl::scrollbarGeometry):
2398         (CCScrollbarLayerImpl):
2399
2400 2012-08-06  Adam Barth  <abarth@webkit.org>
2401
2402         JSC should use BindingState to determine the activeDOMWindow
2403         https://bugs.webkit.org/show_bug.cgi?id=93307
2404
2405         Reviewed by Eric Seidel.
2406
2407         This patch moves activeDOMWindow from JSDOMBindings.cpp to
2408         BindingState.cpp. This is a first step towards sharing the core
2409         security logic in the bindings between JavaScriptCore and V8. Once the
2410         logic is shared, we will be able to refactor the logic to avoid the
2411         need for DOMWindow::m_securityOrigin.
2412
2413         This patch doesn't actually share any code (yet). It just sets the
2414         stage by creating BindingState as a typedef of ExecState and adding the
2415         appropriate files to the build systems.
2416
2417         This patch also renames activeWindow and firstWindow in the V8 bindings
2418         to activeDOMWindow and firstDOMWindow to match the names in the
2419         JavaScriptCore bindings.
2420
2421         * GNUmakefile.list.am:
2422         * Target.pri:
2423         * UseJSC.cmake:
2424         * WebCore.gypi:
2425         * WebCore.vcproj/WebCore.vcproj:
2426         * WebCore.xcodeproj/project.pbxproj:
2427         * bindings/generic/BindingSecurity.cpp:
2428         (WebCore::canAccessDocument):
2429         * bindings/js/JSBindingsAllInOne.cpp:
2430         * bindings/js/JSDOMBinding.cpp:
2431         (WebCore):
2432         * bindings/js/JSDOMBinding.h:
2433         (WebCore):
2434         * bindings/v8/BindingState.cpp:
2435         (WebCore::activeDOMWindow):
2436         (WebCore::firstDOMWindow):
2437         * bindings/v8/BindingState.h:
2438         (WebCore):
2439         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2440         (WebCore::V8DOMWindow::locationAccessorSetter):
2441         (WebCore::handlePostMessageCallback):
2442         (WebCore::V8DOMWindow::showModalDialogCallback):
2443         (WebCore::V8DOMWindow::openCallback):
2444         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2445         (WebCore::V8Document::locationAccessorSetter):
2446         * bindings/v8/custom/V8LocationCustom.cpp:
2447         (WebCore::V8Location::hashAccessorSetter):
2448         (WebCore::V8Location::hostAccessorSetter):
2449         (WebCore::V8Location::hostnameAccessorSetter):
2450         (WebCore::V8Location::hrefAccessorSetter):
2451         (WebCore::V8Location::pathnameAccessorSetter):
2452         (WebCore::V8Location::portAccessorSetter):
2453         (WebCore::V8Location::protocolAccessorSetter):
2454         (WebCore::V8Location::searchAccessorSetter):
2455         (WebCore::V8Location::reloadCallback):
2456         (WebCore::V8Location::replaceCallback):
2457         (WebCore::V8Location::assignCallback):
2458
2459 2012-08-05  Kent Tamura  <tkent@chromium.org>
2460
2461         [Chromium-Mac] Use the default locale only if the browser locale matches to it
2462         https://bugs.webkit.org/show_bug.cgi?id=93227
2463
2464         Reviewed by Hajime Morita.
2465
2466         For a calendar picker, we have used month names and day-of-week names
2467         obtained from the OS default locale. However, the year-month format and
2468         [Today] [Clear] labels are decided with the browser locale. It made
2469         calendar pickers with mixed languages.
2470
2471         To make calendar pickers with a single language, we use the OS default
2472         locale only if the browser locale matches to it.
2473
2474         No new tests. Behavior for locale setting is not testable in WebKit.
2475
2476         * platform/text/mac/LocaleMac.mm:
2477         (WebCore::languageFromLocale):
2478         A helper for determineLocale. This returns the language part of the
2479         specified locale identifier.
2480         (WebCore::determineLocale):
2481         If the browser language matches to the language of the current NSLocale,
2482         returns the current NSLocale. Otherwise, returns a NSLocale with the
2483         browser language.
2484         Note that [NSLolca localeIdentifier] returns a string in
2485         <language>_<country> format though defaultLanguage() in Chromium returns
2486         a string in <language>-<country> format.
2487         (WebCore::LocaleMac::currentLocale):
2488         Use determineLocale.
2489
2490 2012-08-06  Luke Macpherson   <macpherson@chromium.org>
2491
2492         Handle variables in CSSParser::parseValidPrimitive(), preventing null return value.
2493         https://bugs.webkit.org/show_bug.cgi?id=93235
2494
2495         Reviewed by Tony Chang.
2496
2497         By returning null here (and failing to handle the variable) the current code would cause null pointer dereferences in StyleResolver at several points.
2498         Instead we create a primitive value for the variable reference and return it.
2499
2500         Test: fast/css/variables/invalid-font-reference.html
2501
2502         * css/CSSParser.cpp:
2503         (WebCore::CSSParser::parseValidPrimitive):
2504
2505 2012-08-06  David Reveman  <reveman@chromium.org>
2506
2507         [Chromium] Rename CCTextureUpdater to CCTextureUpdateQueue.
2508         https://bugs.webkit.org/show_bug.cgi?id=93293
2509
2510         Reviewed by Adrienne Walker.
2511
2512         No new tests.
2513
2514         * WebCore.gypi:
2515         * platform/graphics/chromium/ContentLayerChromium.cpp:
2516         (WebCore::ContentLayerChromium::update):
2517         * platform/graphics/chromium/ContentLayerChromium.h:
2518         (ContentLayerChromium):
2519         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp:
2520         (WebCore::HeadsUpDisplayLayerChromium::update):
2521         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h:
2522         (HeadsUpDisplayLayerChromium):
2523         * platform/graphics/chromium/ImageLayerChromium.cpp:
2524         (WebCore::ImageLayerChromium::update):
2525         * platform/graphics/chromium/ImageLayerChromium.h:
2526         (ImageLayerChromium):
2527         * platform/graphics/chromium/LayerChromium.h:
2528         (WebCore):
2529         (WebCore::LayerChromium::update):
2530         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2531         (WebCore::ScrollbarLayerChromium::updatePart):
2532         (WebCore::ScrollbarLayerChromium::update):
2533         * platform/graphics/chromium/ScrollbarLayerChromium.h:
2534         (WebCore):
2535         (ScrollbarLayerChromium):
2536         * platform/graphics/chromium/TextureLayerChromium.cpp:
2537         (WebCore::TextureLayerChromium::update):
2538         * platform/graphics/chromium/TextureLayerChromium.h:
2539         (TextureLayerChromiumClient):
2540         (TextureLayerChromium):
2541         * platform/graphics/chromium/TiledLayerChromium.cpp:
2542         (WebCore::TiledLayerChromium::updateTiles):
2543         (WebCore::TiledLayerChromium::updateContentRect):
2544         * platform/graphics/chromium/TiledLayerChromium.h:
2545         (TiledLayerChromium):
2546         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2547         (WebCore::CCLayerTreeHost::updateLayers):
2548         (WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
2549         (WebCore::CCLayerTreeHost::paintLayerContents):
2550         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2551         (WebCore):
2552         (CCLayerTreeHost):
2553         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2554         (WebCore::CCSingleThreadProxy::doCommit):
2555         (WebCore::CCSingleThreadProxy::commitAndComposite):
2556         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2557         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
2558         (WebCore::CCTextureUpdateController::updateTextures):
2559         (WebCore::CCTextureUpdateController::CCTextureUpdateController):
2560         (WebCore::CCTextureUpdateController::hasMoreUpdates):
2561         (WebCore::CCTextureUpdateController::updateMoreTextures):
2562         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
2563         (WebCore::CCTextureUpdateController::create):
2564         (CCTextureUpdateController):
2565         * platform/graphics/chromium/cc/CCTextureUpdateQueue.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.cpp.
2566         (WebCore):
2567         (WebCore::CCTextureUpdateQueue::CCTextureUpdateQueue):
2568         (WebCore::CCTextureUpdateQueue::~CCTextureUpdateQueue):
2569         (WebCore::CCTextureUpdateQueue::appendFullUpload):
2570         (WebCore::CCTextureUpdateQueue::appendPartialUpload):
2571         (WebCore::CCTextureUpdateQueue::appendCopy):
2572         (WebCore::CCTextureUpdateQueue::takeFirstFullUpload):
2573         (WebCore::CCTextureUpdateQueue::takeFirstPartialUpload):
2574         (WebCore::CCTextureUpdateQueue::takeFirstCopy):
2575         (WebCore::CCTextureUpdateQueue::hasMoreUpdates):
2576         * platform/graphics/chromium/cc/CCTextureUpdateQueue.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
2577         (WebCore):
2578         (CCTextureUpdateQueue):
2579         (WebCore::CCTextureUpdateQueue::fullUploadSize):
2580         (WebCore::CCTextureUpdateQueue::partialUploadSize):
2581         (WebCore::CCTextureUpdateQueue::copySize):
2582         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2583         (WebCore::CCThreadProxy::beginFrame):
2584         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
2585         * platform/graphics/chromium/cc/CCThreadProxy.h:
2586         (WebCore):
2587         (CCThreadProxy):
2588
2589 2012-08-06  Anders Carlsson  <andersca@apple.com>
2590
2591         Clear out the TileCache backpointer for all tile layers when the tile cache is destroyed
2592         https://bugs.webkit.org/show_bug.cgi?id=93317
2593         <rdar://problem/11566543>
2594
2595         Reviewed by Dean Jackson.
2596
2597         It seems that in some rare cases, the tile cache layer can be destroyed in the same transaction as tile layers
2598         are being asked to paint. Make sure to null out the TileCache back pointer for all layers in the TileCache destructor.
2599
2600         * platform/graphics/ca/mac/TileCache.mm:
2601         (WebCore::TileCache::~TileCache):
2602
2603 2012-08-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2604
2605         Unreviewed, rolling out r124816.
2606         http://trac.webkit.org/changeset/124816
2607         https://bugs.webkit.org/show_bug.cgi?id=93311
2608
2609         made some tests crash (Requested by noamr on #webkit).
2610
2611         * platform/graphics/GraphicsLayerAnimation.cpp:
2612         (WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
2613         (WebCore::GraphicsLayerAnimations::hasActiveAnimationsOfType):
2614         (WebCore::GraphicsLayerAnimations::hasRunningAnimations):
2615         (WebCore::GraphicsLayerAnimations::add):
2616         (WebCore::GraphicsLayerAnimations::pause):
2617         (WebCore::GraphicsLayerAnimations::apply):
2618         * platform/graphics/GraphicsLayerAnimation.h:
2619         (GraphicsLayerAnimation):
2620         (GraphicsLayerAnimations):
2621         (WebCore::GraphicsLayerAnimations::remove):
2622         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2623         (WebCore::GraphicsLayerTextureMapper::addAnimation):
2624
2625 2012-08-06  Max Vujovic  <mvujovic@adobe.com>
2626
2627         [CSS Shaders] Parse mix function
2628         https://bugs.webkit.org/show_bug.cgi?id=90101
2629
2630         Reviewed by Dirk Schulze.
2631
2632         Parse the mix function syntax for CSS Shaders as defined in the Filter Effects spec:
2633         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#FilterFunction
2634
2635         The fragment shader argument of the custom filter function can now be a mix function with
2636         the following syntax:
2637         mix(<uri> [ <blend-mode> || <alpha-compositing> ]?)
2638
2639         For example:
2640         -webkit-filter: custom(url(shader.vert) mix(url(shader.frag multiply source-over))
2641
2642         The Filter Effects spec references the Compositing and Blending spec, which defines the
2643         supported blend modes and alpha compositing modes.
2644
2645         Blend modes:
2646         https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blend-mode
2647
2648         This patch adds all of the blend modes in the spec.
2649
2650         Alpha compositing modes:
2651         https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#alpha-compositing
2652
2653         This patch does not add any new CSS values for alpha compositing. Currently, we parse the
2654         values that are the same between the spec and the -webkit-background-composite property,
2655         including:
2656             clear
2657             copy
2658             source-over
2659             source-in
2660             source-out
2661             source-atop
2662             destination-over
2663             destination-in
2664             destination-out
2665             destination-atop
2666             xor
2667
2668         In the future, we may need to add the following CSS values for alpha compositing:
2669             lighter
2670             destination
2671
2672         This is currently under discussion on the www-style mailing list:
2673         http://lists.w3.org/Archives/Public/www-style/2012Aug/0123.html
2674
2675         No new test files. Add test cases in:
2676             css3/filters/script-tests/custom-filter-property-computed-style.js:
2677             css3/filters/script-tests/custom-filter-property-parsing-invalid.js:
2678             css3/filters/script-tests/custom-filter-property-parsing.js:
2679
2680         * GNUmakefile.list.am:
2681         * Target.pri:
2682         * WebCore.gypi:
2683         * WebCore.vcproj/WebCore.vcproj:
2684         * WebCore.xcodeproj/project.pbxproj:
2685         * css/CSSComputedStyleDeclaration.cpp:
2686         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
2687         * css/CSSParser.cpp:
2688         (WebCore::CSSParser::isBlendMode):
2689         (WebCore):
2690         (WebCore::CSSParser::isCompositeOperator):
2691         (WebCore::CSSParser::parseMixFunction):
2692         (WebCore::CSSParser::parseCustomFilter):
2693         * css/CSSParser.h:
2694         (WebCore):
2695         * css/CSSParserValues.h:
2696         (WebCore::CSSParserValueList::currentIndex):
2697         * css/CSSPrimitiveValueMappings.h:
2698         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2699         (WebCore):
2700         (WebCore::CSSPrimitiveValue::operator BlendMode):
2701         * css/CSSValue.cpp:
2702         (WebCore::CSSValue::reportMemoryUsage):
2703         (WebCore::CSSValue::cssText):
2704         (WebCore::CSSValue::destroy):
2705         (WebCore::CSSValue::cloneForCSSOM):
2706         * css/CSSValue.h:
2707         (WebCore::CSSValue::isWebKitCSSMixFunctionValue):
2708         (CSSValue):
2709         * css/CSSValueKeywords.in:
2710         * css/StyleResolver.cpp:
2711         (WebCore::StyleResolver::collectMatchingRulesForList):
2712         * css/WebKitCSSMixFunctionValue.cpp: Added.
2713         (WebCore):
2714         (WebCore::WebKitCSSMixFunctionValue::WebKitCSSMixFunctionValue):
2715         (WebCore::WebKitCSSMixFunctionValue::customCssText):
2716         (WebCore::WebKitCSSMixFunctionValue::cloneForCSSOM):
2717         (WebCore::WebKitCSSMixFunctionValue::reportDescendantMemoryUsage):
2718         * css/WebKitCSSMixFunctionValue.h: Added.
2719         (WebCore):
2720         (WebKitCSSMixFunctionValue):
2721         (WebCore::WebKitCSSMixFunctionValue::create):
2722         * platform/graphics/GraphicsTypes.h:
2723         * platform/graphics/filters/CustomFilterProgram.cpp:
2724         (WebCore::CustomFilterProgram::CustomFilterProgram):
2725         * platform/graphics/filters/CustomFilterProgram.h:
2726         (WebCore::CustomFilterProgramMixSettings::CustomFilterProgramMixSettings):
2727         (CustomFilterProgramMixSettings):
2728         (WebCore):
2729         * rendering/style/StyleCustomFilterProgram.h:
2730         (WebCore::StyleCustomFilterProgram::create):
2731         (WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram):
2732
2733 2012-08-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
2734
2735         GraphicsLayerAnimation shouldn't use HashMap<String>
2736         https://bugs.webkit.org/show_bug.cgi?id=93284
2737
2738         Reviewed by Kenneth Rohde Christiansen.
2739
2740         Use a vector containing all the animations instead of a map of String to Vector.
2741         The HashMap contains very few elements, which makes it inefficient relatively to a vector.
2742         This has been shown to be a bottleneck in valgrind.
2743
2744         Covered by existing animation tests.
2745
2746         * platform/graphics/GraphicsLayerAnimation.cpp:
2747         (WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
2748         (WebCore::GraphicsLayerAnimations::hasActiveAnimationsOfType):
2749         (WebCore::GraphicsLayerAnimations::hasRunningAnimations):
2750         (WebCore::GraphicsLayerAnimations::add):
2751         (WebCore::GraphicsLayerAnimations::pause):
2752         (WebCore::GraphicsLayerAnimations::remove):
2753         (WebCore::GraphicsLayerAnimations::apply):
2754         * platform/graphics/GraphicsLayerAnimation.h:
2755         (GraphicsLayerAnimation):
2756         (WebCore::GraphicsLayerAnimation::name):
2757         (GraphicsLayerAnimations):
2758         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2759         (WebCore::GraphicsLayerTextureMapper::addAnimation):
2760
2761 2012-08-06  Beth Dakin  <bdakin@apple.com>
2762
2763         https://bugs.webkit.org/show_bug.cgi?id=93199
2764         REGRESSION (r124489): Crash in FrameView::scrollContentsFastPath when 
2765         scrolling Facebook and Google image search
2766         -and corresponding-
2767         <rdar://problem/12035066>
2768
2769         Reviewed by Anders Carlsson.
2770
2771         As the comment in setShouldUpdateScrollLayerPositionOnMainThread() 
2772         indicates, the goal of adding a call to 
2773         updateMainFrameScrollPositionAndScrollLayerPosition() within that 
2774         function was just to make sure the layer position was up-to-date 
2775         since that is what is not kept up to date when scrolling is happening 
2776         on the scrolling thread. So I'm fixing this crash by having that code 
2777         ONLY update the layer position instead of also updating the scroll 
2778         position, since it was updating the scroll position that led to this 
2779         crash.
2780
2781         New function updateMainFrameScrollLayerPosition() will update JUST 
2782         the layer position.
2783         * page/scrolling/ScrollingCoordinator.h:
2784         (ScrollingCoordinator):        
2785         * page/scrolling/ScrollingCoordinator.cpp:
2786         (WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPosition):
2787
2788         Update just the layer position here instead of the layer position and 
2789         the scroll position.
2790         (WebCore)::
2791 (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
2792
2793 2012-08-06  Anna Cavender  <annacc@chromium.org>
2794
2795         MediaSource should use it's own list of source URLs
2796         https://bugs.webkit.org/show_bug.cgi?id=93285
2797
2798         Reviewed by Eric Carlson.
2799
2800         r124780 added MediaSource objects to PublicURLManager's streamURLs list,
2801         piggy-backing on MEDIA_STREAM.  This patch creates a sourceURLs list so
2802         that MediaSource can stand on its own.
2803
2804         Test: builds on Andriod even when MEDIA_STREAM is disabled.
2805
2806         * html/DOMURL.cpp:
2807         (WebCore::DOMURL::createObjectURL):
2808         * html/PublicURLManager.h:
2809         (WebCore::PublicURLManager::contextDestroyed):
2810         (PublicURLManager):
2811         (WebCore::PublicURLManager::sourceURLs):
2812
2813 2012-08-06  Nico Weber  <thakis@chromium.org>
2814
2815         [chromium/mac] Unbreak debug builds with the 10.7 SDK
2816         https://bugs.webkit.org/show_bug.cgi?id=93202
2817
2818         Reviewed by James Robinson.
2819
2820         FMGetATSFontRefFromFont() is not available with the 10.7 SDK
2821         when targetting 10.6. Don't delete this code completely yet,
2822         it's still used with the 10.6 SDK when targetting 10.6 (which
2823         chromium's build bots use).
2824
2825         * platform/graphics/mac/SimpleFontDataMac.mm:
2826         (WebCore):
2827
2828 2012-07-31  Ojan Vafai  <ojan@chromium.org>
2829
2830         need tests to ensure flexboxes play nicely with box-sizing
2831         https://bugs.webkit.org/show_bug.cgi?id=70771
2832
2833         Reviewed by Tony Chang.
2834
2835         Anytime we grab the width/height off of the RenderStyle, we need to adjust
2836         it for box-sizing. Fortunately, we only do this two places in RenderFlexibleBox.
2837         Also, delete crossAxisLength since it's unused.
2838
2839         Test: css3/flexbox/box-sizing.html
2840
2841         * rendering/RenderFlexibleBox.cpp:
2842         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
2843         * rendering/RenderFlexibleBox.h:
2844
2845 2012-08-06  John J. Barton  <johnjbarton@chromium.org>
2846
2847         Web Inspector: WebInspector.linkifyStringAsFragment gives wrong typeof lineNumber
2848         https://bugs.webkit.org/show_bug.cgi?id=93019
2849
2850         Reviewed by Pavel Feldman.
2851
2852         Add test for WebInspector.linkifyStringAsFragment()
2853
2854         * inspector/front-end/ResourceUtils.js:
2855         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
2856
2857 2012-08-06  David Reveman  <reveman@chromium.org>
2858
2859         [Chromium] Refactor CCTextureUpdater into CCTextureUpdater and CCTextureUpdateController.
2860         https://bugs.webkit.org/show_bug.cgi?id=92596
2861
2862         Reviewed by Adrienne Walker.
2863
2864         The CCTextureUpdater interface is used by the main thread to queue
2865         texture updates. The CCTextureUpdateController constructor takes a
2866         CCTextureUpdater and contains the logic required to perform texture
2867         uploads and texture copies. This class is only used by the impl thread.
2868
2869         No new tests.
2870
2871         * WebCore.gypi:
2872         * platform/graphics/chromium/LayerRendererChromium.cpp:
2873         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2874         (WebCore::ScrollbarLayerChromium::updatePart):
2875         * platform/graphics/chromium/TextureCopier.cpp:
2876         (WebCore::AcceleratedTextureCopier::copyTexture):
2877         * platform/graphics/chromium/TextureCopier.h:
2878         (Parameters):
2879         (TextureCopier):
2880         (AcceleratedTextureCopier):
2881         * platform/graphics/chromium/TextureUploader.h:
2882         (Parameters):
2883         (TextureUploader):
2884         * platform/graphics/chromium/ThrottledTextureUploader.cpp:
2885         (WebCore::ThrottledTextureUploader::uploadTexture):
2886         * platform/graphics/chromium/ThrottledTextureUploader.h:
2887         (ThrottledTextureUploader):
2888         * platform/graphics/chromium/TiledLayerChromium.cpp:
2889         (WebCore::TiledLayerChromium::updateTiles):
2890         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2891         (WebCore::CCSingleThreadProxy::doCommit):
2892         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp: Added.
2893         (WebCore):
2894         (WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
2895         (WebCore::CCTextureUpdateController::updateTextures):
2896         (WebCore::CCTextureUpdateController::CCTextureUpdateController):
2897         (WebCore::CCTextureUpdateController::~CCTextureUpdateController):
2898         (WebCore::CCTextureUpdateController::hasMoreUpdates):
2899         (WebCore::CCTextureUpdateController::updateMoreTextures):
2900         (WebCore::CCTextureUpdateController::updateMoreTexturesSize):
2901         * platform/graphics/chromium/cc/CCTextureUpdateController.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
2902         (WebCore):
2903         (CCTextureUpdateController):
2904         (WebCore::CCTextureUpdateController::create):
2905         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
2906         (WebCore::CCTextureUpdater::appendFullUpload):
2907         (WebCore::CCTextureUpdater::appendPartialUpload):
2908         (WebCore::CCTextureUpdater::appendCopy):
2909         (WebCore::CCTextureUpdater::takeFirstFullUpload):
2910         (WebCore::CCTextureUpdater::takeFirstPartialUpload):
2911         (WebCore::CCTextureUpdater::takeFirstCopy):
2912         (WebCore::CCTextureUpdater::hasMoreUpdates):
2913         * platform/graphics/chromium/cc/CCTextureUpdater.h:
2914         (CCTextureUpdater):
2915         (WebCore::CCTextureUpdater::fullUploadSize):
2916         (WebCore::CCTextureUpdater::partialUploadSize):
2917         (WebCore::CCTextureUpdater::copySize):
2918         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2919         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
2920         (WebCore::CCThreadProxy::beginFrame):
2921         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
2922         (WebCore::CCThreadProxy::hasMoreResourceUpdates):
2923         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
2924         (WebCore::CCThreadProxy::scheduledActionCommit):
2925         (WebCore::CCThreadProxy::maxPartialTextureUpdates):
2926         * platform/graphics/chromium/cc/CCThreadProxy.h:
2927         (WebCore):
2928         (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
2929         (BeginFrameAndCommitState):
2930         (CCThreadProxy):
2931
2932 2012-08-06  Douglas Stockwell  <dstockwell@chromium.org>
2933
2934         Crash in WebCore::RenderListItem::updateMarkerLocation
2935         https://bugs.webkit.org/show_bug.cgi?id=90476
2936
2937         Reviewed by Abhishek Arya.
2938
2939         In some cases an anonymous block is destroyed when its last child is
2940         removed. RenderListItem did not expect this and has it's own logic for
2941         cleaning up such blocks when the list marker is removed. Detect this
2942         case in RenderBlock::removeChild to defer to the logic in RenderListItem::updateListMarker.
2943
2944         Test: fast/lists/list-marker-remove-crash.html
2945
2946         * rendering/RenderBlock.cpp:
2947         (WebCore::RenderBlock::removeChild):
2948
2949 2012-08-06  Shawn Singh  <shawnsingh@chromium.org>
2950
2951         [chromium] Non-preserves-3d requires explicit flattening of screen-space transform.
2952         https://bugs.webkit.org/show_bug.cgi?id=85808
2953
2954         Reviewed by Adrienne Walker.
2955
2956         When computing the screen-space transforms, z values were not
2957         being flattened when they should be. This caused incorrect
2958         clipping due to occlusion tracking that relied on the screen-space
2959         transform. The fix is to flatten the screen-space transform just
2960         like the "sublayerMatrix" is flattened, when the layer does not
2961         preserve-3d.
2962
2963         In addition to making the simple fix, it was convenient to make a
2964         helper function for the flattening code.
2965
2966         Additional unit test added to exercise that flattening code:
2967           CCLayerTreeHostCommonTest.verifyTransformsForFlatteningLayer
2968
2969         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2970         (WebCore::calculateDrawTransformsInternal):
2971         * platform/graphics/chromium/cc/CCMathUtil.cpp:
2972         (WebCore::CCMathUtil::flattenTransformTo2d):
2973         (WebCore):
2974         * platform/graphics/chromium/cc/CCMathUtil.h:
2975         (CCMathUtil):
2976
2977 2012-08-06  Anna Cavender  <annacc@chromium.org>
2978
2979         Create a MediaSource object.
2980         https://bugs.webkit.org/show_bug.cgi?id=91773
2981
2982         Reviewed by Eric Carlson.
2983
2984         MediaSource object is needed in order to implement the new
2985         object-oriented MediaSource API:
2986         http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
2987
2988         No new tests - will be able to test after landing:
2989         https://bugs.webkit.org/show_bug.cgi?id=91775
2990  
2991         Adding new files to build files:
2992         * CMakeLists.txt:
2993         * DerivedSources.cpp:
2994         * DerivedSources.make:
2995         * DerivedSources.pri:
2996         * GNUmakefile.list.am:
2997         * Target.pri:
2998         * WebCore.gypi:
2999         * WebCore.vcproj/WebCore.vcproj:
3000         * WebCore.xcodeproj/project.pbxproj:
3001
3002         New MediaSource object:
3003         * Modules/mediasource/MediaSource.cpp: Added.
3004         * Modules/mediasource/MediaSource.h: Added.
3005         * Modules/mediasource/MediaSource.idl: Added.
3006
3007         Create a registry for the blob storage and lookup:
3008         * Modules/mediasource/MediaSourceRegistry.cpp: Added.
3009         * Modules/mediasource/MediaSourceRegistry.h: Added.
3010
3011         Connect SourceBuffer to MediaSource:
3012         * Modules/mediasource/SourceBuffer.cpp:
3013         (WebCore::SourceBuffer::SourceBuffer):
3014         (WebCore::SourceBuffer::buffered): Forward call to MediaSource.
3015         (WebCore::SourceBuffer::append): Ditto.
3016         (WebCore::SourceBuffer::abort): Ditto.
3017         * Modules/mediasource/SourceBuffer.h:
3018         (WebCore::SourceBuffer::create): Add a MediaSource to the constructor.
3019         (WebCore::SourceBuffer::clear): Clear the MediaSource.
3020         (SourceBuffer):
3021         * Modules/mediasource/SourceBufferList.cpp: include SourceBuffer.h
3022         * Modules/mediasource/SourceBufferList.h:
3023  
3024         Make MediaSource an EventTarget:
3025         * dom/EventTarget.h:
3026         (WebCore):
3027         * dom/EventTargetFactory.in:
3028
3029         Enable creation of MediaSource object URL from JavaScript:
3030         * html/DOMURL.cpp:
3031         (WebCore):
3032         (WebCore::DOMURL::createObjectURL):
3033         * html/DOMURL.h:
3034         (WebCore):
3035         (DOMURL):
3036         * html/DOMURL.idl:
3037
3038         New MediaSource constructor:
3039         * page/DOMWindow.idl:
3040
3041 2012-08-06  Andreas Kling  <kling@webkit.org>
3042
3043         Simplify CSSOM style declaration's grabbing at internals.
3044         <http://webkit.org/b/93261>
3045
3046         Reviewed by Antti Koivisto.
3047
3048         It was already the case that StylePropertySets exposed in CSSOM were guaranteed mutable,
3049         so remove the mechanism to convert immutable backing objects to mutable ones.
3050
3051         Made ensureCSSStyleDeclaration() non-const to prevent callers that may have an
3052         immutable StylePropertySet from wrapping a CSSOM object around it.
3053
3054         * css/PropertySetCSSStyleDeclaration.h:
3055         (PropertySetCSSStyleDeclaration):
3056         * css/PropertySetCSSStyleDeclaration.cpp:
3057         (WebCore::PropertySetCSSStyleDeclaration::length):
3058         (WebCore::PropertySetCSSStyleDeclaration::item):
3059         (WebCore::PropertySetCSSStyleDeclaration::cssText):
3060         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
3061         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
3062         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
3063         (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
3064         (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
3065         (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
3066         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
3067         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
3068         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
3069         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
3070         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
3071         (WebCore::PropertySetCSSStyleDeclaration::copy):
3072         (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
3073         (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
3074
3075             Remove indirection and access StylePropertySet member directly.
3076
3077         * css/StylePropertySet.h:
3078         * css/StylePropertySet.cpp:
3079         (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
3080         (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
3081
3082             Made these two non-const. CSSOM wrappers should only ever be constructed around
3083             mutable StylePropertySets.
3084             Also added ASSERT(isMutable()).
3085
3086         * inspector/InspectorCSSAgent.cpp:
3087         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
3088
3089             Cast away the constness of StyledElement::attributeStyle(). It's not pretty,
3090             but these objects are guaranteed mutable, and there's an assertion to protect
3091             us in ensureCSSStyleDeclaration() if something changes in the future.
3092
3093 2012-08-06  Andrei Poenaru  <poenaru@adobe.com>
3094
3095         Web Inspector: Protocol: Add "namedFlowCreated" and "namedFlowRemoved" events
3096         https://bugs.webkit.org/show_bug.cgi?id=92739
3097
3098         Reviewed by Pavel Feldman.
3099
3100         Implemented "namedFlowCreated" and "namedFlowRemoved" events.
3101
3102         Modified test: inspector/styles/protocol-css-regions-commands.html.
3103
3104         * dom/WebKitNamedFlowCollection.cpp:
3105         (WebCore::WebKitNamedFlowCollection::ensureFlowWithName):
3106         (WebCore::WebKitNamedFlowCollection::discardNamedFlow):
3107         * inspector/Inspector.json:
3108         * inspector/InspectorCSSAgent.cpp:
3109         (WebCore::InspectorCSSAgent::reset):
3110         (WebCore::InspectorCSSAgent::didCreateNamedFlow):
3111         (WebCore):
3112         (WebCore::InspectorCSSAgent::didRemoveNamedFlow):
3113         (WebCore::InspectorCSSAgent::getNamedFlowCollection):
3114         * inspector/InspectorCSSAgent.h:
3115         (InspectorCSSAgent):
3116         * inspector/InspectorInstrumentation.cpp:
3117         (WebCore):
3118         (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
3119         (WebCore::InspectorInstrumentation::didRemoveNamedFlowImpl):
3120         * inspector/InspectorInstrumentation.h:
3121         (InspectorInstrumentation):
3122         (WebCore::InspectorInstrumentation::didCreateNamedFlow):
3123         (WebCore):
3124         (WebCore::InspectorInstrumentation::didRemoveNamedFlow):
3125         * inspector/front-end/CSSStyleModel.js:
3126         (WebInspector.CSSStyleModel.prototype._namedFlowCreated.callback):
3127         (WebInspector.CSSStyleModel.prototype._namedFlowCreated):
3128         (WebInspector.CSSStyleModel.prototype._namedFlowRemoved.callback):
3129         (WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
3130         (WebInspector.CSSDispatcher.prototype.styleSheetChanged):
3131         (WebInspector.CSSDispatcher.prototype.namedFlowCreated):
3132         (WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
3133
3134 2012-08-06  Abhishek Arya  <inferno@chromium.org>
3135
3136         Crash in FrameLoader::stopAllLoaders.
3137         https://bugs.webkit.org/show_bug.cgi?id=90805
3138
3139         Reviewed by Nate Chapin.
3140
3141         Calling m_provisionalDocumentLoader->stopLoading() can blow away the frame
3142         from underneath. Protect it with a RefPtr.
3143
3144         No new tests. We don't have a reliable testcase to reproduce this. However,
3145         the crash and free stack from ClusterFuzz point clearly at the bug.
3146
3147         * loader/FrameLoader.cpp:
3148         (WebCore::FrameLoader::stopAllLoaders):
3149
3150 2012-08-06  Hironori Bono  <hbono@chromium.org>
3151
3152         Rolling out my r123067 and r123572
3153         https://bugs.webkit.org/show_bug.cgi?id=93234
3154
3155         Reviewed by Ryosuke Niwa.
3156
3157         This change manually rolls out my r123067 and r123572 (except layout tests)
3158         because it renders RTL text to a wrong place when an RTL element shows a
3159         vertical scrollbar at its left side.
3160
3161         No new tests because this change rolls out my changes.
3162
3163         * dom/Element.cpp:
3164         (WebCore::Element::clientLeft):
3165         * rendering/RenderBlock.cpp:
3166         (WebCore::RenderBlock::addOverflowFromPositionedObjects):
3167         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
3168         (WebCore::RenderBlock::paintObject):
3169         * rendering/RenderBox.cpp:
3170         (WebCore::RenderBox::topLeftLocationOffset):
3171
3172 2012-08-06  Andrei Bucur  <abucur@adobe.com>
3173
3174         [CSS Regions] Add the NamedFlow.getRegions() API
3175         https://bugs.webkit.org/show_bug.cgi?id=93240
3176
3177         Reviewed by Andreas Kling.
3178
3179         This patch adds the NamedFlow.getRegions() API call as specified by http://www.w3.org/TR/2012/WD-css3-regions-20120503/#dom-named-flow .
3180         For now, WebKit supports only one type of regions, Element. The Region interface will be introduced when other interfaces will be capable
3181         of becoming regions.
3182
3183         New test: fast/regions/webkit-named-flow-get-regions.html
3184
3185         * dom/WebKitNamedFlow.cpp:
3186         (WebCore::WebKitNamedFlow::getRegionsByContent): Add a check not to include the pseudo-elements that are regions; those don't have a node attached.
3187         (WebCore::WebKitNamedFlow::getRegions):
3188         (WebCore):
3189         * dom/WebKitNamedFlow.h:
3190         (WebKitNamedFlow):
3191         * dom/WebKitNamedFlow.idl:
3192
3193 2012-08-06  Andrei Bucur  <abucur@adobe.com>
3194
3195         [CSS Regions] Rename regionOverflow to regionOverset
3196         https://bugs.webkit.org/show_bug.cgi?id=93256
3197
3198         Reviewed by Andreas Kling.
3199
3200         Link to spec: http://www.w3.org/TR/2012/WD-css3-regions-20120503/#dom-region-regionoverset
3201         The regionOverflow property has been renamed to regionOverset in the latest working draft. This patch applies the change both externally and
3202         internally in the code.
3203
3204         Tests: No new tests because this is not a functional change.
3205
3206         * dom/Element.cpp:
3207         (WebCore::Element::renderRegion): Convenience method to access the renderer for a region element.
3208         (WebCore):
3209         (WebCore::Element::webkitRegionOverset):
3210         * dom/Element.h:
3211         (WebCore):
3212         * dom/Element.idl:
3213         * rendering/RenderFlowThread.cpp:
3214         (WebCore::RenderFlowThread::paintIntoRegion):
3215         (WebCore::RenderFlowThread::hitTestRegion):
3216         (WebCore::RenderFlowThread::repaintRectangleInRegions):
3217         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
3218         * rendering/RenderRegion.cpp:
3219         (WebCore::RenderRegion::regionOversetRect):
3220         * rendering/RenderRegion.h:
3221         (RenderRegion):
3222
3223 2012-08-06  Sergey Rogulenko  <rogulenko@google.com>
3224
3225         Web Inspector: a tiny refactoring of Highlighter in InspectorDOMAgent
3226         https://bugs.webkit.org/show_bug.cgi?id=93257
3227
3228         Reviewed by Pavel Feldman.
3229
3230         Moving error string setting inside highlightConfigFromInspectorObject.
3231
3232         * inspector/InspectorDOMAgent.cpp:
3233         (WebCore::InspectorDOMAgent::setSearchingForNode):
3234         (WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
3235         (WebCore::InspectorDOMAgent::highlightNode):
3236         * inspector/InspectorDOMAgent.h:
3237         (InspectorDOMAgent):
3238
3239 2012-08-03  Yury Semikhatsky  <yurys@chromium.org>
3240
3241         Web Inspector: add memory instrumentation for CSSValue and its descendants
3242         https://bugs.webkit.org/show_bug.cgi?id=93130
3243
3244         Reviewed by Pavel Feldman.
3245
3246         Added memory footprint reporting routine to CSSValue and its descendants.
3247
3248         Memory reporing for CSSValue is organized in a following way:
3249         - CSSValue implements reportMemoryUsage method that switches by the value
3250           type and calls reportDescendantMemoryUsage on the concrete type
3251         - There may be some intermediate classes in the inheritance chain between
3252           CSSValue and the leaf class implementing reportDescendantMemoryUsage. Those
3253           intermediate classes implement reportBaseClassMemoryUsage method that can
3254           be called from a descendant to collect memory information for the base class
3255           members. Having reportDescendantMemoryUsage only on the leaf classes prevents
3256           us from accidentally adding the intermediate classes to the switch block
3257           in the CSSValue::reportMemoryUsage.
3258
3259         * css/CSSAspectRatioValue.cpp:
3260         (WebCore::CSSAspectRatioValue::reportDescendantMemoryUsage):
3261         (WebCore):
3262         * css/CSSAspectRatioValue.h:
3263         (CSSAspectRatioValue):
3264         * css/CSSBorderImageSliceValue.cpp:
3265         (WebCore::CSSBorderImageSliceValue::reportDescendantMemoryUsage):
3266         (WebCore):
3267         * css/CSSBorderImageSliceValue.h:
3268         (CSSBorderImageSliceValue):
3269         * css/CSSCalculationValue.cpp:
3270         (WebCore):
3271         (WebCore::CSSCalcValue::reportDescendantMemoryUsage):
3272         (CSSCalcPrimitiveValue):
3273         * css/CSSCalculationValue.h:
3274         (CSSCalcExpressionNode):
3275         (CSSCalcValue):
3276         * css/CSSCanvasValue.cpp:
3277         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
3278         (WebCore):
3279         * css/CSSCanvasValue.h:
3280         (CSSCanvasValue):
3281         * css/CSSCrossfadeValue.cpp:
3282         (WebCore::CSSCrossfadeValue::reportDescendantMemoryUsage):
3283         (WebCore):
3284         * css/CSSCrossfadeValue.h:
3285         (CSSCrossfadeValue):
3286         * css/CSSCursorImageValue.cpp:
3287         (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
3288         (WebCore):
3289         * css/CSSCursorImageValue.h:
3290         (CSSCursorImageValue):
3291         * css/CSSFontFaceSrcValue.cpp:
3292         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
3293         (WebCore):
3294         * css/CSSFontFaceSrcValue.h:
3295         (CSSFontFaceSrcValue):
3296         * css/CSSFunctionValue.cpp:
3297         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
3298         (WebCore):
3299         * css/CSSFunctionValue.h:
3300         (CSSFunctionValue):
3301         * css/CSSGradientValue.cpp:
3302         (WebCore::CSSGradientColorStop::reportMemoryUsage):
3303         (WebCore):
3304         (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
3305         (WebCore::CSSLinearGradientValue::reportDescendantMemoryUsage):
3306         (WebCore::CSSRadialGradientValue::reportDescendantMemoryUsage):
3307         * css/CSSGradientValue.h:
3308         (CSSGradientColorStop):
3309         (CSSGradientValue):
3310         (CSSLinearGradientValue):
3311         (CSSRadialGradientValue):
3312         * css/CSSImageGeneratorValue.cpp:
3313         (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
3314         (WebCore):
3315         * css/CSSImageGeneratorValue.h:
3316         (CSSImageGeneratorValue):
3317         * css/CSSImageSetValue.cpp:
3318         (WebCore::CSSImageSetValue::reportDescendantMemoryUsage):
3319         (WebCore):
3320         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
3321         * css/CSSImageSetValue.h:
3322         (ImageWithScale):
3323         (CSSImageSetValue):
3324         * css/CSSImageValue.cpp:
3325         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
3326         (WebCore):
3327         * css/CSSImageValue.h:
3328         (CSSImageValue):
3329         * css/CSSInheritedValue.cpp:
3330         (WebCore::CSSInheritedValue::reportDescendantMemoryUsage):
3331         (WebCore):
3332         * css/CSSInheritedValue.h:
3333         (CSSInheritedValue):
3334         * css/CSSInitialValue.cpp:
3335         (WebCore::CSSInitialValue::reportDescendantMemoryUsage):
3336         (WebCore):
3337         * css/CSSInitialValue.h:
3338         (CSSInitialValue):
3339         * css/CSSLineBoxContainValue.cpp:
3340         (WebCore::CSSLineBoxContainValue::reportDescendantMemoryUsage):
3341         (WebCore):
3342         * css/CSSLineBoxContainValue.h:
3343         (CSSLineBoxContainValue):
3344         * css/CSSPrimitiveValue.cpp:
3345         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
3346         (WebCore):
3347         * css/CSSPrimitiveValue.h:
3348         (CSSPrimitiveValue):
3349         * css/CSSReflectValue.cpp:
3350         (WebCore::CSSReflectValue::reportDescendantMemoryUsage):
3351         (WebCore):
3352         * css/CSSReflectValue.h:
3353         (CSSReflectValue):
3354         * css/CSSTimingFunctionValue.cpp:
3355         (WebCore::CSSLinearTimingFunctionValue::reportDescendantMemoryUsage):
3356         (WebCore):
3357         (WebCore::CSSCubicBezierTimingFunctionValue::reportDescendantMemoryUsage):
3358         (WebCore::CSSStepsTimingFunctionValue::reportDescendantMemoryUsage):
3359         * css/CSSTimingFunctionValue.h:
3360         (CSSLinearTimingFunctionValue):
3361         (CSSCubicBezierTimingFunctionValue):
3362         (CSSStepsTimingFunctionValue):
3363         * css/CSSUnicodeRangeValue.cpp:
3364         (WebCore::CSSUnicodeRangeValue::reportDescendantMemoryUsage):
3365         (WebCore):
3366         * css/CSSUnicodeRangeValue.h:
3367         (CSSUnicodeRangeValue):
3368         * css/CSSValue.cpp:
3369         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
3370         (TextCloneCSSValue):
3371         (WebCore::CSSValue::reportMemoryUsage):
3372         (WebCore):
3373         * css/CSSValue.h:
3374         (WebCore):
3375         (CSSValue):
3376         * css/CSSValueList.cpp:
3377         (WebCore::CSSValueList::reportDescendantMemoryUsage):
3378         (WebCore):
3379         * css/CSSValueList.h:
3380         (CSSValueList):
3381         * css/CSSVariableValue.h:
3382         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
3383         (CSSVariableValue):
3384         * css/FontFeatureValue.cpp:
3385         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
3386         (WebCore):
3387         * css/FontFeatureValue.h:
3388         (FontFeatureValue):
3389         * css/FontValue.cpp:
3390         (WebCore::FontValue::reportDescendantMemoryUsage):
3391         (WebCore):
3392         * css/FontValue.h:
3393         (FontValue):
3394         * css/MediaQueryExp.cpp:
3395         (WebCore::MediaQueryExp::reportMemoryUsage):
3396         * css/ShadowValue.cpp:
3397         (WebCore::ShadowValue::reportDescendantMemoryUsage):
3398         (WebCore):
3399         * css/ShadowValue.h:
3400         (ShadowValue):
3401         * css/StyleResolver.cpp:
3402         (WebCore::StyleResolver::collectMatchingRulesForList):
3403         * css/WebKitCSSFilterValue.cpp:
3404         (WebCore::WebKitCSSFilterValue::reportDescendantMemoryUsage):
3405         (WebCore):
3406         * css/WebKitCSSFilterValue.h:
3407         (WebKitCSSFilterValue):
3408         * css/WebKitCSSSVGDocumentValue.cpp:
3409         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
3410         (WebCore):
3411         * css/WebKitCSSSVGDocumentValue.h:
3412         (WebKitCSSSVGDocumentValue):
3413         * css/WebKitCSSShaderValue.cpp:
3414         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
3415         (WebCore):
3416         * css/WebKitCSSShaderValue.h:
3417         (WebKitCSSShaderValue):
3418         * css/WebKitCSSTransformValue.cpp:
3419         (WebCore::WebKitCSSTransformValue::reportDescendantMemoryUsage):
3420         (WebCore):
3421         * css/WebKitCSSTransformValue.h:
3422         (WebKitCSSTransformValue):
3423         * dom/MemoryInstrumentation.cpp:
3424         (WebCore::MemoryInstrumentation::addString):
3425         (WebCore):
3426         * dom/MemoryInstrumentation.h:
3427         (MemoryInstrumentation):
3428         (WebCore::MemoryClassInfo::addHashCountedSet):
3429         (WebCore::MemoryClassInfo::addMember):
3430         * svg/SVGColor.cpp:
3431         (WebCore::SVGColor::reportDescendantMemoryUsage):
3432         (WebCore):
3433         * svg/SVGColor.h:
3434         (SVGColor):
3435         * svg/SVGPaint.cpp:
3436         (WebCore::SVGPaint::reportDescendantMemoryUsage):
3437         (WebCore):
3438         * svg/SVGPaint.h:
3439         (SVGPaint):
3440
3441 2012-08-06  Yury Semikhatsky  <yurys@chromium.org>
3442
3443         Web Inspector: rename WorkerAgent.setWorkerInspectionEnabled to WorkerAgent.enable and make it return error
3444         https://bugs.webkit.org/show_bug.cgi?id=92545
3445
3446         Reviewed by Pavel Feldman.
3447
3448         - Replaced WorkerAgent.setWorkerInspectionEnabled with WorkerAgent.enable/disable
3449         - Replaced Preferences.exposeWorkersInspection with InspectorFrontendHost.canInspectWorkers()
3450           that tells if inspector front-end on the given platform can launch dedicated worker
3451           front-end.
3452
3453         * inspector/Inspector.json:
3454         * inspector/InspectorFrontendClient.h:
3455         (InspectorFrontendClient):
3456         * inspector/InspectorFrontendClientLocal.h:
3457         (WebCore::InspectorFrontendClientLocal::canInspectWorkers):
3458         * inspector/InspectorFrontendHost.cpp:
3459         (WebCore::InspectorFrontendHost::canInspectWorkers):
3460         (WebCore):
3461         * inspector/InspectorFrontendHost.h: