e89c25fe83e3983ca79029b2626715ee6e9fa891
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-07  Byungwoo Lee  <bw80.lee@samsung.com>
2
3         [EFL] Build warning: Fix warn_unused_result warnings.
4         https://bugs.webkit.org/show_bug.cgi?id=79194
5
6         Reviewed by Filip Pizlo.
7
8         Fixed build warning which is getting generated when not using return
9         value of a fuction, especially declared with warn_unused_result
10         attribute.
11
12         * platform/efl/SharedBufferEfl.cpp:
13         (WebCore::SharedBuffer::createWithContentsOfFile):
14
15 2012-03-07  Kent Tamura  <tkent@chromium.org>
16
17         Cleanup of RenderTextControl::adjustControlHeightBasedOnLineHeight()
18         https://bugs.webkit.org/show_bug.cgi?id=80480
19
20         Reviewed by Hajime Morita.
21
22         The callsite of adjustControlHeightBasedOnLineHeight() stored
23         padding+border+margin height of the inner text in height(), and
24         adjustControlHeightBasedOnLineHeight() implementations refered it. It
25         was unreasonable and hard to understand.
26
27         The purpose of adjustControlHeightBasedOnLineHeight() is to compute
28         - the maximum height of line-heights of the inner text and decorations
29         - the maximum height of padding+border+margin heights of the inner text and decorations,
30         and to sum them up. This patch rewrites the code to make it understood easily.
31
32         adjustControlHeightBasedOnLineHeight() is renamed to
33         computeControlheight(), it takes additional parameter of
34         padding+boder+margin height, and returns the sum of them.
35
36         No behavior change.
37
38         * rendering/RenderTextControl.cpp:
39         (WebCore::RenderTextControl::computeLogicalHeight):
40         * rendering/RenderTextControl.h:
41         (RenderTextControl):
42         * rendering/RenderTextControlMultiLine.cpp:
43         (WebCore::RenderTextControlMultiLine::computeControlHeight):
44         * rendering/RenderTextControlMultiLine.h:
45         (RenderTextControlMultiLine):
46         * rendering/RenderTextControlSingleLine.cpp:
47         (WebCore::RenderTextControlSingleLine::computeControlHeight):
48         * rendering/RenderTextControlSingleLine.h:
49         (RenderTextControlSingleLine):
50
51 2012-03-06  Eric Seidel  <eric@webkit.org>
52
53         Make WTF public headers use fully-qualified include paths and remove ForwardingHeaders/wtf
54         https://bugs.webkit.org/show_bug.cgi?id=80363
55
56         Reviewed by Mark Rowe.
57
58         ForwardingHeaders/wtf is no longer needed (or functional) now that
59         JavaScriptCore no longer includes the WTF headers as private headers.
60
61         * DerivedSources.make:
62         * ForwardingHeaders/wtf/ASCIICType.h: Removed.
63         * ForwardingHeaders/wtf/AVLTree.h: Removed.
64         * ForwardingHeaders/wtf/Alignment.h: Removed.
65         * ForwardingHeaders/wtf/AlwaysInline.h: Removed.
66         * ForwardingHeaders/wtf/ArrayBuffer.h: Removed.
67         * ForwardingHeaders/wtf/ArrayBufferView.h: Removed.
68         * ForwardingHeaders/wtf/Assertions.h: Removed.
69         * ForwardingHeaders/wtf/Atomics.h: Removed.
70         * ForwardingHeaders/wtf/Bitmap.h: Removed.
71         * ForwardingHeaders/wtf/BloomFilter.h: Removed.
72         * ForwardingHeaders/wtf/BumpPointerAllocator.h: Removed.
73         * ForwardingHeaders/wtf/ByteArray.h: Removed.
74         * ForwardingHeaders/wtf/CheckedArithmetic.h: Removed.
75         * ForwardingHeaders/wtf/CheckedBoolean.h: Removed.
76         * ForwardingHeaders/wtf/Compiler.h: Removed.
77         * ForwardingHeaders/wtf/Complex.h: Removed.
78         * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Removed.
79         * ForwardingHeaders/wtf/CurrentTime.h: Removed.
80         * ForwardingHeaders/wtf/DataLog.h: Removed.
81         * ForwardingHeaders/wtf/DateInstanceCache.h: Removed.
82         * ForwardingHeaders/wtf/DateMath.h: Removed.
83         * ForwardingHeaders/wtf/DecimalNumber.h: Removed.
84         * ForwardingHeaders/wtf/Decoder.h: Removed.
85         * ForwardingHeaders/wtf/Deque.h: Removed.
86         * ForwardingHeaders/wtf/DisallowCType.h: Removed.
87         * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
88         * ForwardingHeaders/wtf/DynamicAnnotations.h: Removed.
89         * ForwardingHeaders/wtf/Encoder.h: Removed.
90         * ForwardingHeaders/wtf/ExportMacros.h: Removed.
91         * ForwardingHeaders/wtf/FastAllocBase.h: Removed.
92         * ForwardingHeaders/wtf/FastMalloc.h: Removed.
93         * ForwardingHeaders/wtf/FixedArray.h: Removed.
94         * ForwardingHeaders/wtf/Float32Array.h: Removed.
95         * ForwardingHeaders/wtf/Float64Array.h: Removed.
96         * ForwardingHeaders/wtf/Forward.h: Removed.
97         * ForwardingHeaders/wtf/Functional.h: Removed.
98         * ForwardingHeaders/wtf/GetPtr.h: Removed.
99         * ForwardingHeaders/wtf/HashCountedSet.h: Removed.
100         * ForwardingHeaders/wtf/HashFunctions.h: Removed.
101         * ForwardingHeaders/wtf/HashMap.h: Removed.
102         * ForwardingHeaders/wtf/HashSet.h: Removed.
103         * ForwardingHeaders/wtf/HashTable.h: Removed.
104         * ForwardingHeaders/wtf/HashTraits.h: Removed.
105         * ForwardingHeaders/wtf/HexNumber.h: Removed.
106         * ForwardingHeaders/wtf/Int16Array.h: Removed.
107         * ForwardingHeaders/wtf/Int32Array.h: Removed.
108         * ForwardingHeaders/wtf/Int8Array.h: Removed.
109         * ForwardingHeaders/wtf/ListHashSet.h: Removed.
110         * ForwardingHeaders/wtf/ListRefPtr.h: Removed.
111         * ForwardingHeaders/wtf/Locker.h: Removed.
112         * ForwardingHeaders/wtf/MD5.h: Removed.
113         * ForwardingHeaders/wtf/MainThread.h: Removed.
114         * ForwardingHeaders/wtf/MathExtras.h: Removed.
115         * ForwardingHeaders/wtf/MessageQueue.h: Removed.
116         * ForwardingHeaders/wtf/MetaAllocator.h: Removed.
117         * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Removed.
118         * ForwardingHeaders/wtf/NonCopyingSort.h: Removed.
119         * ForwardingHeaders/wtf/Noncopyable.h: Removed.
120         * ForwardingHeaders/wtf/NotFound.h: Removed.
121         * ForwardingHeaders/wtf/OSAllocator.h: Removed.
122         * ForwardingHeaders/wtf/OwnArrayPtr.h: Removed.
123         * ForwardingHeaders/wtf/OwnPtr.h: Removed.
124         * ForwardingHeaders/wtf/OwnPtrCommon.h: Removed.
125         * ForwardingHeaders/wtf/PageAllocation.h: Removed.
126         * ForwardingHeaders/wtf/PageAllocationAligned.h: Removed.
127         * ForwardingHeaders/wtf/PageBlock.h: Removed.
128         * ForwardingHeaders/wtf/PageReservation.h: Removed.
129         * ForwardingHeaders/wtf/ParallelJobs.h: Removed.
130         * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Removed.
131         * ForwardingHeaders/wtf/PassOwnPtr.h: Removed.
132         * ForwardingHeaders/wtf/PassRefPtr.h: Removed.
133         * ForwardingHeaders/wtf/Platform.h: Removed.
134         * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
135         * ForwardingHeaders/wtf/RandomNumber.h: Removed.
136         * ForwardingHeaders/wtf/RedBlackTree.h: Removed.
137         * ForwardingHeaders/wtf/RefCounted.h: Removed.
138         * ForwardingHeaders/wtf/RefCountedLeakCounter.h: Removed.
139         * ForwardingHeaders/wtf/RefPtr.h: Removed.
140         * ForwardingHeaders/wtf/RetainPtr.h: Removed.
141         * ForwardingHeaders/wtf/SHA1.h: Removed.
142         * ForwardingHeaders/wtf/SegmentedVector.h: Removed.
143         * ForwardingHeaders/wtf/SimpleStats.h: Removed.
144         * ForwardingHeaders/wtf/Spectrum.h: Removed.
145         * ForwardingHeaders/wtf/StackBounds.h: Removed.
146         * ForwardingHeaders/wtf/StaticConstructors.h: Removed.
147         * ForwardingHeaders/wtf/StdLibExtras.h: Removed.
148         * ForwardingHeaders/wtf/StringExtras.h: Removed.
149         * ForwardingHeaders/wtf/StringHasher.h: Removed.
150         * ForwardingHeaders/wtf/TemporaryChange.h: Removed.
151         * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
152         * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Removed.
153         * ForwardingHeaders/wtf/ThreadSpecific.h: Removed.
154         * ForwardingHeaders/wtf/Threading.h: Removed.
155         * ForwardingHeaders/wtf/ThreadingPrimitives.h: Removed.
156         * ForwardingHeaders/wtf/TypeTraits.h: Removed.
157         * ForwardingHeaders/wtf/Uint16Array.h: Removed.
158         * ForwardingHeaders/wtf/Uint32Array.h: Removed.
159         * ForwardingHeaders/wtf/Uint8Array.h: Removed.
160         * ForwardingHeaders/wtf/Uint8ClampedArray.h: Removed.
161         * ForwardingHeaders/wtf/UnusedParam.h: Removed.
162         * ForwardingHeaders/wtf/VMTags.h: Removed.
163         * ForwardingHeaders/wtf/ValueCheck.h: Removed.
164         * ForwardingHeaders/wtf/Vector.h: Removed.
165         * ForwardingHeaders/wtf/VectorTraits.h: Removed.
166         * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
167         * ForwardingHeaders/wtf/dtoa.h: Removed.
168         * ForwardingHeaders/wtf/dtoa/double-conversion.h: Removed.
169         * ForwardingHeaders/wtf/text/ASCIIFastPath.h: Removed.
170         * ForwardingHeaders/wtf/text/AtomicString.h: Removed.
171         * ForwardingHeaders/wtf/text/AtomicStringHash.h: Removed.
172         * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Removed.
173         * ForwardingHeaders/wtf/text/CString.h: Removed.
174         * ForwardingHeaders/wtf/text/StringBuffer.h: Removed.
175         * ForwardingHeaders/wtf/text/StringBuilder.h: Removed.
176         * ForwardingHeaders/wtf/text/StringConcatenate.h: Removed.
177         * ForwardingHeaders/wtf/text/StringHash.h: Removed.
178         * ForwardingHeaders/wtf/text/StringImpl.h: Removed.
179         * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
180         * ForwardingHeaders/wtf/text/WTFString.h: Removed.
181         * ForwardingHeaders/wtf/unicode/CharacterNames.h: Removed.
182         * ForwardingHeaders/wtf/unicode/Collator.h: Removed.
183         * ForwardingHeaders/wtf/unicode/UTF8.h: Removed.
184         * ForwardingHeaders/wtf/unicode/Unicode.h: Removed.
185         * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Removed.
186         * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Removed.
187         * ForwardingHeaders/wtf/url/ParsedURL.h: Removed.
188
189 2012-03-07  Yoshifumi Inoue  <yosin@chromium.org>
190
191         [Forms] The "legend" element should not be a form-associated element.
192         https://bugs.webkit.org/show_bug.cgi?id=80239
193
194         Reviewed by Kent Tamura.
195
196         This patch changes base class of HTMLLegendElement to HTMLElement from
197         HTMLFormControlElement for saving memory space and iteration time of
198         extra "legend" elements in HTMLFormElement::m_formAssociatedElements
199         and matching the HTML5 specification for ease of maintenance.
200
201         Changes of TextIterator is lead by usage of isFormControlElement. This
202         changes will be replaced with more meaningful predicate as part of
203         https://bugs.webkit.org/show_bug.cgi?id=80381
204
205         No new tests are required. No behavior changes.
206
207         * editing/TextIterator.cpp:
208         (WebCore::TextIterator::advance): Check HTMLLegendElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
209         * html/HTMLLegendElement.cpp:
210         (WebCore::HTMLLegendElement::HTMLLegendElement): Remove form parameter.
211         (WebCore::HTMLLegendElement::create): Remove form parameter.
212         (WebCore::HTMLLegendElement::associatedControl): Stop checking legend element, because HTMLLegendElement is no longer HTMLFormControlElement.
213         (WebCore::HTMLLegendElement::supportFocus): Removed. It called HTMLElement::supportFocus.
214         (WebCore::HTMLLegendElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
215         * html/HTMLLegendElement.h:
216         (HTMLLegendElement): Change base class to HTMLElement.
217         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
218
219 2012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
220
221         [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
222         https://bugs.webkit.org/show_bug.cgi?id=80469
223
224         Reviewed by Antonio Gomes.
225
226         No new tests, this is a buildsystem change.
227
228         * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
229         property on the library being created.
230
231 2012-03-06  Lianghui Chen  <liachen@rim.com>
232
233         [BlackBerry] Set correct ResourceRequest target type.
234         https://bugs.webkit.org/show_bug.cgi?id=80430
235
236         Reviewed by Rob Buis.
237
238         For loads started by AppCache, they are based on the manifest file,
239         it is not definitely sure what target it is for, so we just guess
240         based on its mimetype or file extension.
241
242         * loader/appcache/ApplicationCacheGroup.cpp:
243         (WebCore::ApplicationCacheGroup::createResourceHandle):
244         * loader/cache/CachedResource.cpp:
245         (WebCore):
246         (WebCore::CachedResource::load):
247         * platform/network/blackberry/ResourceRequest.h:
248         (ResourceRequest):
249         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
250         (WebCore):
251         (WebCore::mimeTypeRequestTypeMap):
252         (WebCore::ResourceRequest::targetTypeFromMimeType):
253         * workers/DefaultSharedWorkerRepository.cpp:
254         (WebCore::SharedWorkerScriptLoader::load):
255         * workers/Worker.cpp:
256         (WebCore::Worker::create):
257         * workers/WorkerContext.cpp:
258         (WebCore::WorkerContext::importScripts):
259         * workers/WorkerScriptLoader.cpp:
260         (WebCore::WorkerScriptLoader::createResourceRequest):
261         * workers/WorkerScriptLoader.h:
262         (WorkerScriptLoader):
263
264 2012-03-06  Dana Jansens  <danakj@chromium.org>
265
266         [chromium] Add clipping to scissor rect to CCOcclusionTracker
267         https://bugs.webkit.org/show_bug.cgi?id=79927
268
269         Reviewed by Adrienne Walker.
270
271         Adds logic to CCOcclusionTracker to occlude anything outside of the
272         current screen and target surface scissor rects. When tracking
273         damage for partial swaps, the scissor rects are bounded by the
274         tracked damage rects.
275
276         Unit tests: CCOcclusionTrackerTest.cpp
277
278         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
279         (WebCore::::CCOcclusionTrackerBase):
280         (WebCore):
281         (WebCore::::markOccludedBehindLayer):
282         (WebCore::testContentRectOccluded):
283         (WebCore::::occluded):
284         (WebCore::computeUnoccludedContentRect):
285         (WebCore::::unoccludedContentRect):
286         (WebCore::::layerScissorRect):
287         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
288         (WebCore):
289         (CCOcclusionTrackerDamageClientBase):
290         (CCOcclusionTrackerBase):
291
292 2012-03-06  Kentaro Hara  <haraken@chromium.org>
293
294         Unreviewed, rolling out r110011.
295         http://trac.webkit.org/changeset/110011
296         https://bugs.webkit.org/show_bug.cgi?id=80376
297
298         layout tests crash
299
300         * bindings/v8/V8HiddenPropertyName.cpp:
301         (WebCore):
302         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
303         * bindings/v8/V8HiddenPropertyName.h:
304         (WebCore):
305         (V8HiddenPropertyName):
306         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
307         (WebCore::toV8):
308         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
309         (WebCore::toV8):
310         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
311         (WebCore::toV8):
312
313 2012-03-06  Kentaro Hara  <haraken@chromium.org>
314
315         Unreviewed, rolling out r110016.
316         http://trac.webkit.org/changeset/110016
317
318         layout tests crash
319
320         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
321         (WebCore::toV8):
322
323 2012-03-06  Kentaro Hara  <haraken@chromium.org>
324
325         Unreviewed, fixed test crashes.
326
327         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
328         (WebCore::toV8):
329
330 2012-03-06  Hajime Morrita  <morrita@chromium.org>
331
332         https://bugs.webkit.org/show_bug.cgi?id=79935
333         REGRESSION: <content> element is not HTMLUnknownElement when Shadow DOM API is disabled
334
335         Reviewed by Adam Barth.
336
337         This change introduced "runtimeConditional" keyword to make_name.pl sources,
338         which allows HTMLElementFactory and HTMLElementWrapperFactory to check RuntimeEnabledFeatures
339         and treat any tag name as HTMLUnknownElement if its definition has runtimeConditional and
340         the flag given is turned off.
341
342         Test: fast/dom/shadow/content-shadow-unknown.html
343
344         * WebCore.exp.in:
345         * dom/make_names.pl:
346         (defaultTagPropertyHash):
347         (printConstructorInterior):
348         (printFactoryCppFile):
349         (printWrapperFunctions):
350         (printWrapperFactoryCppFile):
351         * html/HTMLTagNames.in:
352         * html/shadow/HTMLContentElement.cpp:
353         (WebCore::contentTagName):
354         * testing/InternalSettings.cpp:
355         (WebCore::InternalSettings::InternalSettings):
356         (WebCore::InternalSettings::restoreTo):
357         (WebCore::InternalSettings::setShadowDOMEnabled):
358         (WebCore):
359         * testing/InternalSettings.h:
360         (InternalSettings):
361         * testing/InternalSettings.idl:
362
363 2012-03-06  Kenichi Ishibashi  <bashi@chromium.org>
364
365         [WebSocket] Introduce ThreadableWebSocketChannel::SendResult
366         https://bugs.webkit.org/show_bug.cgi?id=80356
367
368         Reviewed by Kent Tamura.
369
370         Introduced ThreadableWebSocketChannel::SendResult type so that
371         WebSocketChannel can pass the validation result.
372
373         No new test. No changes in behavior.
374
375         * Modules/websockets/ThreadableWebSocketChannel.h: Added SendResult.
376         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
377         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
378         (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult): Use ThreadableWebSocketChannel::SendResult instead of bool.
379         (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult): Ditto.
380         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
381         (ThreadableWebSocketChannelClientWrapper):
382         * Modules/websockets/WebSocketChannel.cpp:
383         (WebCore::WebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool. Pass Cstring to enqueTextFrame instead of String.
384         (WebCore::WebSocketChannel::enqueueTextFrame): Ditto.
385         (WebCore::WebSocketChannel::processOutgoingFrameQueue): Ditto.
386         * Modules/websockets/WebSocketChannel.h:
387         (WebSocketChannel):
388         (QueuedFrame): Changed the type of stringData from String to CString.
389         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
390         (WebCore::WorkerThreadableWebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool.
391         (WebCore::workerContextDidSend): Ditto.
392         (WebCore::WorkerThreadableWebSocketChannel::Peer::send): Ditto.
393         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Ditto.
394         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
395         (WorkerThreadableWebSocketChannel): ditto.
396         (Bridge): Ditto.
397
398 2012-03-06  Kentaro Hara  <haraken@chromium.org>
399
400         [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
401         Element.dataset and Node.attributes
402         https://bugs.webkit.org/show_bug.cgi?id=80376
403
404         Reviewed by Adam Barth.
405
406         This patch improves the performance of HTMLElement.classList, Element.dataset
407         and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.
408
409         Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
410         created every time the DOM attribute is accessed, in spite of the fact that
411         the 'hiddenReferenceName' string is static.
412
413         This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
414         Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
415         since if 'element' exists, it is guaranteed that 'elementValue' is not empty
416         and is an Object.
417
418         Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
419
420         AppleWebKit/JavaScriptCore:
421         div.classList : 382ms
422         div.classList.foo = 123 : 335ms
423         div.dataset : 403ms
424         div.dataset.foo = 123 : 5250ms
425         div.attributes : 183ms
426
427         Chromium/V8 (without this patch):
428         div.classList : 9140ms
429         div.classList.foo = 123 : 9086ms
430         div.dataset : 9930ms
431         div.dataset.foo = 123 : 49698ms
432         div.attributes : 13489ms
433
434         Chromium/V8 (with this patch):
435         div.classList : 1435ms
436         div.classList.foo = 123 : 1470ms
437         div.dataset : 1400ms
438         div.dataset.foo = 123 : 30396ms
439         div.attributes : 1242ms
440
441         No tests. No change in behavior.
442
443         * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
444         (WebCore::toV8):
445         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
446         (WebCore::toV8):
447         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
448         (WebCore::toV8):
449
450         * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
451         to optimize the macro.
452         (WebCore):
453         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
454         * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
455         and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
456         or a hidden reference.
457         (WebCore):
458         (V8HiddenPropertyName):
459
460 2012-03-06  Nat Duca  <nduca@chromium.org>
461
462         [chromium] CCThreadProxy context lost support
463         https://bugs.webkit.org/show_bug.cgi?id=80100
464
465         Reviewed by James Robinson.
466
467         * platform/graphics/chromium/cc/CCScheduler.cpp:
468         (WebCore::CCScheduler::didLoseContext):
469         (WebCore):
470         (WebCore::CCScheduler::didRecreateContext):
471         (WebCore::CCScheduler::processScheduledActions):
472         * platform/graphics/chromium/cc/CCScheduler.h:
473         (CCSchedulerClient):
474         (CCScheduler):
475         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
476         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
477         (WebCore::CCSchedulerStateMachine::nextAction):
478         (WebCore::CCSchedulerStateMachine::updateState):
479         (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
480         (WebCore::CCSchedulerStateMachine::didLoseContext):
481         (WebCore):
482         (WebCore::CCSchedulerStateMachine::didRecreateContext):
483         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
484         (CCSchedulerStateMachine):
485         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
486         (WebCore::CCThreadProxy::recreateContext):
487         (WebCore::CCThreadProxy::loseContext):
488         (WebCore::CCThreadProxy::scheduledActionBeginContextRecreation):
489         (WebCore):
490         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
491         (WebCore::CCThreadProxy::setAnimationEvents):
492         (WebCore::CCThreadProxy::beginContextRecreation):
493         (WebCore::CCThreadProxy::recreateContextOnImplThread):
494         (WebCore::CCThreadProxy::loseContextOnImplThread):
495         * platform/graphics/chromium/cc/CCThreadProxy.h:
496         (CCThreadProxy):
497
498 2012-03-06  Tony Chang  <tony@chromium.org>
499
500         refactor method names in RenderFlexibleBox to make them more consistent
501         https://bugs.webkit.org/show_bug.cgi?id=80446
502
503         Reviewed by Ojan Vafai.
504
505         No new tests, just renaming internal methods.
506
507         * rendering/RenderFlexibleBox.cpp:
508         (WebCore::RenderFlexibleBox::flowAwareBorderAfter): New, used by layoutAndPlaceChildren
509         (WebCore::RenderFlexibleBox::flowAwarePaddingAfter): New, used by layoutAndPlaceChildren
510         (WebCore::RenderFlexibleBox::marginBoxAscentForChild): Add ForChild for consistency.
511         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): We were adding the before padding+border twice (it's in the offset and
512         crossAxisBorderAndPaddingExtent() and subtracting it once.  Instead, just add the after padding+border.
513         (WebCore::RenderFlexibleBox::alignChildren):
514         * rendering/RenderFlexibleBox.h:
515         (RenderFlexibleBox): Reorder methods to match the .cpp file.
516
517 2012-03-06  Kentaro Hara  <haraken@chromium.org>
518
519         Unreviewed, rolling out r109969.
520         http://trac.webkit.org/changeset/109969
521         https://bugs.webkit.org/show_bug.cgi?id=80376
522
523         layout tests crash
524
525         * bindings/v8/V8HiddenPropertyName.cpp:
526         (WebCore):
527         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
528         * bindings/v8/V8HiddenPropertyName.h:
529         (WebCore):
530         (V8HiddenPropertyName):
531         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
532         (WebCore::toV8):
533         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
534         (WebCore::toV8):
535         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
536         (WebCore::toV8):
537
538 2012-03-06  Kentaro Hara  <haraken@chromium.org>
539
540         Unreviewed, rolling out r109999.
541         http://trac.webkit.org/changeset/109999
542
543         layout tests crash
544
545         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
546         (WebCore::toV8):
547         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
548         (WebCore::toV8):
549
550 2012-03-06  Kentaro Hara  <haraken@chromium.org>
551
552         Unreviewed, fix crashes.
553
554         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
555         (WebCore::toV8):
556         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
557         (WebCore::toV8):
558
559 2012-03-06  James Robinson  <jamesr@chromium.org>
560
561         [chromium] Fix threaded compositing issues in WebGLLayerChromium (except for printing)
562         https://bugs.webkit.org/show_bug.cgi?id=80459
563
564         Reviewed by Kenneth Russell.
565
566         This fixes a few wrong-thread issues in WebGLLayerChromium for threaded compositing.  The key requirements that
567         threaded compositing imposes on LayerChromium subclasses are that the compositor's context can only be used from
568         the compositor thread, meaning inside of updateCompositorResources() and pushPropertiesTo(), and that
569         non-compositor contexts can only be used from the main thread. This means specifically that we can't use the
570         DrawingBuffer's context in either of these two functions.
571
572         Summary of changes:
573         *) Move the publishToPlatformLayer() call and related logic inside of paintContentsIfDirty(), which is called
574         on the main thread.
575         *) Move lost context tracking outside of drawsContent(), since that function is called from both threads, to a
576         separate bool that is updated after each WebGL composite and setDrawingBuffer call.
577
578         Printing still doesn't work in threaded mode with this patch, I'll address that separately. Printing and lost
579         context recovery still work as they did in the single-threaded path.
580
581         * platform/graphics/chromium/WebGLLayerChromium.cpp:
582         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
583         (WebCore::WebGLLayerChromium::drawsContent):
584         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
585         (WebCore::WebGLLayerChromium::updateCompositorResources):
586         (WebCore::WebGLLayerChromium::setDrawingBuffer):
587         * platform/graphics/chromium/WebGLLayerChromium.h:
588         (WebGLLayerChromium):
589
590 2012-03-06  Anders Carlsson  <andersca@apple.com>
591
592         Cracks between tiles when zoomed in
593         https://bugs.webkit.org/show_bug.cgi?id=80460
594         <rdar://problem/10996688>
595
596         Use enclosingIntRect instead of enclosedIntRect when converting from FloatRect to IntRect.
597
598         * platform/graphics/mac/WebLayer.mm:
599         (drawLayerContents):
600
601 2012-03-06  Anders Carlsson  <andersca@apple.com>
602
603         Tile cache layers should always be clipped to the view's bounds
604         https://bugs.webkit.org/show_bug.cgi?id=80456
605         <rdar://problem/10996174>
606
607         Reviewed by Simon Fraser.
608
609         * rendering/RenderLayerBacking.cpp:
610         (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
611         Factor this code out into a separate function for better clarity. Always return true if we have a tile cache layer.
612
613         (WebCore::RenderLayerBacking::updateCompositedBounds):
614         Call shouldClipCompositedBounds directly.
615
616 2012-03-06  James Robinson  <jamesr@chromium.org>
617
618         [chromium] Null-check m_layerRenderer in CCLayerTreeHostImpl::finishAllRendering()
619         https://bugs.webkit.org/show_bug.cgi?id=80445
620
621         Reviewed by Adrienne Walker.
622
623         Null-check CCLayerTreeHostImpl::m_layerRenderer since it won't be set if context initialiation failed for any
624         reason.
625
626         Covered by new unit test in CCLayerTreeHostImplTest.
627
628         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
629         (WebCore::CCLayerTreeHostImpl::finishAllRendering):
630
631 2012-03-06  Ryosuke Niwa  <rniwa@webkit.org>
632
633         Can't select a line of RTL text on Facebook
634         https://bugs.webkit.org/show_bug.cgi?id=59435
635
636         Reviewed by Eric Seidel.
637
638         Deploy prevLeafChildIgnoringLineBreak and nextLeafChildIgnoringLineBreak
639         in RenderedPosition::leftBoundaryOfBidiRun and RenderedPosition::rightBoundaryOfBidiRun.
640
641         Without this patch, WebKit extends selection from right to left when the user selects
642         <span dir="rtl">ABC<br></span> from left to right by a mouse drag.
643
644         Test: editing/selection/select-bidi-run.html
645
646         * editing/RenderedPosition.cpp:
647         (WebCore::RenderedPosition::leftBoundaryOfBidiRun):
648         (WebCore::RenderedPosition::rightBoundaryOfBidiRun):
649
650 2012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
651
652         undefined reference to JSC::IdentifierTable::~IdentifierTable() on EFL port
653         https://bugs.webkit.org/show_bug.cgi?id=80282
654
655         Reviewed by Antonio Gomes.
656
657         No new tests, this is a buildsystem change.
658
659         Remove transitive library dependencies; they are especially
660         dangerous when one ends up linking against WTF, JSC and then WTF
661         again, since some symbols will not be defined.
662
663         Passing --no-copy-dt-needed-entries and --as-needed to the linker
664         (which some recent Linux distros do by default) makes the issue
665         even more evident.
666
667         * CMakeLists.txt: Explicitly link to WTF as WebCore uses symbols
668         from it.
669         * PlatformEfl.cmake: Explicitly link against libjpeg and libpng.
670
671 2012-03-06  James Robinson  <jamesr@chromium.org>
672
673         [chromium] REGRESSION(109469): WebGL printing busted
674         https://bugs.webkit.org/show_bug.cgi?id=80450
675
676         Reviewed by Kenneth Russell.
677
678         Avoid marking layers as needing display in setContentsTo...() since this breaks WebGL's damage tracking and is
679         unnecessary.
680
681         Tested WebGL printing manually.
682
683         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
684         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
685         (WebCore::GraphicsLayerChromium::setContentsToMedia):
686
687 2012-03-06  Adrienne Walker  <enne@google.com>
688
689         Overlap map for compositing should ignore empty layers
690         https://bugs.webkit.org/show_bug.cgi?id=63499
691
692         Reviewed by Simon Fraser.
693
694         Test: compositing/layer-creation/overlap-empty-layer.html
695
696         * rendering/RenderLayerCompositor.cpp:
697         (WebCore::RenderLayerCompositor::addToOverlapMap):
698         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
699
700 2012-03-06  Vangelis Kokkevis  <vangelis@chromium.org>
701
702         [chromium] Increase the accelerated canvas min size to 256 * 256
703         https://bugs.webkit.org/show_bug.cgi?id=80451
704
705         Reviewed by Stephen White.
706
707         Test: Manually
708
709         * page/Settings.cpp:
710         (WebCore::Settings::Settings):
711
712 2012-03-06  Kentaro Hara  <haraken@chromium.org>
713
714         [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
715         Element.dataset and Node.attributes
716         https://bugs.webkit.org/show_bug.cgi?id=80376
717
718         Reviewed by Adam Barth.
719
720         This patch improves the performance of HTMLElement.classList, Element.dataset
721         and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.
722
723         Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
724         created every time the DOM attribute is accessed, in spite of the fact that
725         the 'hiddenReferenceName' string is static.
726
727         This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
728         Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
729         since if 'element' exists, it is guaranteed that 'elementValue' is not empty
730         and is an Object.
731
732         Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
733
734         AppleWebKit/JavaScriptCore:
735         div.classList : 382ms
736         div.classList.foo = 123 : 335ms
737         div.dataset : 403ms
738         div.dataset.foo = 123 : 5250ms
739         div.attributes : 183ms
740
741         Chromium/V8 (without this patch):
742         div.classList : 9140ms
743         div.classList.foo = 123 : 9086ms
744         div.dataset : 9930ms
745         div.dataset.foo = 123 : 49698ms
746         div.attributes : 13489ms
747
748         Chromium/V8 (with this patch):
749         div.classList : 1435ms
750         div.classList.foo = 123 : 1470ms
751         div.dataset : 1400ms
752         div.dataset.foo = 123 : 30396ms
753         div.attributes : 1242ms
754
755         No tests. No change in behavior.
756
757         * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
758         (WebCore::toV8):
759         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
760         (WebCore::toV8):
761         * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
762         (WebCore::toV8):
763
764         * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
765         to optimize the macro.
766         (WebCore):
767         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
768         * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
769         and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
770         or a hidden reference.
771         (WebCore):
772         (V8HiddenPropertyName):
773
774 2012-03-06  Alexis Menard  <alexis.menard@openbossa.org>
775
776         getComputedStyle returns incorrect values for the width and height of pseudo-elements
777         https://bugs.webkit.org/show_bug.cgi?id=37835
778
779         Reviewed by Tony Chang.
780
781         In case we are querying the computed style of an element with a pseudo-element we can't use
782         the renderer of the element as this one is not the one used to render the pseudo-element. We need
783         to use the one created to render the pseudo-element.
784
785         No new tests : Extend the existing getComputedStyle-with-pseudo-element.
786
787         * css/CSSComputedStyleDeclaration.cpp:
788         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
789
790 2012-03-06  Shawn Singh  <shawnsingh@chromium.org>
791
792         [chromium] Make compositeAndReadback and damage tracking play nicely together
793         https://bugs.webkit.org/show_bug.cgi?id=80199
794
795         Reviewed by James Robinson.
796
797         Requires system-level testing (pixels on front-buffer should be
798         observed for correct behavior) that cannot be done by layout tests
799         or unit tests, have to rely on manual testing.
800
801         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
802         (WebCore::CCSingleThreadProxy::compositeAndReadback):
803
804 2012-03-06  Luke Macpherson   <macpherson@chromium.org>
805
806         Make CSSStyleSelector::convertToLength() behave more like CSSPrimitiveValue::convertToLength().
807         https://bugs.webkit.org/show_bug.cgi?id=80375
808
809         Reviewed by Eric Seidel.
810
811         No new tests / cleanup only.
812
813         This patch removes the bool* ok parameter from CSSStyleSelector's convertToLength,
814         and instead uses the recently added Length(Undefined) value to indicate failure.
815         This paves the way for a future patch that will call primitiveValue->convertToLength directly.
816
817         * css/CSSStyleSelector.cpp:
818         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
819
820 2012-03-06  Raymes Khoury  <raymes@chromium.org>
821
822         Add state variable and ASSERTs to DocumentWriter to help track down
823         https://bugs.webkit.org/show_bug.cgi?id=80427 and prevent illegal usage
824         of DocumentWriter. This also makes endIfNotLoadingMainResource() private
825         as there is no external usage.
826
827         Reviewed by Adam Barth.
828
829         This only adds ASSERT/CRASH and does not change existing behaviour.
830
831         * loader/DocumentWriter.cpp:
832         (WebCore::DocumentWriter::DocumentWriter):
833         (WebCore::DocumentWriter::begin):
834         (WebCore::DocumentWriter::addData):
835         (WebCore::DocumentWriter::endIfNotLoadingMainResource):
836         (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
837         * loader/DocumentWriter.h:
838         (DocumentWriter):
839
840 2012-03-06  Mihnea Ovidenie  <mihnea@adobe.com>
841
842         [CSSRegions][CSSOM]Restrict parsing of named flow name
843         https://bugs.webkit.org/show_bug.cgi?id=80359
844
845         Reviewed by Andreas Kling.
846
847         The function that does the parsing for flow thread name should restrict the
848         number of parsed properties to 1, otherwise it would allow parsing of
849         "-webkit-flow-into: flow; color: red;" constructions.
850
851         Modified fast/regions/webkit-named-flow-invalid-name.html to include the above case.
852
853         * css/CSSParser.cpp:
854         (WebCore::validFlowName):
855         (WebCore::CSSParser::parseFlowThread):
856
857 2012-03-06  Joseph Pecoraro  <pecoraro@apple.com>
858
859         Unreviewed build fix for minimal build after r109939.
860
861         Guard access to page->inspectorController with ENABLE(INSPECTOR).
862
863         * page/FrameView.cpp:
864         (WebCore::FrameView::performPostLayoutTasks):
865
866 2012-03-05  Dean Jackson  <dino@apple.com>
867
868         Enable compositing when a CSS filter is animating
869         https://bugs.webkit.org/show_bug.cgi?id=79048
870
871         Reviewed by Simon Fraser.
872
873         Now that some systems (e.g. OS X) have both hardware accelerated
874         CSS filters, and the ability to animate them via the hardware
875         compositor, all CSS filters should be composited when animating.
876
877         Tests: css3/filters/composited-during-animation-layertree.html
878                css3/filters/composited-during-animation.html
879                css3/filters/composited-during-transition-layertree.html
880
881         * platform/graphics/ca/GraphicsLayerCA.cpp:
882         (WebCore):
883         (WebCore::supportsAcceleratedFilterAnimations):
884             new method that returns true if the platform supports
885             hardware animations of filters.
886         (WebCore::GraphicsLayerCA::addAnimation):
887         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
888             only create layer-animations if the platform supports it.
889         * rendering/RenderLayerCompositor.cpp:
890         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
891             create a compositing layer if animating a filter on a
892             supported platform.
893
894 2012-03-06  Stephen White  <senorblanco@chromium.org>
895
896         Unreviewed, rolling out r109825.
897         http://trac.webkit.org/changeset/109825
898         https://bugs.webkit.org/show_bug.cgi?id=79413
899
900         Broke webkit_unit_tests on Chromium Win
901
902         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
903         (WebCore::IDBLevelDBBackingStore::open):
904         * platform/leveldb/LevelDBDatabase.cpp:
905         (WebCore):
906         * platform/leveldb/LevelDBDatabase.h:
907         (LevelDBDatabase):
908
909 2012-03-06  Beth Dakin  <bdakin@apple.com>
910
911         https://bugs.webkit.org/show_bug.cgi?id=80351
912         InlineTextBox is using the wrong origin when calling 
913         addRelevantRepaintedObject
914         -and corresponding-
915         <rdar://problem/10970221>
916
917         Reviewed by Sam Weinig.
918
919         boxOrigin represents the actual location of the text. The adjustedPaintOffset 
920         (which I was using previously) will only correspond to the first line in a 
921         block of lines.
922         * rendering/InlineTextBox.cpp:
923         (WebCore::InlineTextBox::paint):
924
925 2012-03-06  Filip Spacek  <fspacek@rim.com>
926
927         [BlackBerry] Disable border radius clips (r95239) for BlackBerry
928         https://bugs.webkit.org/show_bug.cgi?id=80416
929
930         Reviewed by Antonio Gomes
931
932         The BlackBerry port suffers from the same performance
933         degradation when border radius clip is enabled as Chromium.
934
935         * rendering/RenderLayer.cpp:
936
937 2012-03-06  Stephen White  <senorblanco@chromium.org>
938
939         Unreviewed, rolling out r109832.
940         http://trac.webkit.org/changeset/109832
941         https://bugs.webkit.org/show_bug.cgi?id=80356
942
943         Broke WebSocket tests on Chrome Mac and Linux
944
945         * Modules/websockets/ThreadableWebSocketChannel.h:
946         (ThreadableWebSocketChannel):
947         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
948         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
949         (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult):
950         (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult):
951         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
952         (ThreadableWebSocketChannelClientWrapper):
953         * Modules/websockets/WebSocket.cpp:
954         (WebCore::WebSocket::send):
955         * Modules/websockets/WebSocketChannel.cpp:
956         (WebCore::WebSocketChannel::send):
957         (WebCore::WebSocketChannel::enqueueTextFrame):
958         (WebCore::WebSocketChannel::processOutgoingFrameQueue):
959         * Modules/websockets/WebSocketChannel.h:
960         (WebSocketChannel):
961         (QueuedFrame):
962         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
963         (WebCore::WorkerThreadableWebSocketChannel::send):
964         (WebCore::workerContextDidSend):
965         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
966         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
967         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
968         (WorkerThreadableWebSocketChannel):
969         (Bridge):
970
971 2012-03-06  Stephen White  <senorblanco@chromium.org>
972
973         Unreviewed, rolling out r109840.
974         http://trac.webkit.org/changeset/109840
975         https://bugs.webkit.org/show_bug.cgi?id=80103
976
977         Broke WebSocket tests on Chrome Mac and Linux
978
979         * Modules/websockets/WebSocket.cpp:
980         (WebCore::WebSocket::send):
981         (WebCore::WebSocket::close):
982         * Modules/websockets/WebSocketChannel.cpp:
983         (WebCore::WebSocketChannel::send):
984
985 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
986
987         <http://webkit.org/b/78575> Web Inspector: Disable dock button when not allowed to dock
988
989         There are times when an undocked inspector frontend is not allowed to
990         attach to the main window. We can disable the dock button in those cases.
991
992         Reviewed by Pavel Feldman.
993
994         No new tests. This functionality is port specific right now.
995
996         * page/FrameView.cpp:
997         (WebCore::FrameView::performPostLayoutTasks):
998         When the main frame is resized we let the inspector client know,
999         so that it can react to it as needed.
1000
1001         * WebCore.exp.in:
1002         * inspector/InspectorClient.h:
1003         (WebCore::InspectorClient::didResizeMainFrame):
1004         * inspector/InspectorController.cpp:
1005         * inspector/InspectorController.h:
1006         (WebCore::InspectorController::inspectorClient):
1007         Call up to the port though to the InspectorClient.
1008
1009         * inspector/InspectorFrontendClientLocal.cpp:
1010         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
1011         (WebCore::InspectorFrontendClientLocal::setDockingUnavailable):
1012         * inspector/InspectorFrontendClientLocal.h:
1013         On ports where the inspector frontend client is local, provide a 
1014         setDockingUnavailable InspectorFrontendAPI to update the docking state.
1015         Automatically update availability when the frontend completes loading.
1016
1017         * inspector/front-end/InspectorFrontendAPI.js:
1018         (InspectorFrontendAPI.setDockingUnavailable):
1019         * inspector/front-end/inspector.js:
1020         (WebInspector._createGlobalStatusBarItems):
1021         (WebInspector.setAttachedWindow):
1022         (WebInspector.setDockingUnavailable):
1023         (WebInspector.updateDockToggleButton):
1024         Update the dock button's enabled/disabled state when its created,
1025         when the attached state changes, when get a frontend API notification
1026         that we cannot attach.
1027
1028         * inspector/front-end/InspectorFrontendHostStub.js:
1029         Remove unused canAttachWindow method.
1030
1031 2012-03-06  Hans Wennborg  <hans@chromium.org>
1032
1033         Speech JavaScript API: add SpeechRecognitionError
1034         https://bugs.webkit.org/show_bug.cgi?id=80410
1035
1036         Reviewed by Adam Barth.
1037
1038         Add SpeechRecognitionError.
1039
1040         Test: fast/speech/scripted/speechrecognitionerror-basics.html
1041
1042         * Modules/speech/DOMWindowSpeech.idl: Added.
1043         * Modules/speech/SpeechRecognitionError.cpp: Added.
1044         (WebCore):
1045         (WebCore::SpeechRecognitionError::create):
1046         (WebCore::SpeechRecognitionError::SpeechRecognitionError):
1047         * Modules/speech/SpeechRecognitionError.h: Added.
1048         (WebCore):
1049         (SpeechRecognitionError):
1050         (WebCore::SpeechRecognitionError::code):
1051         (WebCore::SpeechRecognitionError::message):
1052         * Modules/speech/SpeechRecognitionError.idl: Added.
1053         * WebCore.gyp/WebCore.gyp:
1054         * WebCore.gypi:
1055
1056 2012-03-06  David Corvoysier  <david.corvoysier@orange.com>
1057
1058         Unreleased gst_object_reference to audio sink in MediaPlayerPrivateGStreamer
1059         https://bugs.webkit.org/show_bug.cgi?id=79795
1060
1061         Bug fix: Used a GRefPtr to hold the reference to the audio sink instead of a GstElement*.
1062         Code cleanup: Used the same pattern for webkit web source and removed explicit gst_unref in destructor.
1063
1064         Reviewed by Philippe Normand.
1065
1066         No new tests. No change in behavior.
1067
1068         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1069         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
1070         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1071         (MediaPlayerPrivateGStreamer):
1072
1073 2012-03-06  Patrick Gansterer  <paroga@webkit.org>
1074
1075         [CMake] Build fix for !ENABLE(WORKERS) after r109556 and r109833.
1076
1077         * CMakeLists.txt:
1078
1079 2012-03-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1080
1081         [Qt][WK2] Crash in Frame.cpp when loading index.hu
1082         https://bugs.webkit.org/show_bug.cgi?id=80165
1083
1084         Guard against possible null document, which can happen
1085         when unsetting a document in a frame.
1086
1087         Reviewed by Kenneth Rohde Christiansen.
1088
1089         * page/Frame.cpp:
1090         (WebCore::Frame::setDocument):
1091
1092 2012-03-06  Lucas Forschler  <lforschler@apple.com>
1093
1094         WebCore build exceeds address space on 32-bit Windows builds.
1095         https://bugs.webkit.org/show_bug.cgi?id=80346
1096
1097         Reviewed by Jessie Berlin.
1098
1099         Patch by Lucas Forschler, landed by Jessie Berlin.
1100
1101         Add AllInOne.cpp files for a few projects.
1102         This will only affect Production and Release builds.
1103         Let VS rebuild the project file.
1104
1105         * WebCore.vcproj/WebCore.vcproj:
1106         * css/MediaAllInOne.cpp: Added.
1107         * loader/appcache/ApplicationCacheAllInOne.cpp: Added.
1108         * mathml/MathMLAllInOne.cpp: Added.
1109         * platform/text/TextAllInOne.cpp: Added.
1110
1111 2012-03-06  Pavel Feldman  <pfeldman@chromium.org>
1112
1113         Web Inspector: add support for inspection of huge (1M elements) arrays.
1114         https://bugs.webkit.org/show_bug.cgi?id=80421
1115
1116         Reviewed by Vsevolod Vlasov.
1117
1118         * inspector/front-end/ConsoleView.js:
1119         (WebInspector.ConsoleView.prototype.completionsForExpression.evaluated):
1120         * inspector/front-end/ElementsPanel.js:
1121         * inspector/front-end/ObjectPropertiesSection.js:
1122         (WebInspector.ObjectPropertiesSection.prototype.update.callback):
1123         (WebInspector.ObjectPropertiesSection.prototype.update):
1124         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
1125         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
1126         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
1127         (WebInspector.ArrayGroupingTreeElement):
1128         (WebInspector.ArrayGroupingTreeElement._populateArray):
1129         (WebInspector.ArrayGroupingTreeElement._populateRanges):
1130         (WebInspector.ArrayGroupingTreeElement._populateRanges.callback):
1131         (WebInspector.ArrayGroupingTreeElement._populateAsFragment):
1132         (WebInspector.ArrayGroupingTreeElement._populateAsFragment.processArrayFragment):
1133         (WebInspector.ArrayGroupingTreeElement._populateAsFragment.processProperties):
1134         (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.buildObjectFragment):
1135         (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.processObjectFragment):
1136         (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.processProperties):
1137         (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties):
1138         (WebInspector.ArrayGroupingTreeElement.prototype.onpopulate):
1139         (WebInspector.ArrayGroupingTreeElement.prototype.onattach):
1140         * inspector/front-end/PropertiesSidebarPane.js:
1141         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
1142         * inspector/front-end/RemoteObject.js:
1143         (WebInspector.RemoteObject.prototype.callFunction):
1144         (WebInspector.RemoteObject.prototype.callFunctionJSON):
1145
1146 2012-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
1147
1148         Web Inspector: Open link in resources panel only works the second time
1149         https://bugs.webkit.org/show_bug.cgi?id=80407
1150
1151         Reviewed by Pavel Feldman.
1152
1153         * inspector/front-end/inspector.js:
1154         (WebInspector.openResource):
1155
1156 2012-03-02  Yury Semikhatsky  <yurys@chromium.org>
1157
1158         Web Inspector: InspectorCounters mechanism should be thread-safe
1159         https://bugs.webkit.org/show_bug.cgi?id=80166
1160
1161         Make InspectorCounters instance thread local so that it can be safely accessed
1162         in workers.
1163
1164         Reviewed by Pavel Feldman.
1165
1166         * bindings/js/JSEventListener.cpp:
1167         (WebCore::JSEventListener::JSEventListener):
1168         (WebCore::JSEventListener::~JSEventListener):
1169         * bindings/v8/V8AbstractEventListener.cpp:
1170         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
1171         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
1172         * dom/Document.cpp:
1173         (WebCore::Document::Document):
1174         (WebCore::Document::~Document):
1175         * dom/Document.h:
1176         (WebCore::Node::Node):
1177         * dom/Node.cpp:
1178         (WebCore::Node::~Node):
1179         * inspector/InspectorCounters.cpp:
1180         (WebCore::InspectorCounters::InspectorCounters):
1181         (WebCore::InspectorCounters::counterValue):
1182         (WebCore):
1183         (WebCore::InspectorCounters::current):
1184         * inspector/InspectorCounters.h:
1185         (WebCore::InspectorCounters::incrementCounter):
1186         (WebCore::InspectorCounters::decrementCounter):
1187         (InspectorCounters):
1188         * inspector/InspectorTimelineAgent.cpp:
1189         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
1190         * platform/ThreadGlobalData.cpp:
1191         (WebCore::ThreadGlobalData::ThreadGlobalData):
1192         (WebCore::ThreadGlobalData::destroy):
1193         * platform/ThreadGlobalData.h:
1194         (WebCore):
1195         (ThreadGlobalData):
1196         (WebCore::ThreadGlobalData::inspectorCounters):
1197
1198 2012-03-06  Leo Yang  <leo.yang@torchmobile.com.cn>
1199
1200         [BlackBerry] Upstream typedef of NativeImageSourcePtr and NativeImagePtr
1201         https://bugs.webkit.org/show_bug.cgi?id=80388
1202
1203         Reviewed by Antonio Gomes.
1204
1205         These are the BlackBerry typdefs of NativeImageSourcePtr and NativeImagePtr.
1206
1207         * platform/graphics/ImageSource.h:
1208         (WebCore):
1209
1210 2012-03-06  Hans Muller  <hmuller@adobe.com>
1211
1212         SVG transform-origin presentation attribute
1213         https://bugs.webkit.org/show_bug.cgi?id=79678
1214
1215         Reviewed by Nikolas Zimmermann.
1216
1217         Added the SVG transform-origin presentation attribute.  Currently WebCore::mapAttributeToCSSProperty()
1218         just maps it to -webkit-transform-origin.  When the transform-origin CSS property is supported, this
1219         part of the change can be removed.
1220
1221         Test: svg/transforms/transform-origin-presentation-attribute.xhtml
1222
1223         * svg/SVGStyledElement.cpp:
1224         (WebCore::mapAttributeToCSSProperty):
1225         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
1226         * svg/svgattrs.in:
1227
1228 2012-01-26  Philippe Normand  <pnormand@igalia.com>
1229
1230         [GStreamer] disable GStreamerGWorld when building against 0.11
1231         https://bugs.webkit.org/show_bug.cgi?id=77088
1232
1233         Reviewed by Martin Robinson.
1234
1235         Don't build GStreamerGWorld and PlatformVideoWindow under
1236         GStreamer 0.11. It's supposed to be removed soon anyway.
1237
1238         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1239         * platform/graphics/gstreamer/GStreamerGWorld.h:
1240         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1241         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
1242         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1243         (MediaPlayerPrivateGStreamer):
1244         * platform/graphics/gstreamer/PlatformVideoWindow.h:
1245         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
1246         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
1247         * platform/graphics/gstreamer/PlatformVideoWindowMac.mm:
1248         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
1249
1250 2012-03-06  Alexander Færøy  <alexander.faeroy@nokia.com>
1251
1252         Rename m_tileCreationTimer in the tiled backing store
1253         https://bugs.webkit.org/show_bug.cgi?id=80414
1254
1255         Patch by Kenneth Rohde Christiansen and Alexander Færøy.
1256
1257         Reviewed by Tor Arne Vestbø.
1258
1259         The m_tileCreationTimer member is currently being used to represent a
1260         timer that is fired when the backing store has been updated which is
1261         confusing with its current name.  This patch fixes this by renaming
1262         the m_tileCreationTimer to m_backingStoreUpdateTimer.
1263
1264         * platform/graphics/TiledBackingStore.cpp:
1265         (WebCore::TiledBackingStore::TiledBackingStore):
1266         (WebCore::TiledBackingStore::setTileSize):
1267         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
1268         (WebCore::TiledBackingStore::createTiles):
1269         (WebCore::TiledBackingStore::startBackingStoreUpdateTimer):
1270         (WebCore::TiledBackingStore::backingStoreUpdateTimerFired):
1271         (WebCore::TiledBackingStore::setContentsFrozen):
1272         * platform/graphics/TiledBackingStore.h:
1273         (TiledBackingStore):
1274
1275 2012-03-06  Alexander Færøy  <alexander.faeroy@nokia.com>
1276
1277         Remove TileTimer typedef from the tiled backing store
1278         https://bugs.webkit.org/show_bug.cgi?id=80408
1279
1280         Patch by Kenneth Rohde Christiansen and Alexander Færøy.
1281
1282         Reviewed by Tor Arne Vestbø.
1283
1284         * platform/graphics/TiledBackingStore.cpp:
1285         (WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
1286         (WebCore::TiledBackingStore::tileCreationTimerFired):
1287         * platform/graphics/TiledBackingStore.h:
1288         (TiledBackingStore):
1289
1290 2012-03-06  Robin Cao  <robin.cao@torchmobile.com.cn>
1291
1292         [BlackBerry] Upstream LayerRenderer.{h, cpp}
1293         https://bugs.webkit.org/show_bug.cgi?id=79874
1294
1295         Reviewed by Antonio Gomes.
1296
1297         Initial upstream, no new tests.
1298
1299         * platform/graphics/blackberry/LayerRenderer.cpp: Added.
1300         (WebCore):
1301         (WebCore::checkGLError):
1302         (WebCore::loadShader):
1303         (WebCore::loadShaderProgram):
1304         (WebCore::orthoMatrix):
1305         (WebCore::rawPtrVectorFromRefPtrVector):
1306         (WebCore::LayerRenderer::create):
1307         (WebCore::LayerRenderer::LayerRenderer):
1308         (WebCore::LayerRenderer::~LayerRenderer):
1309         (WebCore::LayerRenderer::releaseLayerResources):
1310         (WebCore::compareLayerZ):
1311         (WebCore::LayerRenderer::drawLayers):
1312         (WebCore::LayerRenderer::useSurface):
1313         (WebCore::LayerRenderer::drawLayersOnSurfaces):
1314         (WebCore::LayerRenderer::setRootLayer):
1315         (WebCore::LayerRenderer::addLayer):
1316         (WebCore::LayerRenderer::removeLayer):
1317         (WebCore::LayerRenderer::addLayerToReleaseTextureResourcesList):
1318         (WebCore::LayerRenderer::toOpenGLWindowCoordinates):
1319         (WebCore::LayerRenderer::toWebKitWindowCoordinates):
1320         (WebCore::LayerRenderer::toWebKitDocumentCoordinates):
1321         (WebCore::LayerRenderer::drawDebugBorder):
1322         (WebCore::LayerRenderer::drawHolePunchRect):
1323         (WebCore::LayerRenderer::updateLayersRecursive):
1324         (WebCore::hasRotationalComponent):
1325         (WebCore::LayerRenderer::layerAlreadyOnSurface):
1326         (WebCore::collect3DPreservingLayers):
1327         (WebCore::LayerRenderer::compositeLayersRecursive):
1328         (WebCore::LayerRenderer::updateScissorIfNeeded):
1329         (WebCore::LayerRenderer::makeContextCurrent):
1330         (WebCore::LayerRenderer::bindCommonAttribLocation):
1331         (WebCore::LayerRenderer::initializeSharedGLObjects):
1332         (WebCore::LayerRenderingResults::holePunchRect):
1333         (WebCore::LayerRenderingResults::addHolePunchRect):
1334         (WebCore::LayerRenderingResults::addDirtyRect):
1335         (WebCore::LayerRenderingResults::isEmpty):
1336         * platform/graphics/blackberry/LayerRenderer.h: Added.
1337         (WebCore):
1338         (LayerRenderingResults):
1339         (WebCore::LayerRenderingResults::LayerRenderingResults):
1340         (WebCore::LayerRenderingResults::holePunchRectSize):
1341         (WebCore::LayerRenderingResults::dirtyRect):
1342         (LayerRenderer):
1343         (WebCore::LayerRenderer::rootLayer):
1344         (WebCore::LayerRenderer::hardwareCompositing):
1345         (WebCore::LayerRenderer::setClearSurfaceOnDrawLayers):
1346         (WebCore::LayerRenderer::clearSurfaceOnDrawLayers):
1347         (WebCore::LayerRenderer::context):
1348         (WebCore::LayerRenderer::lastRenderingResults):
1349         (WebCore::LayerRenderer::setNeedsCommit):
1350
1351 2012-03-06  Roland Steiner  <rolandsteiner@chromium.org>
1352
1353         r109563 caused perf regression
1354         https://bugs.webkit.org/show_bug.cgi?id=80404
1355
1356         Add test for Element or ShadowRoot.
1357
1358         Reviewed by Antti Koivisto.
1359
1360         No new tests. (fix)
1361
1362         * css/CSSStyleSelector.cpp:
1363         (WebCore::CSSStyleSelector::pushParentElement):
1364
1365 2012-03-06  Pavel Podivilov  <podivilov@chromium.org>
1366
1367         Web Inspector: prepare for extracting ScriptMapping implementation from DebuggerPresentationModel.
1368         https://bugs.webkit.org/show_bug.cgi?id=80396
1369
1370         Limit RawSourceCode usages to a subset of methods. This subset will be moved to ScriptMapping implementation in a separate change.
1371
1372         Reviewed by Vsevolod Vlasov.
1373
1374         * inspector/front-end/DebuggerPresentationModel.js:
1375         (WebInspector.DebuggerPresentationModel):
1376         (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
1377         (WebInspector.DebuggerPresentationModel.prototype.createLiveLocation):
1378         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
1379         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
1380         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
1381         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
1382         (WebInspector.DebuggerPresentationModel.prototype._forceUpdateSourceMapping):
1383         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
1384         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1385         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
1386         (WebInspector.PresentationCallFrame):
1387         (WebInspector.PresentationCallFrame.prototype.uiLocation):
1388         (WebInspector.DebuggerPresentationModel.CallFramePlacard):
1389         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
1390         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
1391         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._uiSourceCodeForResource):
1392         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
1393
1394 2012-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
1395
1396         Web Inspector: [Regression] Execution line is not revealed when debugger is stopped if scripts panel was not yet shown.
1397         https://bugs.webkit.org/show_bug.cgi?id=80306
1398
1399         Reviewed by Pavel Feldman.
1400
1401         Test: inspector/debugger/reveal-execution-line.html
1402
1403         * inspector/front-end/ConsoleView.js:
1404         * inspector/front-end/DebuggerPresentationModel.js:
1405         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1406         * inspector/front-end/JavaScriptSourceFrame.js:
1407         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
1408         (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
1409         * inspector/front-end/ScriptsPanel.js:
1410         (WebInspector.ScriptsPanel.prototype._executionLineChanged):
1411         (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
1412         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
1413         * inspector/front-end/SourceFrame.js:
1414         (WebInspector.SourceFrame.prototype.willHide):
1415         (WebInspector.SourceFrame.prototype.highlightLine):
1416         (WebInspector.SourceFrame.prototype.revealLine):
1417         (WebInspector.SourceFrame.prototype._clearLineToReveal):
1418         (WebInspector.SourceFrame.prototype.setContent):
1419
1420 2012-03-06  Pavel Podivilov  <podivilov@chromium.org>
1421
1422         Web Inspector: remove reference to RawSourceCode from UISourceCode.
1423         https://bugs.webkit.org/show_bug.cgi?id=80395
1424
1425         Reviewed by Vsevolod Vlasov.
1426
1427         * inspector/compile-front-end.sh:
1428         * inspector/front-end/DebuggerPresentationModel.js:
1429         (WebInspector.DebuggerPresentationModel):
1430         (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
1431         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
1432         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
1433         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
1434         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
1435         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
1436         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
1437         * inspector/front-end/RawSourceCode.js:
1438         (WebInspector.RawSourceCode.prototype._createUISourceCode):
1439         * inspector/front-end/UISourceCode.js:
1440         (WebInspector.UISourceCode):
1441
1442 2012-03-06  Andrey Kosyakov  <caseq@chromium.org>
1443
1444         Web Inspector: move timeline panel overview mode toggle buttons to overview sidebar tree
1445         https://bugs.webkit.org/show_bug.cgi?id=80304
1446
1447         Reviewed by Pavel Feldman.
1448
1449         * inspector/front-end/Images/statusbarButtonGlyphs.png:
1450         * inspector/front-end/Settings.js:
1451         (WebInspector.ExperimentsSettings):
1452         * inspector/front-end/TimelineOverviewPane.js:
1453         (WebInspector.TimelineOverviewPane):
1454         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
1455         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
1456         (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview):
1457         (WebInspector.TimelineOverviewPane.prototype._onOverviewModeChanged):
1458         (WebInspector.TimelineOverviewPane.prototype.update):
1459         (WebInspector.TimelineOverviewPane.prototype.reset):
1460         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
1461         (WebInspector.TimelineVerticalOverview):
1462         (WebInspector.TimelineOverviewModeSelector):
1463         (WebInspector.TimelineOverviewModeSelector.prototype.addButton):
1464         (WebInspector.TimelineOverviewModeSelector.prototype.get value):
1465         (WebInspector.TimelineOverviewModeSelector.prototype._createButton):
1466         (WebInspector.TimelineOverviewModeSelector.prototype._select):
1467         (WebInspector.TimelineOverviewModeSelector.prototype._onClick):
1468         * inspector/front-end/TimelinePanel.js:
1469         (WebInspector.TimelinePanel):
1470         (WebInspector.TimelinePanel.prototype.get statusBarItems):
1471         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
1472         (WebInspector.TimelinePanel.prototype._updateEventDividers):
1473         (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
1474         (WebInspector.TimelinePanel.prototype.revealRecordAt):
1475         * inspector/front-end/inspector.css:
1476         * inspector/front-end/timelinePanel.css:
1477         (.timeline-vertical-overview #timeline-overview-grid):
1478         (.timeline-vertical-overview .timeline-overview-window):
1479         (.timeline-vertical-overview .timeline-overview-dividers-background):
1480         (.timeline-vertical-overview #timeline-overview-memory):
1481         (.timeline-vertical-overview-status-bar-item.toggled-on .glyph):
1482         (.timeline-vertical-overview-bars):
1483         (.timeline-vertical-overview-bars .padding):
1484         (.timeline-vertical-overview-bars .timeline-bar-vertical):
1485         (.timeline.timeline-vertical-overview .resources-divider):
1486         (.sidebar-tree-item .timeline-vertical-overview-status-bar-item):
1487         (.timeline-overview-mode-selector):
1488         (.timeline-overview-mode-selector .glyph):
1489         (.timeline-overview-mode-selector button):
1490         (.timeline-overview-mode-selector button.toggled):
1491         (.timeline-overview-mode-selector button:active):
1492         (.sidebar-tree-item:not(.selected) .timeline-overview-mode-selector button):
1493         (.sidebar-tree-item:not(.selected) .timeline-overview-mode-selector button.toggled):
1494         (.timeline-overview-mode-selector button:first-of-type):
1495         (.timeline-overview-mode-selector button:last-of-type):
1496         (.timeline-mode-vertical-bars .glyph):
1497         (.timeline-mode-horizontal-bars .glyph):
1498
1499 2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
1500
1501         Make it explicit when we are allowing updates to the actual backing store or the tile buffers
1502         https://bugs.webkit.org/show_bug.cgi?id=80288
1503
1504         Patch by Kenneth Rohde Christiansen and Alexander Færøy.
1505
1506         Reviewed by Noam Rosenthal.
1507
1508         * platform/graphics/TiledBackingStore.cpp:
1509         (WebCore::TiledBackingStore::createTiles):
1510         (WebCore::TiledBackingStore::isBackingStoreUpdatesSuspended):
1511         (WebCore):
1512         (WebCore::TiledBackingStore::isTileBufferUpdatesSuspended):
1513         (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
1514         (WebCore::TiledBackingStore::startTileCreationTimer):
1515         * platform/graphics/TiledBackingStore.h:
1516         (TiledBackingStore):
1517
1518 2012-03-06  Mark Rowe  <mrowe@apple.com>
1519
1520         Build fix after r109877.
1521
1522         * WebCore.xcodeproj/project.pbxproj: Ensure that headers are copied in to WebCore.framework so that
1523         WebKit can still find them.
1524
1525 2012-03-06  Andreas Kling  <awesomekling@apple.com>
1526
1527         Remove incorrect WTF::Vector traits for CSSProperty.
1528         <http://webkit.org/b/53285>
1529         <rdar://problem/10161286>
1530
1531         Reviewed by Antti Koivisto.
1532
1533         We shouldn't allow copying Vector<CSSProperty> contents around with memcpy()
1534         as CSSProperty has a RefPtr member and this would muck up the refcount.
1535         This was added to facilitate fast comparison of property vectors, and we no
1536         longer use that, so there shouldn't be any performance concerns here.
1537
1538         * css/CSSProperty.h:
1539
1540 2012-03-06  Adam Barth  <abarth@webkit.org>
1541
1542         Attempt to fix the Qt minimal build.
1543
1544         * Target.pri:
1545
1546 2012-03-06  Roland Steiner  <rolandsteiner@chromium.org>
1547
1548         :scope should behave as :root outside scoped style sheet
1549         https://bugs.webkit.org/show_bug.cgi?id=80389
1550
1551         Fall through to :root implementation if no scope is used.
1552
1553         Reviewed by Antti Koivisto.
1554
1555         Test: fast/css/style-scoped/scope-pseudo.html
1556
1557         * css/SelectorChecker.cpp:
1558         (WebCore::SelectorChecker::checkOneSelector):
1559
1560 2012-03-05  Vsevolod Vlasov  <vsevik@chromium.org>
1561
1562         Web Inspector: [Regression] Message bubbles are not removed from scripts panel source frames after console was cleared.
1563         https://bugs.webkit.org/show_bug.cgi?id=80275
1564
1565         Reviewed by Pavel Feldman.
1566
1567         * inspector/front-end/ScriptsPanel.js:
1568         (WebInspector.ScriptsPanel.prototype._consoleMessagesCleared):
1569         * inspector/front-end/utilities.js:
1570
1571 2012-03-06  Adam Barth  <abarth@webkit.org>
1572
1573         Move SQLDatabase code into Modules/webdatabase
1574         https://bugs.webkit.org/show_bug.cgi?id=80393
1575
1576         Reviewed by Kentaro Hara.
1577
1578         There are still a couple (minor) SQLDatabase references from WebCore
1579         proper, but we've gotten this code to the point where it makes sense to
1580         move it into the Modules directory.  (This patch just moves code---no
1581         behavior change.)
1582
1583         * CMakeLists.txt:
1584         * DerivedSources.make:
1585         * DerivedSources.pri:
1586         * GNUmakefile.am:
1587         * GNUmakefile.list.am:
1588         * Modules/webdatabase: Added.
1589         * Modules/webdatabase/AbstractDatabase.cpp: Copied from Source/WebCore/storage/AbstractDatabase.cpp.
1590         * Modules/webdatabase/AbstractDatabase.h: Copied from Source/WebCore/storage/AbstractDatabase.h.
1591         * Modules/webdatabase/ChangeVersionWrapper.cpp: Copied from Source/WebCore/storage/ChangeVersionWrapper.cpp.
1592         * Modules/webdatabase/ChangeVersionWrapper.h: Copied from Source/WebCore/storage/ChangeVersionWrapper.h.
1593         * Modules/webdatabase/DOMWindowSQLDatabase.cpp: Copied from Source/WebCore/storage/DOMWindowSQLDatabase.cpp.
1594         * Modules/webdatabase/DOMWindowSQLDatabase.h: Copied from Source/WebCore/storage/DOMWindowSQLDatabase.h.
1595         * Modules/webdatabase/DOMWindowSQLDatabase.idl: Copied from Source/WebCore/storage/DOMWindowSQLDatabase.idl.
1596         * Modules/webdatabase/Database.cpp: Copied from Source/WebCore/storage/Database.cpp.
1597         * Modules/webdatabase/Database.h: Copied from Source/WebCore/storage/Database.h.
1598         * Modules/webdatabase/Database.idl: Copied from Source/WebCore/storage/Database.idl.
1599         * Modules/webdatabase/DatabaseAuthorizer.cpp: Copied from Source/WebCore/storage/DatabaseAuthorizer.cpp.
1600         * Modules/webdatabase/DatabaseAuthorizer.h: Copied from Source/WebCore/storage/DatabaseAuthorizer.h.
1601         * Modules/webdatabase/DatabaseCallback.h: Copied from Source/WebCore/storage/DatabaseCallback.h.
1602         * Modules/webdatabase/DatabaseCallback.idl: Copied from Source/WebCore/storage/DatabaseCallback.idl.
1603         * Modules/webdatabase/DatabaseContext.cpp: Copied from Source/WebCore/storage/DatabaseContext.cpp.
1604         * Modules/webdatabase/DatabaseContext.h: Copied from Source/WebCore/storage/DatabaseContext.h.
1605         * Modules/webdatabase/DatabaseDetails.h: Copied from Source/WebCore/storage/DatabaseDetails.h.
1606         * Modules/webdatabase/DatabaseSync.cpp: Copied from Source/WebCore/storage/DatabaseSync.cpp.
1607         * Modules/webdatabase/DatabaseSync.h: Copied from Source/WebCore/storage/DatabaseSync.h.
1608         * Modules/webdatabase/DatabaseSync.idl: Copied from Source/WebCore/storage/DatabaseSync.idl.
1609         * Modules/webdatabase/DatabaseTask.cpp: Copied from Source/WebCore/storage/DatabaseTask.cpp.
1610         * Modules/webdatabase/DatabaseTask.h: Copied from Source/WebCore/storage/DatabaseTask.h.
1611         * Modules/webdatabase/DatabaseThread.cpp: Copied from Source/WebCore/storage/DatabaseThread.cpp.
1612         * Modules/webdatabase/DatabaseThread.h: Copied from Source/WebCore/storage/DatabaseThread.h.
1613         * Modules/webdatabase/DatabaseTracker.cpp: Copied from Source/WebCore/storage/DatabaseTracker.cpp.
1614         * Modules/webdatabase/DatabaseTracker.h: Copied from Source/WebCore/storage/DatabaseTracker.h.
1615         * Modules/webdatabase/DatabaseTrackerClient.h: Copied from Source/WebCore/storage/DatabaseTrackerClient.h.
1616         * Modules/webdatabase/OriginQuotaManager.cpp: Copied from Source/WebCore/storage/OriginQuotaManager.cpp.
1617         * Modules/webdatabase/OriginQuotaManager.h: Copied from Source/WebCore/storage/OriginQuotaManager.h.
1618         * Modules/webdatabase/OriginUsageRecord.cpp: Copied from Source/WebCore/storage/OriginUsageRecord.cpp.
1619         * Modules/webdatabase/OriginUsageRecord.h: Copied from Source/WebCore/storage/OriginUsageRecord.h.
1620         * Modules/webdatabase/SQLCallbackWrapper.h: Copied from Source/WebCore/storage/SQLCallbackWrapper.h.
1621         * Modules/webdatabase/SQLError.h: Copied from Source/WebCore/storage/SQLError.h.
1622         * Modules/webdatabase/SQLError.idl: Copied from Source/WebCore/storage/SQLError.idl.
1623         * Modules/webdatabase/SQLException.cpp: Copied from Source/WebCore/storage/SQLException.cpp.
1624         * Modules/webdatabase/SQLException.h: Copied from Source/WebCore/storage/SQLException.h.
1625         * Modules/webdatabase/SQLException.idl: Copied from Source/WebCore/storage/SQLException.idl.
1626         * Modules/webdatabase/SQLResultSet.cpp: Copied from Source/WebCore/storage/SQLResultSet.cpp.
1627         * Modules/webdatabase/SQLResultSet.h: Copied from Source/WebCore/storage/SQLResultSet.h.
1628         * Modules/webdatabase/SQLResultSet.idl: Copied from Source/WebCore/storage/SQLResultSet.idl.
1629         * Modules/webdatabase/SQLResultSetRowList.cpp: Copied from Source/WebCore/storage/SQLResultSetRowList.cpp.
1630         * Modules/webdatabase/SQLResultSetRowList.h: Copied from Source/WebCore/storage/SQLResultSetRowList.h.
1631         * Modules/webdatabase/SQLResultSetRowList.idl: Copied from Source/WebCore/storage/SQLResultSetRowList.idl.
1632         * Modules/webdatabase/SQLStatement.cpp: Copied from Source/WebCore/storage/SQLStatement.cpp.
1633         * Modules/webdatabase/SQLStatement.h: Copied from Source/WebCore/storage/SQLStatement.h.
1634         * Modules/webdatabase/SQLStatementCallback.h: Copied from Source/WebCore/storage/SQLStatementCallback.h.
1635         * Modules/webdatabase/SQLStatementCallback.idl: Copied from Source/WebCore/storage/SQLStatementCallback.idl.
1636         * Modules/webdatabase/SQLStatementErrorCallback.h: Copied from Source/WebCore/storage/SQLStatementErrorCallback.h.
1637         * Modules/webdatabase/SQLStatementErrorCallback.idl: Copied from Source/WebCore/storage/SQLStatementErrorCallback.idl.
1638         * Modules/webdatabase/SQLStatementSync.cpp: Copied from Source/WebCore/storage/SQLStatementSync.cpp.
1639         * Modules/webdatabase/SQLStatementSync.h: Copied from Source/WebCore/storage/SQLStatementSync.h.
1640         * Modules/webdatabase/SQLTransaction.cpp: Copied from Source/WebCore/storage/SQLTransaction.cpp.
1641         * Modules/webdatabase/SQLTransaction.h: Copied from Source/WebCore/storage/SQLTransaction.h.
1642         * Modules/webdatabase/SQLTransaction.idl: Copied from Source/WebCore/storage/SQLTransaction.idl.
1643         * Modules/webdatabase/SQLTransactionCallback.h: Copied from Source/WebCore/storage/SQLTransactionCallback.h.
1644         * Modules/webdatabase/SQLTransactionCallback.idl: Copied from Source/WebCore/storage/SQLTransactionCallback.idl.
1645         * Modules/webdatabase/SQLTransactionClient.cpp: Copied from Source/WebCore/storage/SQLTransactionClient.cpp.
1646         * Modules/webdatabase/SQLTransactionClient.h: Copied from Source/WebCore/storage/SQLTransactionClient.h.
1647         * Modules/webdatabase/SQLTransactionCoordinator.cpp: Copied from Source/WebCore/storage/SQLTransactionCoordinator.cpp.
1648         * Modules/webdatabase/SQLTransactionCoordinator.h: Copied from Source/WebCore/storage/SQLTransactionCoordinator.h.
1649         * Modules/webdatabase/SQLTransactionErrorCallback.h: Copied from Source/WebCore/storage/SQLTransactionErrorCallback.h.
1650         * Modules/webdatabase/SQLTransactionErrorCallback.idl: Copied from Source/WebCore/storage/SQLTransactionErrorCallback.idl.
1651         * Modules/webdatabase/SQLTransactionSync.cpp: Copied from Source/WebCore/storage/SQLTransactionSync.cpp.
1652         * Modules/webdatabase/SQLTransactionSync.h: Copied from Source/WebCore/storage/SQLTransactionSync.h.
1653         * Modules/webdatabase/SQLTransactionSync.idl: Copied from Source/WebCore/storage/SQLTransactionSync.idl.
1654         * Modules/webdatabase/SQLTransactionSyncCallback.h: Copied from Source/WebCore/storage/SQLTransactionSyncCallback.h.
1655         * Modules/webdatabase/SQLTransactionSyncCallback.idl: Copied from Source/WebCore/storage/SQLTransactionSyncCallback.idl.
1656         * Modules/webdatabase/WorkerContextSQLDatabase.cpp: Copied from Source/WebCore/storage/WorkerContextSQLDatabase.cpp.
1657         * Modules/webdatabase/WorkerContextSQLDatabase.h: Copied from Source/WebCore/storage/WorkerContextSQLDatabase.h.
1658         * Modules/webdatabase/WorkerContextSQLDatabase.idl: Copied from Source/WebCore/storage/WorkerContextSQLDatabase.idl.
1659         * Modules/webdatabase/chromium: Added.
1660         * Modules/webdatabase/chromium/DatabaseObserver.h: Copied from Source/WebCore/storage/chromium/DatabaseObserver.h.
1661         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: Copied from Source/WebCore/storage/chromium/DatabaseTrackerChromium.cpp.
1662         * Modules/webdatabase/chromium/QuotaTracker.cpp: Copied from Source/WebCore/storage/chromium/QuotaTracker.cpp.
1663         * Modules/webdatabase/chromium/QuotaTracker.h: Copied from Source/WebCore/storage/chromium/QuotaTracker.h.
1664         * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp: Copied from Source/WebCore/storage/chromium/SQLTransactionClientChromium.cpp.
1665         * Target.pri:
1666         * WebCore.gyp/WebCore.gyp:
1667         * WebCore.gypi:
1668         * WebCore.pri:
1669         * WebCore.vcproj/WebCore.vcproj:
1670         * WebCore.vcproj/WebCoreCommon.vsprops:
1671         * WebCore.vcproj/copyForwardingHeaders.cmd:
1672         * WebCore.xcodeproj/project.pbxproj:
1673         * storage/AbstractDatabase.cpp: Removed.
1674         * storage/AbstractDatabase.h: Removed.
1675         * storage/ChangeVersionWrapper.cpp: Removed.
1676         * storage/ChangeVersionWrapper.h: Removed.
1677         * storage/DOMWindowSQLDatabase.cpp: Removed.
1678         * storage/DOMWindowSQLDatabase.h: Removed.
1679         * storage/DOMWindowSQLDatabase.idl: Removed.
1680         * storage/Database.cpp: Removed.
1681         * storage/Database.h: Removed.
1682         * storage/Database.idl: Removed.
1683         * storage/DatabaseAuthorizer.cpp: Removed.
1684         * storage/DatabaseAuthorizer.h: Removed.
1685         * storage/DatabaseCallback.h: Removed.
1686         * storage/DatabaseCallback.idl: Removed.
1687         * storage/DatabaseContext.cpp: Removed.
1688         * storage/DatabaseContext.h: Removed.
1689         * storage/DatabaseDetails.h: Removed.
1690         * storage/DatabaseSync.cpp: Removed.
1691         * storage/DatabaseSync.h: Removed.
1692         * storage/DatabaseSync.idl: Removed.
1693         * storage/DatabaseTask.cpp: Removed.
1694         * storage/DatabaseTask.h: Removed.
1695         * storage/DatabaseThread.cpp: Removed.
1696         * storage/DatabaseThread.h: Removed.
1697         * storage/DatabaseTracker.cpp: Removed.
1698         * storage/DatabaseTracker.h: Removed.
1699         * storage/DatabaseTrackerClient.h: Removed.
1700         * storage/OriginQuotaManager.cpp: Removed.
1701         * storage/OriginQuotaManager.h: Removed.
1702         * storage/OriginUsageRecord.cpp: Removed.
1703         * storage/OriginUsageRecord.h: Removed.
1704         * storage/SQLCallbackWrapper.h: Removed.
1705         * storage/SQLError.h: Removed.
1706         * storage/SQLError.idl: Removed.
1707         * storage/SQLException.cpp: Removed.
1708         * storage/SQLException.h: Removed.
1709         * storage/SQLException.idl: Removed.
1710         * storage/SQLResultSet.cpp: Removed.
1711         * storage/SQLResultSet.h: Removed.
1712         * storage/SQLResultSet.idl: Removed.
1713         * storage/SQLResultSetRowList.cpp: Removed.
1714         * storage/SQLResultSetRowList.h: Removed.
1715         * storage/SQLResultSetRowList.idl: Removed.
1716         * storage/SQLStatement.cpp: Removed.
1717         * storage/SQLStatement.h: Removed.
1718         * storage/SQLStatementCallback.h: Removed.
1719         * storage/SQLStatementCallback.idl: Removed.
1720         * storage/SQLStatementErrorCallback.h: Removed.
1721         * storage/SQLStatementErrorCallback.idl: Removed.
1722         * storage/SQLStatementSync.cpp: Removed.
1723         * storage/SQLStatementSync.h: Removed.
1724         * storage/SQLTransaction.cpp: Removed.
1725         * storage/SQLTransaction.h: Removed.
1726         * storage/SQLTransaction.idl: Removed.
1727         * storage/SQLTransactionCallback.h: Removed.
1728         * storage/SQLTransactionCallback.idl: Removed.
1729         * storage/SQLTransactionClient.cpp: Removed.
1730         * storage/SQLTransactionClient.h: Removed.
1731         * storage/SQLTransactionCoordinator.cpp: Removed.
1732         * storage/SQLTransactionCoordinator.h: Removed.
1733         * storage/SQLTransactionErrorCallback.h: Removed.
1734         * storage/SQLTransactionErrorCallback.idl: Removed.
1735         * storage/SQLTransactionSync.cpp: Removed.
1736         * storage/SQLTransactionSync.h: Removed.
1737         * storage/SQLTransactionSync.idl: Removed.
1738         * storage/SQLTransactionSyncCallback.h: Removed.
1739         * storage/SQLTransactionSyncCallback.idl: Removed.
1740         * storage/WorkerContextSQLDatabase.cpp: Removed.
1741         * storage/WorkerContextSQLDatabase.h: Removed.
1742         * storage/WorkerContextSQLDatabase.idl: Removed.
1743         * storage/chromium/DatabaseObserver.h: Removed.
1744         * storage/chromium/DatabaseTrackerChromium.cpp: Removed.
1745         * storage/chromium/QuotaTracker.cpp: Removed.
1746         * storage/chromium/QuotaTracker.h: Removed.
1747         * storage/chromium/SQLTransactionClientChromium.cpp: Removed.
1748
1749 2012-03-05  Kent Tamura  <tkent@chromium.org>
1750
1751         Do not reformat strings in <input type=number> on platforms using LocalizedNumberICU.
1752         https://bugs.webkit.org/show_bug.cgi?id=78326
1753
1754         Reviewed by Hajime Morita.
1755
1756         We had bugs such as stripping leading zeros, dropping lower digits
1757         of large numbers because we parse a user-input string to a double
1758         value, and generate a string from the double value.
1759
1760         In order to avoid such reformatting, we converts number strings by
1761         replacing standard digits to corresponding localized digits.
1762
1763         * WebCore.gypi: Added LocalizedNumberICU.h
1764         * platform/text/LocalizedNumberICU.cpp:
1765         (WebCore::ICULocale::ICULocale): Added.
1766         (WebCore::ICULocale::create): A testing factory function.
1767         (WebCore::ICULocale::createForCurrentLocale): A practical factory function.
1768         (WebCore::ICULocale::setDecimalSymbol): Initialize a symbol table.
1769         (WebCore::ICULocale::initializeDecimalFormat): Initialize ICU DecimalFormat.
1770         (WebCore::ICULocale::convertToLocalizedNumber):
1771          Replace characters to corresponding localized characters.
1772         (WebCore::matches): A helper function for convertFromLocalizedNumber.
1773         (WebCore::endsWith): ditto.
1774         (WebCore::ICULocale::determineStartPosition): ditto.
1775         (WebCore::ICULocale::matchedDecimalSymbolIndex): ditto.
1776         (WebCore::ICULocale::convertFromLocalizedNumber):
1777          Replace characters to corresponding standard characters.
1778         (WebCore::currentLocale): Added.
1779         (WebCore::convertToLocalizedNumber): Uses ICULocale::convertToLocalizedNumber.
1780         (WebCore::convertFromLocalizedNumber): Uses ICULocale::convertFromLocalizedNumber.
1781         * platform/text/LocalizedNumberICU.h: Added.
1782         (ICULocale): Added. This is exposed to WebKit/chromium/tests/LocalizedNumberICUTest.cpp.
1783
1784 2012-03-06  Adam Barth  <abarth@webkit.org>
1785
1786         Attempt to fix the GTK minimal build
1787         https://bugs.webkit.org/show_bug.cgi?id=80390
1788
1789         Reviewed by Csaba Osztrogonác.
1790
1791         Add some missing ifdefs.
1792
1793         * Modules/geolocation/NavigatorGeolocation.cpp:
1794         * Modules/geolocation/NavigatorGeolocation.h:
1795
1796 2012-03-05  Pavel Podivilov  <podivilov@chromium.org>
1797
1798         Web Inspector: stop using RawSourceCode in BreakpointManager.
1799         https://bugs.webkit.org/show_bug.cgi?id=80286
1800
1801         Reviewed by Vsevolod Vlasov.
1802
1803         * WebCore.gypi:
1804         * WebCore.vcproj/WebCore.vcproj:
1805         * inspector/front-end/BreakpointManager.js:
1806         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
1807         (WebInspector.BreakpointManager.prototype.setBreakpoint):
1808         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
1809         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
1810         * inspector/front-end/DebuggerPresentationModel.js:
1811         (WebInspector.DebuggerPresentationModel):
1812         * inspector/front-end/ScriptMapping.js: Added.
1813         (WebInspector.ScriptMapping):
1814         (WebInspector.ScriptMapping.prototype.rawLocationToUILocation):
1815         (WebInspector.ScriptMapping.prototype.uiLocationToRawLocation):
1816         (WebInspector.ScriptMapping.prototype.createLiveLocation):
1817         (WebInspector.ScriptMapping.prototype.uiSourceCodeList):
1818         * inspector/front-end/WebKit.qrc:
1819         * inspector/front-end/inspector.html:
1820
1821 2012-03-05  Philippe Normand  <pnormand@igalia.com>
1822
1823         WebAudio JSC-related fixes
1824         https://bugs.webkit.org/show_bug.cgi?id=80299
1825
1826         Reviewed by Adam Barth.
1827
1828         * bindings/js/JSAudioContextCustom.cpp:
1829         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
1830         Wrap the audio context in a DOM wrapper.
1831         * webaudio/AudioContext.idl: No need to protect EventTarget by V8
1832         guards, I think.
1833         * webaudio/JavaScriptAudioNode.idl: Ditto.
1834
1835 2012-03-05  Kishore Bolisetty  <kbolisetty@innominds.com>
1836
1837         Element not fully repainted after application and removal of transform
1838         https://bugs.webkit.org/show_bug.cgi?id=61338
1839
1840         Reviewed by Simon Fraser.
1841         RenderLayer is created and removed when a transform is applied and removed to element.
1842         To render the element properly after removal of transform on it, preferred widths and dimensions of
1843         the element and its containing block needs to be recalculated.
1844
1845         Test: fast/repaint/transform-rotate-and-remove.html
1846
1847         * rendering/RenderBoxModelObject.cpp:
1848         (WebCore):
1849         (WebCore::RenderBoxModelObject::styleWillChange):
1850         (WebCore::RenderBoxModelObject::styleDidChange):
1851         * rendering/RenderBoxModelObject.h:
1852         (RenderBoxModelObject):
1853
1854 2012-03-05  Gavin Barraclough  <barraclough@apple.com>
1855
1856         putByIndex should throw in strict mode
1857         https://bugs.webkit.org/show_bug.cgi?id=80335
1858
1859         Reviewed by Filip Pizlo.
1860
1861         Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
1862
1863         * bindings/js/SerializedScriptValue.cpp:
1864         (WebCore::CloneDeserializer::putProperty):
1865         * bindings/objc/WebScriptObject.mm:
1866         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
1867         * bindings/scripts/CodeGeneratorJS.pm:
1868         (GenerateHeader):
1869         (GenerateImplementation):
1870         * bridge/NP_jsobject.cpp:
1871         (_NPN_SetProperty):
1872         * bridge/jni/jni_jsobject.mm:
1873         (JavaJSObject::setSlot):
1874         * bridge/runtime_array.cpp:
1875         (JSC::RuntimeArray::putByIndex):
1876         * bridge/runtime_array.h:
1877         (RuntimeArray):
1878
1879 2012-03-05  Shinya Kawanaka  <shinyak@chromium.org>
1880
1881         InsertionPoint::attach should be consistent with Element.
1882         https://bugs.webkit.org/show_bug.cgi?id=80373
1883
1884         Reviewed by Hajime Morita.
1885
1886         This patch is preparation for coming <shadow> patches.
1887
1888         InsertionPoint used to attach fallback elements before attaching distributed elements.
1889         To be consistent with Element::attach behavior, attaching distributed elements first is
1890         natural, because Element attaches a shadow tree first.
1891
1892         Also, this patch extracts a few methods form InsretionPoint::attach() and detach()
1893         to keep code clean. They will become messy without this refactoring when adding
1894         <shadow> patch.
1895
1896         No new tests. Should be covered by existing tests.
1897
1898         * html/shadow/InsertionPoint.cpp:
1899         (WebCore::InsertionPoint::attach):
1900         (WebCore::InsertionPoint::detach):
1901         (WebCore::InsertionPoint::distributeHostChildren):
1902         (WebCore):
1903         (WebCore::InsertionPoint::clearDistribution):
1904         (WebCore::InsertionPoint::attachDistributedNode):
1905         * html/shadow/InsertionPoint.h:
1906         (InsertionPoint):
1907
1908 2012-03-05  Adam Barth  <abarth@webkit.org>
1909
1910         Attempt to fix a number of GTK tests.
1911
1912         * GNUmakefile.list.am:
1913
1914 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
1915
1916         Unreviewed rollout of r109858 for restructuring.
1917
1918 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
1919
1920         <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
1921
1922         There are times when an undocked inspector frontend is not allowed to
1923         attach to the main window. We can remove the dock button in those cases.
1924
1925         Reviewed by Timothy Hatcher.
1926
1927         No new tests. This functionality is port specific right now.
1928
1929         * page/FrameView.cpp:
1930         (WebCore::FrameView::performPostLayoutTasks):
1931         When the main frame is resized we let the inspector frontend client
1932         update its docked availablility.
1933
1934         * WebCore.exp.in:
1935         * inspector/InspectorInstrumentation.h:
1936         * inspector/InspectorInstrumentation.cpp:
1937         (WebCore::InspectorInstrumentation::didResizeMainFrameImpl):
1938         (WebCore::InspectorInstrumentation::didResizeMainFrame):
1939         * inspector/InspectorClient.h:
1940         (WebCore::InspectorClient::updateDockingAvailability):
1941         * inspector/InspectorController.h:
1942         * inspector/InspectorController.cpp:
1943         (WebCore::InspectorController::resume):
1944         (WebCore::InspectorController::updateDockingAvailability):
1945         When the main frame is resized call up to the InspectorClient to let
1946         it update docking availability of the inspector frontend.
1947
1948         * inspector/InspectorFrontendClient.h:
1949         * inspector/InspectorFrontendClientLocal.h:
1950         * inspector/InspectorFrontendClientLocal.cpp:
1951         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
1952         (WebCore::InspectorFrontendClientLocal::setDockingUnavailable):
1953         On ports where the inspector frontend client is local, provide a 
1954         setDockingUnavailable InspectorFrontendAPI to update the docking state.
1955         Automatically update availablity when the frontend completes loading.
1956
1957         * inspector/front-end/InspectorFrontendAPI.js:
1958         (InspectorFrontendAPI.setDockingUnavailable):
1959         * inspector/front-end/inspector.js:
1960         (WebInspector._createGlobalStatusBarItems):
1961         (WebInspector.setAttachedWindow):
1962         (WebInspector.setDockingUnavailable):
1963         (WebInspector.updateDockToggleButtonVisibility):
1964         Update the dock button's visibility when its created, when the attached
1965         state changes, when get a frontend API notification that we cannot attach.
1966
1967 2012-03-05  Adrienne Walker  <enne@google.com>
1968
1969         Compositing overlap testing can throw layers into compositing when they should not be.
1970         https://bugs.webkit.org/show_bug.cgi?id=50192
1971
1972         Reviewed by Simon Fraser.
1973
1974         The previous overlap map behavior was that a non-composited query
1975         layer would become composited due to overlap if and only if the query
1976         layer's absolute bounds overlapped the absolute bounds of some other
1977         layer which:
1978             - draws before the query layer
1979             - is or has a compositing ancestor
1980
1981         This behavior, while correct, was too permissive in throwing layers
1982         into compositing, causing many layers to get their own backing when
1983         they could have just gone into their compositing ancestor's backing.
1984
1985         The correct logic is that non-composited query layer needs to be
1986         composited due to overlap if and only if the query layer's absolute
1987         bounds overlap the absolute bounds of some other layer which:
1988             - draws before the query layer
1989             - has a different compositing ancestor than the query layer
1990             - is or has a compositing ancestor that is a descendent of the
1991               query layer's compositing ancestor
1992
1993         This patch changes the semantics of the overlap map to enable this
1994         behavior.
1995
1996         Rather than having one global overlap map, there is now a stack of
1997         overlap maps. New (empty) overlap maps are pushed onto the stack
1998         whenever a layer becomes a compositing ancestor and popped after all
1999         of the compositing requirements for that layer's children have been
2000         computed.
2001
2002         The compositing ancestor and all of its non-composited children of a
2003         compositing ancestor do not get considered for overlap until their
2004         composited ancestor has been popped off the stack. If a compositing
2005         ancestor has a compositing subtree, then any descendents of that
2006         compositing ancestor that draw after that subtree will consider
2007         everything in the compositing subtree for overlap.
2008
2009         Test: compositing/layer-creation/stacking-context-overlap.html
2010
2011         * platform/graphics/Region.cpp:
2012         (WebCore::Region::intersects):
2013         (WebCore):
2014         * platform/graphics/Region.h:
2015         (Region):
2016         * rendering/RenderLayerCompositor.cpp:
2017         (RenderLayerCompositor::OverlapMap):
2018         (WebCore::RenderLayerCompositor::OverlapMap::OverlapMap):
2019         (WebCore::RenderLayerCompositor::OverlapMap::add):
2020         (WebCore::RenderLayerCompositor::OverlapMap::contains):
2021         (WebCore::RenderLayerCompositor::OverlapMap::overlapsLayers):
2022         (WebCore::RenderLayerCompositor::OverlapMap::isEmpty):
2023         (WebCore::RenderLayerCompositor::OverlapMap::popCompositingContainer):
2024         (WebCore::RenderLayerCompositor::OverlapMap::pushCompositingContainer):
2025         (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
2026         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2027         * rendering/RenderLayerCompositor.h:
2028         (RenderLayerCompositor):
2029
2030 2012-03-05  Anders Carlsson  <andersca@apple.com>
2031
2032         Address review comments from https://bugs.webkit.org/show_bug.cgi?id=80368
2033
2034         * platform/graphics/ca/mac/TileCache.mm:
2035         (WebCore::TileCache::setNeedsDisplayInRect):
2036
2037 2012-03-05  Yoshifumi Inoue  <yosin@chromium.org>
2038
2039         [Forms] HTMLFieldSetForms.idl doesn't have type attribute.
2040         https://bugs.webkit.org/show_bug.cgi?id=80109
2041
2042         Reviewed by Hajime Morita.
2043
2044         Test: fast/forms/fieldset/fieldset-type.html
2045
2046         * html/HTMLFieldSetElement.idl: Add attribute "type"
2047
2048 2012-03-05  Anders Carlsson  <andersca@apple.com>
2049
2050         Fix build.
2051
2052         * platform/graphics/ca/mac/TileCache.mm:
2053         (WebCore::TileCache::setScale):
2054
2055 2012-03-05  Anders Carlsson  <andersca@apple.com>
2056
2057         pinch-to-zoom and double-tap flicker when using the new scrolling model
2058         https://bugs.webkit.org/show_bug.cgi?id=80368
2059         <rdar://problem/10866221>
2060
2061         Reviewed by Sam Weinig.
2062
2063         In order to work better with zooming, make the tile cache undo the scale transformation
2064         and handle the scaling manually. This avoids creating huge tile backing stores when zoomed in.
2065
2066         * platform/graphics/ca/mac/TileCache.mm:
2067         (WebCore::TileCache::TileCache):
2068         Initialize m_scale to 1.
2069
2070         (WebCore::TileCache::setNeedsDisplayInRect):
2071         Scale the given rect appropriately.
2072
2073         (WebCore::TileCache::drawLayer):
2074         Apply a scale context transform.
2075
2076         (WebCore::TileCache::setScale):
2077         No longer set the contents scale. Instead, update the scale and revalidate the tiles.
2078
2079         (WebCore::TileCache::revalidateTiles):
2080         Return early if the bounds are empty. This avoids showing a single tile if that happens due to a race condition.
2081
2082         (WebCore::TileCache::getTileIndexRangeForRect):
2083         Apply the scale to the bounds.
2084
2085         (WebCore::TileCache::createTileLayer):
2086         Don't set the contents scale.
2087
2088         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
2089         (-[WebTileCacheLayer setContentsScale:]):
2090         Call TileCache::setScale.
2091
2092         * rendering/RenderLayerBacking.cpp:
2093         (WebCore::RenderLayerBacking::updateCompositedBounds):
2094         Make sure to give the tile cache layer sane composited bounds, even if the page has absolutely positioned
2095         elements that are outside of the page.
2096
2097 2012-03-05  Leo Yang  <leo.yang@torchmobile.com.cn>
2098
2099         GraphicsContext3D.h should include RefCounted.h explicitly
2100         https://bugs.webkit.org/show_bug.cgi?id=80251
2101
2102         Reviewed by Rob Buis.
2103
2104         GraphicsContext3D.h was using RefCounted but including RefCounted.h indirectly
2105         through GraphicsLayer.h through Animation.h. However Animation.h is included
2106         by GraphicsLayer.h only when ACCELERATED_COMPOSITING is on. For some configurations
2107         that don't use ACCELERATED_COMPOSITING but use GraphicsContext3D, like the
2108         BlackBerry x86 configuration, the indirect inclusion will fail.
2109
2110         This patch is adding explicit inclusion of RefCounted.h to avoid that kind of
2111         problem.
2112
2113         * platform/graphics/GraphicsContext3D.h:
2114
2115 2012-03-05  Kenichi Ishibashi  <bashi@chromium.org>
2116
2117         [WebSocket] Should raise SYNTAX_ERR when message contains unpaired surrogates
2118         https://bugs.webkit.org/show_bug.cgi?id=80103
2119
2120         Reviewed by Kent Tamura.
2121
2122         Add UTF8 validation checks for WebSocket message and close reason.
2123
2124         Tests: http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html
2125                http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html
2126
2127         * Modules/websockets/WebSocket.cpp:
2128         (WebCore::WebSocket::send): Raise SYNTAX_ERR if the message is invalid.
2129         (WebCore::WebSocket::close):Raise SYNTAX_ERR if the reason is invalid.
2130         * Modules/websockets/WebSocketChannel.cpp:
2131         (WebCore::WebSocketChannel::send): Check whether message is a valid UTF8 string.
2132
2133 2012-03-05  Kenneth Russell  <kbr@google.com>
2134
2135         [chromium] Notify CCLayerImpl tree of context loss and restoration
2136         https://bugs.webkit.org/show_bug.cgi?id=80339
2137
2138         Reviewed by James Robinson.
2139
2140         Tested by manually killing GPU process while playing Flash video.
2141         Video continues to play after compositor restores its context.
2142
2143         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2144         (WebCore::CCLayerImpl::didLoseAndRecreateGraphicsContext):
2145         (WebCore):
2146         * platform/graphics/chromium/cc/CCLayerImpl.h:
2147         (CCLayerImpl):
2148         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2149         (WebCore::CCLayerTreeHostImpl::sendContextLostAndRestoredNotification):
2150         (WebCore):
2151         (WebCore::CCLayerTreeHostImpl::sendContextLostAndRestoredNotificationRecursive):
2152         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2153         (CCLayerTreeHostImpl):
2154         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2155         (WebCore::CCPluginLayerImpl::didLoseAndRecreateGraphicsContext):
2156         (WebCore):
2157         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
2158         (CCPluginLayerImpl):
2159         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2160         (WebCore::CCSingleThreadProxy::recreateContext):
2161
2162 2012-03-05  Changhun Kang  <temoochin@company100.net>
2163
2164         Change the argument orders to match OpenGL's in GraphicsContext3D functions
2165         https://bugs.webkit.org/show_bug.cgi?id=80120
2166
2167         Reviewed by Kenneth Russell.
2168
2169         No new tests because this patch just change the order of arguments.
2170
2171         * html/canvas/WebGLRenderingContext.cpp:
2172         (WebCore):
2173         (WebCore::WebGLRenderingContext::uniform1fv):
2174         (WebCore::WebGLRenderingContext::uniform1iv):
2175         (WebCore::WebGLRenderingContext::uniform2fv):
2176         (WebCore::WebGLRenderingContext::uniform2iv):
2177         (WebCore::WebGLRenderingContext::uniform3fv):
2178         (WebCore::WebGLRenderingContext::uniform3iv):
2179         (WebCore::WebGLRenderingContext::uniform4fv):
2180         (WebCore::WebGLRenderingContext::uniform4iv):
2181         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
2182         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
2183         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
2184         * platform/graphics/GraphicsContext3D.h:
2185         * platform/graphics/chromium/LayerRendererChromium.cpp:
2186         (WebCore::LayerRendererChromium::drawDebugBorderQuad):
2187         (WebCore::LayerRendererChromium::drawTileQuad):
2188         (WebCore::LayerRendererChromium::drawYUV):
2189         (WebCore::LayerRendererChromium::drawStreamTexture):
2190         (WebCore::LayerRendererChromium::drawTexturedQuad):
2191         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2192         (WebCore::CCRenderSurface::drawSurface):
2193         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2194         (WebCore::GraphicsContext3D::uniform1fv):
2195         (WebCore::GraphicsContext3D::uniform1iv):
2196         (WebCore::GraphicsContext3D::uniform2fv):
2197         (WebCore::GraphicsContext3D::uniform2iv):
2198         (WebCore::GraphicsContext3D::uniform3fv):
2199         (WebCore::GraphicsContext3D::uniform3iv):
2200         (WebCore::GraphicsContext3D::uniform4fv):
2201         (WebCore::GraphicsContext3D::uniform4iv):
2202         (WebCore::GraphicsContext3D::uniformMatrix2fv):
2203         (WebCore::GraphicsContext3D::uniformMatrix3fv):
2204         (WebCore::GraphicsContext3D::uniformMatrix4fv):
2205         * platform/graphics/filters/FECustomFilter.cpp:
2206         (WebCore::FECustomFilter::bindProgramAndBuffers):
2207         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2208         (WebCore::GraphicsContext3D::uniform1fv):
2209         (WebCore::GraphicsContext3D::uniform2fv):
2210         (WebCore::GraphicsContext3D::uniform3fv):
2211         (WebCore::GraphicsContext3D::uniform4fv):
2212         (WebCore::GraphicsContext3D::uniform1iv):
2213         (WebCore::GraphicsContext3D::uniform2iv):
2214         (WebCore::GraphicsContext3D::uniform3iv):
2215         (WebCore::GraphicsContext3D::uniform4iv):
2216         (WebCore::GraphicsContext3D::uniformMatrix2fv):
2217         (WebCore::GraphicsContext3D::uniformMatrix3fv):
2218         (WebCore::GraphicsContext3D::uniformMatrix4fv):
2219         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2220         (WebCore::GraphicsContext3D::uniform1fv):
2221         (WebCore::GraphicsContext3D::uniform2fv):
2222         (WebCore::GraphicsContext3D::uniform3fv):
2223         (WebCore::GraphicsContext3D::uniform4fv):
2224         (WebCore::GraphicsContext3D::uniform1iv):
2225         (WebCore::GraphicsContext3D::uniform2iv):
2226         (WebCore::GraphicsContext3D::uniform3iv):
2227         (WebCore::GraphicsContext3D::uniform4iv):
2228         (WebCore::GraphicsContext3D::uniformMatrix2fv):
2229         (WebCore::GraphicsContext3D::uniformMatrix3fv):
2230         (WebCore::GraphicsContext3D::uniformMatrix4fv):
2231
2232 2012-03-05  Yoshifumi Inoue  <yosin@chromium.org>
2233
2234         [Forms] HTMLFieldSetForms.idl doesn't have name attribute.
2235         https://bugs.webkit.org/show_bug.cgi?id=80108
2236
2237         Reviewed by Hajime Morita.
2238
2239         Test: fast/forms/fieldset/fieldset-name.html
2240
2241         * html/HTMLFieldSetElement.idl: Add "name" attribute.
2242
2243 2012-03-05  Levi Weintraub  <leviw@chromium.org>
2244
2245         Update usage of LayoutUnits in RenderBox
2246         https://bugs.webkit.org/show_bug.cgi?id=80039
2247
2248         Reviewed by Julien Chaffraix.
2249
2250         Updating the usage of integers versus LayoutUnits in RenderBox to mirror the
2251         subpixellayout branch. This reverts absoluteRects, intrinsicSize, and focusRingRects
2252         methods to use integers, and flipForWritingMode functions to LayoutUnits.
2253
2254         No new tests. No change in behavior.
2255
2256         * platform/graphics/FractionalLayoutRect.h:
2257         (WebCore::FractionalLayoutRect::pixelSnappedX): Convenience methods that only calculate
2258         the needed values. This requires less computation than pixelSnappedIntRect(r).x().
2259         (WebCore::FractionalLayoutRect::pixelSnappedY): Ditto.
2260         (WebCore::FractionalLayoutRect::pixelSnappedWidth): Ditto.
2261         (WebCore::FractionalLayoutRect::pixelSnappedHeight): Ditto.
2262         (WebCore::FractionalLayoutRect::pixelSnappedMaxX): Ditto.
2263         (WebCore::FractionalLayoutRect::pixelSnappedMaxY): Ditto.
2264         (FractionalLayoutRect):
2265         * platform/graphics/IntRect.h:
2266         (IntRect):
2267         (WebCore::IntRect::pixelSnappedX): Stub methods to allow us to use IntRects like we do
2268         FractionalLayoutRects.
2269         (WebCore::IntRect::pixelSnappedY): Ditto.
2270         (WebCore::IntRect::pixelSnappedMaxX): Ditto.
2271         (WebCore::IntRect::pixelSnappedMaxY): Ditto.
2272         (WebCore::IntRect::pixelSnappedWidth): Ditto.
2273         (WebCore::IntRect::pixelSnappedHeight): Ditto.
2274         * rendering/LayoutTypes.h:
2275         (WebCore::pixelSnappedIntRect): Convenience method for building a pixelSnappedIntRect from
2276         a LayoutPoint and LayoutSize without constructing an intermediate LayoutRect.
2277         (WebCore):
2278         (WebCore::snapSizeToPixel): Stub method for snapping a LayoutUnit representing a size to
2279         its pixel value using its location.
2280         * rendering/RenderBox.cpp:
2281         (WebCore::RenderBox::pixelSnappedClientWidth): Changing to actually call snapSizeToPixel.
2282         (WebCore::RenderBox::pixelSnappedClientHeight): Ditto.
2283         (WebCore::RenderBox::absoluteRects): Switching to return IntRects that represent the actual
2284         rendered location on screen.
2285         (WebCore::RenderBox::addFocusRingRects): Ditto.
2286         (WebCore::RenderBox::paintFillLayer): One-liner switching an IntSize() to LayoutSize() to
2287         avoid unnecessary conversion.
2288         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): Preparing for the conversion by
2289         replacing 0 with zeroLayoutUnit.
2290         (WebCore::RenderBox::positionLineBox): Preparing for conversion by replacing lroundf
2291         with roundedLayoutUnit.
2292         (WebCore::RenderBox::flipForWritingMode): Switching to use LayoutUnits.
2293         * rendering/RenderBox.h:
2294         (RenderBox):
2295         (WebCore::RenderBox::pixelSnappedBorderBoxRect): Convenience method.
2296         (WebCore::RenderBox::borderBoundingBox): Converting to a pixelSnappedIntRect.
2297         (WebCore::RenderBox::intrinsicSize): Intrinsic sizes should always be integers.
2298
2299 2012-03-05  Adam Barth  <abarth@webkit.org>
2300
2301         WorkerContext shouldn't need to know about SQLDatabase
2302         https://bugs.webkit.org/show_bug.cgi?id=80352
2303
2304         Reviewed by Eric Seidel.
2305
2306         This patch removes the SQLDatabase functions from WorkerContext in
2307         preparation for moving the SQLDatabase code into a module.  These
2308         functions don't interact with the rest of WorkerContext.
2309
2310         * CMakeLists.txt:
2311         * DerivedSources.make:
2312         * DerivedSources.pri:
2313         * GNUmakefile.list.am:
2314         * Target.pri:
2315         * WebCore.gypi:
2316         * WebCore.vcproj/WebCore.vcproj:
2317         * WebCore.xcodeproj/project.pbxproj:
2318         * storage/DOMWindowSQLDatabase.cpp:
2319         * storage/WorkerContextSQLDatabase.cpp: Added.
2320         (WebCore):
2321         (WebCore::WorkerContextSQLDatabase::openDatabase):
2322         (WebCore::WorkerContextSQLDatabase::openDatabaseSync):
2323         * storage/WorkerContextSQLDatabase.h: Added.
2324         (WebCore):
2325         (WorkerContextSQLDatabase):
2326         (WebCore::WorkerContextSQLDatabase::WorkerContextSQLDatabase):
2327         (WebCore::WorkerContextSQLDatabase::~WorkerContextSQLDatabase):
2328         * storage/WorkerContextSQLDatabase.idl: Added.
2329         * workers/WorkerContext.cpp:
2330         (WebCore):
2331         * workers/WorkerContext.h:
2332         (WebCore):
2333         (WorkerContext):
2334         * workers/WorkerContext.idl:
2335
2336 2012-03-05  Kenichi Ishibashi  <bashi@chromium.org>
2337
2338         [WebSocket] Introduce ThreadableWebSocketChannel::SendResult
2339         https://bugs.webkit.org/show_bug.cgi?id=80356
2340
2341         Reviewed by Kent Tamura.
2342
2343         Introduced ThreadableWebSocketChannel::SendResult type so that
2344         WebSocketChannel can pass the validation result.
2345
2346         No new test. No changes in behavior.
2347
2348         * Modules/websockets/ThreadableWebSocketChannel.h: Added SendResult.
2349         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2350         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
2351         (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult): Use ThreadableWebSocketChannel::SendResult instead of bool.
2352         (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult): Ditto.
2353         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
2354         (ThreadableWebSocketChannelClientWrapper):
2355         * Modules/websockets/WebSocketChannel.cpp:
2356         (WebCore::WebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool. Pass Cstring to enqueTextFrame instead of String.
2357         (WebCore::WebSocketChannel::enqueueTextFrame): Ditto.
2358         (WebCore::WebSocketChannel::processOutgoingFrameQueue): Ditto.
2359         * Modules/websockets/WebSocketChannel.h:
2360         (WebSocketChannel):
2361         (QueuedFrame): Changed the type of stringData from String to CString.
2362         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2363         (WebCore::WorkerThreadableWebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool.
2364         (WebCore::workerContextDidSend): Ditto.
2365         (WebCore::WorkerThreadableWebSocketChannel::Peer::send): Ditto.
2366         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Ditto.
2367         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2368         (WorkerThreadableWebSocketChannel): ditto.
2369         (Bridge): Ditto.
2370
2371 2012-03-05  Kentaro Hara  <haraken@chromium.org>
2372
2373         [JSC] Cache the CSSPropertyID in JSCSSStyleDeclaration
2374         https://bugs.webkit.org/show_bug.cgi?id=80250
2375
2376         Reviewed by Benjamin Poulain.
2377
2378         V8CSSStyleDeclaration caches the calculated CSSPropertyID.
2379         Similarly, we can implement the cache in JSCSSStyleDeclaration.
2380
2381         In my local Mac environment, this optimization improves the performance
2382         of CSS property getters by 35%, and the performance of CSS property setters
2383         by 8%.
2384
2385         CSS property getter: for (var i = 0; i < 1000000; i++) span.style.fontWeight;
2386         CSS property setter: for (var i = 0; i < 1000000; i++) span.style.fontWeight = "bold";
2387
2388         Tests: fast/dom/CSSStyleDeclaration/* (No change in test results)
2389
2390         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2391         (CSSPropertyInfo):
2392         (WebCore):
2393         (WebCore::cssPropertyIDForJSCSSPropertyName):
2394         (WebCore::JSCSSStyleDeclaration::nameGetter):
2395         (WebCore::JSCSSStyleDeclaration::putDelegate):
2396
2397 2012-03-05  Joshua Bell  <jsbell@chromium.org>
2398
2399         IndexedDB: Handle LevelDB database corruption
2400         https://bugs.webkit.org/show_bug.cgi?id=79413
2401
2402         Add LevelDBDatabase::destroy() method so that clients can retry if open() fails.
2403
2404         Reviewed by Tony Chang.
2405
2406         Test: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.CorruptionTest'
2407
2408         * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Implement open/destroy/open strategy.
2409         (WebCore::IDBLevelDBBackingStore::open):
2410         * platform/leveldb/LevelDBDatabase.cpp:
2411         (WebCore::LevelDBDatabase::destroy):
2412         (WebCore):
2413         * platform/leveldb/LevelDBDatabase.h:
2414         (LevelDBDatabase):
2415
2416 2012-03-05  Stephen Chenney  <schenney@chromium.org>
2417
2418         [Chromium] SVG Composite of Offset crashes
2419         https://bugs.webkit.org/show_bug.cgi?id=77245
2420
2421         Reviewed by Stephen White.
2422
2423         The feComposite arithmetic mode filter could readily be made to
2424         generate invalid pre-multiplied pixel values which would then go on to
2425         pollute other filters and cause invalid final output pixels. This
2426         patch checks for filters that require valid inputs, and checks that a
2427         result is valid, and corrects the result if necessary. This matches
2428         the behavior of FF and Opera while preventing crashes or other
2429         undesirable behavior.
2430
2431         Test: svg/filters/feComposite-arithmetic-invalid-rgba.svg
2432
2433         * platform/graphics/filters/FEComposite.h: Override the default validity checks and image cleanup methods.
2434         * platform/graphics/filters/FEComposite.cpp:
2435         (WebCore::FEComposite::correctFilterResultIfNeeded): Force valid pixels if this is an arithmetic filter
2436         * platform/graphics/filters/FilterEffect.cpp:
2437         (WebCore::FilterEffect::apply): Check for validity status and correct
2438         (WebCore::FilterEffect::forceValidPremultipliedPixels): Make an image valid
2439         (WebCore):
2440         * platform/graphics/filters/FilterEffect.h: New virtual methods for image validity.
2441         (FilterEffect):
2442         (WebCore::FilterEffect::requiresValidPreMulultipliedPixels):
2443         (WebCore::FilterEffect::forceValidPremultipliedPixels):
2444         (WebCore::FilterEffect::correctFilterResultIfNeeded):
2445         * rendering/svg/RenderSVGResourceFilter.cpp:
2446         (WebCore::RenderSVGResourceFilter::postApplyResource): Check that the final filter result is valid
2447
2448 2012-03-05  Alexis Menard  <alexis.menard@openbossa.org>
2449
2450         getComputedStyle gives incorrect information for 'height' property
2451         https://bugs.webkit.org/show_bug.cgi?id=33593
2452
2453         Reviewed by David Hyatt.
2454
2455         Make sure that the contentBoxRect doesn't take into account the
2456         intrinsic padding when querying it. As stated by http://www.w3.org/TR/css3-box/#the-lsquo0
2457         the height is the content area which doesn't include the intrinsic padding, the border, and
2458         the padding.
2459
2460         Test: fast/css/getComputedStyle/getComputedStyle-height.html
2461
2462         * css/CSSComputedStyleDeclaration.cpp:
2463         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2464         * editing/DeleteSelectionCommand.cpp:
2465         (WebCore::DeleteSelectionCommand::removeNode):
2466         * rendering/RenderBox.h:
2467         (WebCore::RenderBox::contentBoxRect):
2468         (WebCore::RenderBox::contentWidth):
2469         (WebCore::RenderBox::contentHeight):
2470         (WebCore::RenderBox::contentLogicalWidth):
2471         (WebCore::RenderBox::contentLogicalHeight):
2472         * rendering/RenderBoxModelObject.cpp:
2473         (WebCore::RenderBoxModelObject::paddingTop):
2474         (WebCore::RenderBoxModelObject::paddingBottom):
2475         (WebCore::RenderBoxModelObject::paddingLeft):
2476         (WebCore::RenderBoxModelObject::paddingRight):
2477         (WebCore::RenderBoxModelObject::paddingBefore):
2478         (WebCore::RenderBoxModelObject::paddingAfter):
2479         (WebCore::RenderBoxModelObject::paddingStart):
2480         (WebCore::RenderBoxModelObject::paddingEnd):
2481         * rendering/RenderBoxModelObject.h:
2482         (RenderBoxModelObject):
2483         * rendering/RenderTableCell.cpp:
2484         (WebCore::RenderTableCell::paddingTop):
2485         (WebCore::RenderTableCell::paddingBottom):
2486         (WebCore::RenderTableCell::paddingLeft):
2487         (WebCore::RenderTableCell::paddingRight):
2488         (WebCore::RenderTableCell::paddingBefore):
2489         (WebCore::RenderTableCell::paddingAfter):
2490         (WebCore::RenderTableCell::cellBaselinePosition):
2491         * rendering/RenderTableCell.h:
2492         (RenderTableCell):
2493         * rendering/RenderTableSection.cpp:
2494         (WebCore::RenderTableSection::firstLineBoxBaseline):
2495
2496 2012-03-05  MORITA Hajime  <morrita@google.com>
2497
2498         https://bugs.webkit.org/show_bug.cgi?id=80257
2499         Lifecycle of InternalSettings should be simplified.
2500
2501         Reviewed by Ryosuke Niwa.
2502
2503         - Moved settings update code to separate restoreTo() method.
2504         - Eliminated flags which indidate the changed field.
2505           Now these modifiable parameters are backed up at the initialization.
2506
2507         No new tests. Refactoring.
2508
2509         * testing/InternalSettings.cpp:
2510         (WebCore::InternalSettings::create):
2511         (WebCore::InternalSettings::InternalSettings):
2512         (WebCore):
2513         (WebCore::InternalSettings::restoreTo):
2514         * testing/InternalSettings.h:
2515         (InternalSettings):
2516         * testing/Internals.cpp:
2517         (WebCore::Internals::reset):
2518
2519 2012-03-05  Anders Carlsson  <andersca@apple.com>
2520
2521         Be more aggressive about repainting page overlays
2522         https://bugs.webkit.org/show_bug.cgi?id=80336
2523         <rdar://problem/10965943>
2524
2525         Reviewed by Simon Fraser.
2526
2527         Add a way to find out if a given GraphicsLayer is going to be repainted.
2528
2529         * WebCore.exp.in:
2530         * platform/graphics/GraphicsLayer.h:
2531         (WebCore::GraphicsLayer::needsDisplay):
2532         (GraphicsLayer):
2533         * platform/graphics/ca/GraphicsLayerCA.h:
2534
2535 2012-03-05  Robin Cao  <robin.cao@torchmobile.com.cn>
2536
2537         [BlackBerry] Upstream LayerRendererSurface.{cpp, h}
2538         https://bugs.webkit.org/show_bug.cgi?id=80122
2539
2540         Reviewed by Rob Buis.
2541
2542         Initial upstream, no new tests.
2543
2544         * PlatformBlackBerry.cmake:
2545         * platform/graphics/blackberry/LayerRendererSurface.cpp: Added.
2546         (WebCore):
2547         (WebCore::LayerRendererSurface::LayerRendererSurface):
2548         (WebCore::LayerRendererSurface::~LayerRendererSurface):
2549         (WebCore::LayerRendererSurface::setContentRect):
2550         (WebCore::LayerRendererSurface::drawRect):
2551         (WebCore::LayerRendererSurface::ensureTexture):
2552         (WebCore::LayerRendererSurface::releaseTexture):
2553         * platform/graphics/blackberry/LayerRendererSurface.h: Added.
2554         (WebCore):
2555         (LayerRendererSurface):
2556         (WebCore::LayerRendererSurface::size):
2557         (WebCore::LayerRendererSurface::contentRect):
2558         (WebCore::LayerRendererSurface::clipRect):
2559         (WebCore::LayerRendererSurface::setClipRect):
2560         (WebCore::LayerRendererSurface::setDrawTransform):
2561         (WebCore::LayerRendererSurface::drawTransform):
2562         (WebCore::LayerRendererSurface::setReplicaDrawTransform):
2563         (WebCore::LayerRendererSurface::replicaDrawTransform):
2564         (WebCore::LayerRendererSurface::texture):
2565         (WebCore::LayerRendererSurface::drawOpacity):
2566         (WebCore::LayerRendererSurface::setDrawOpacity):
2567
2568 2012-03-05  Mihnea Ovidenie  <mihnea@adobe.com>
2569
2570         [CSSRegions][CSSOM]Prevent creation of NamedFlow object for invalid flow name
2571         https://bugs.webkit.org/show_bug.cgi?id=79685
2572
2573         Reviewed by David Hyatt.
2574
2575         Asking for a named flow with an invalid flow name should return a null object.
2576
2577         Test: fast/regions/webkit-named-flow-invalid-name.html
2578
2579         * css/CSSParser.cpp:
2580         (WebCore::CSSParser::parseFlowThread):
2581         (WebCore):
2582         * css/CSSParser.h:
2583         * dom/Document.cpp:
2584         (WebCore::validFlowName):
2585         (WebCore):
2586         (WebCore::Document::webkitGetFlowByName):
2587
2588 2012-03-05  Ryosuke Niwa  <rniwa@webkit.org>
2589
2590         unicode-bidi should support isolate override and override isolate
2591         https://bugs.webkit.org/show_bug.cgi?id=73164
2592
2593         Reviewed by Eric Seidel.
2594
2595         Updated CSS parser and CSS style selector to support the union of bidi-override and isolate in
2596         unicode-bidi property. Added OverrideIsolate to EUnicodeBidi instead of turning Override and Isolate
2597         into bit flags to avoid increasing the number of bits required to store the unicodeBidi flag.
2598
2599         Also fixed a bug in RenderBlock::constructTextRun to actually check whether an isolated run's direction
2600         is overridden or not when constructing one.
2601
2602         Tests: fast/css/unicode-bidi-computed-value.html
2603                fast/text/bidi-override-isolate.html
2604
2605         * css/CSSComputedStyleDeclaration.cpp:
2606         (WebCore::renderUnicodeBidiFlagsToCSSValue): Added; Create a CSSValueList when unicode-bidi has both
2607         isolate and bidi-override specified.
2608         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):  Calls renderUnicodeBidiFlagsToCSSValue.
2609         * css/CSSParser.cpp:
2610         (WebCore::CSSParser::parseValue): Support parsing combinations of -webkit-isolate and bidi-override;
2611         Create a CSSValueList in such cases.
2612         * css/CSSPrimitiveValueMappings.h:
2613         (WebCore):
2614         * css/CSSStyleApplyProperty.cpp:
2615         (ApplyPropertyUnicodeBidi):
2616         (WebCore::ApplyPropertyUnicodeBidi::applyValue): Support combinations of -webkit-isolate and
2617         bidi-override. Set the unicodeBidi flag to OverrideIsolate in such cases.
2618         (WebCore::ApplyPropertyUnicodeBidi::createHandler):
2619         (WebCore):
2620         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2621         * html/canvas/CanvasRenderingContext2D.cpp:
2622         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2623         * platform/text/UnicodeBidi.h: Added OverrideIsolate. We don't use bit flags to avoid increasing the
2624         number of bits required to store flags especially because isolate and bidi-override are only values
2625         that can be combined.
2626         (WebCore::isIsolated):
2627         (WebCore):
2628         (WebCore::isOverride):
2629         * rendering/RenderBlock.cpp:
2630         (WebCore::RenderBlock::constructTextRun):
2631         * rendering/RenderBlockLineLayout.cpp:
2632         (WebCore::statusWithDirection): Takes isOverride; we used to assume it's always false.
2633         (WebCore::constructBidiRuns): Instantiate isolatedResolver with a proper value of isOverride.
2634         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2635         (WebCore::RenderBlock::determineStartPosition):
2636         * rendering/RenderListBox.cpp:
2637         (WebCore::RenderListBox::paintItemForeground):
2638         * rendering/RenderMenuList.cpp:
2639         (WebCore::RenderMenuList::itemStyle):
2640         (WebCore::RenderMenuList::menuStyle):
2641         * rendering/RenderTextControlSingleLine.cpp:
2642         (WebCore::RenderTextControlSingleLine::menuStyle):
2643         * rendering/svg/SVGTextMetrics.cpp:
2644         (WebCore::SVGTextMetrics::constructTextRun):
2645
2646 2012-03-05  Emil A Eklund  <eae@chromium.org>
2647
2648         Replace uses of x(), y() and width(), height() pairs with locationOffset and size()
2649         https://bugs.webkit.org/show_bug.cgi?id=80196
2650
2651         Reviewed by Julien Chaffraix.
2652
2653         Replace IntSize(x(), y()) with locationOffset()
2654         Replace IntSize(width(), height()) with size()
2655         Replace IntRect(0, 0, width(), height()) with IntRect(IntPoint(), size())
2656         Replace IntRect::move(x(), y()) with IntRect::move(locationOffset())
2657
2658         No new tests.
2659
2660         * html/HTMLCanvasElement.cpp:
2661         (WebCore::HTMLCanvasElement::createImageBuffer):
2662         (WebCore::HTMLCanvasElement::baseTransform):
2663         * rendering/RenderBlock.cpp:
2664         (WebCore::RenderBlock::simplifiedLayout):
2665         * rendering/RenderBox.cpp:
2666         (WebCore::RenderBox::mapLocalToContainer):
2667         (WebCore::RenderBox::computeRectForRepaint):
2668         * rendering/RenderBox.h:
2669         (WebCore::RenderBox::borderBoxRect):
2670         * rendering/RenderDeprecatedFlexibleBox.cpp:
2671         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2672         * rendering/RenderFlexibleBox.cpp:
2673         (WebCore::RenderFlexibleBox::layoutBlock):
2674         * rendering/RenderListMarker.cpp:
2675         (WebCore::RenderListMarker::localSelectionRect):
2676         * rendering/RenderReplaced.cpp:
2677         (WebCore::RenderReplaced::localSelectionRect):
2678         * rendering/RenderScrollbar.cpp:
2679         (WebCore::RenderScrollbar::updateScrollbarParts):
2680         (WebCore::RenderScrollbar::buttonRect):
2681         * rendering/RenderTableSection.cpp:
2682         (WebCore::RenderTableSection::setCellLogicalWidths):
2683         (WebCore::RenderTableSection::layoutRows):
2684         * rendering/RenderView.cpp:
2685         (WebCore::RenderView::viewRect):
2686         * rendering/svg/RenderSVGRoot.cpp:
2687         (WebCore::RenderSVGRoot::layout):
2688
2689 2012-03-05  Anders Carlsson  <andersca@apple.com>
2690
2691         Always update the scroll layer position on the main thread when we have an overlay
2692         https://bugs.webkit.org/show_bug.cgi?id=80324
2693
2694         Reviewed by Sam Weinig.
2695
2696         Add a way to ensure that scroll layer position updates happen on the main thread.
2697
2698         * WebCore.exp.in:
2699         * page/scrolling/ScrollingCoordinator.cpp:
2700         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
2701         (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
2702         (WebCore):
2703         (WebCore::ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates):
2704         * page/scrolling/ScrollingCoordinator.h:
2705         (ScrollingCoordinator):
2706
2707 2012-03-05  Tony Chang  <tony@chromium.org>
2708
2709         Implement flex-wrap: wrap
2710         https://bugs.webkit.org/show_bug.cgi?id=79930
2711
2712         Reviewed by David Hyatt.
2713
2714         Tests: css3/flexbox/multiline-align.html
2715                css3/flexbox/multiline.html
2716
2717         * rendering/RenderBox.cpp:
2718         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth): Don't apply column+stretch optimization to multiline.
2719         * rendering/RenderFlexibleBox.cpp:
2720         (WebCore::RenderFlexibleBox::FlexOrderIterator::FlexOrderIterator):
2721         (WebCore::RenderFlexibleBox::FlexOrderIterator::currentChild): Expose the current child so we can pause
2722         in the middle of iteration and resume later.
2723         (RenderFlexibleBox::FlexOrderIterator):
2724         (WebCore::RenderFlexibleBox::isMultiline):
2725         (WebCore):
2726         (WebCore::RenderFlexibleBox::layoutFlexItems): Loop per line.
2727         (WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Use the line space, not the whole container space.
2728         (WebCore::RenderFlexibleBox::computeFlexOrder): Return true for each line.
2729         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use the line offset. Also compute the line height as we go.
2730         (WebCore::RenderFlexibleBox::layoutColumnReverse): Use the line offset.
2731         (WebCore::RenderFlexibleBox::alignChildren): Align based on the line height. For multiline + column, we have to relayout
2732         since the width may change (same as the row case above). We'll have to do something smarter when we implement flex-line-pack.
2733         * rendering/RenderFlexibleBox.h:
2734         (RenderFlexibleBox):
2735
2736 2012-03-05  Ben Vanik  <benvanik@google.com>
2737
2738         Implement WebGL extension EXT_texture_filter_anisotropic
2739         https://bugs.webkit.org/show_bug.cgi?id=79541
2740
2741         This exports the EXT_texture_filter_anisotropic extension with the WEBKIT_ prefix as defined at
2742         https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/extensions/proposals/EXT_texture_filter_anisotropic/index.html
2743
2744         Reviewed by Kenneth Russell.
2745
2746         Tested with the Khronos conformance test for the extension, available at https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/extensions/ext-texture-filter-anisotropic.html
2747
2748         * CMakeLists.txt:
2749         * DerivedSources.make:
2750         * DerivedSources.pri:
2751         * GNUmakefile.list.am:
2752         * Target.pri:
2753         * WebCore.gypi:
2754         * WebCore.xcodeproj/project.pbxproj:
2755         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2756         (WebCore::toJS):
2757         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2758         (WebCore::toV8Object):
2759         * html/canvas/EXTTextureFilterAnisotropic.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2760         (WebCore):
2761         (WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
2762         (WebCore::EXTTextureFilterAnisotropic::~EXTTextureFilterAnisotropic):
2763         (WebCore::EXTTextureFilterAnisotropic::getName):
2764         (WebCore::EXTTextureFilterAnisotropic::create):
2765         * html/canvas/EXTTextureFilterAnisotropic.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2766         (WebCore):
2767         (EXTTextureFilterAnisotropic):
2768         * html/canvas/EXTTextureFilterAnisotropic.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
2769         * html/canvas/WebGLExtension.h:
2770         * html/canvas/WebGLObject.cpp:
2771         * html/canvas/WebGLRenderingContext.cpp:
2772         (WebCore):
2773         (WebCore::WebGLRenderingContext::getExtension):
2774         (WebCore::WebGLRenderingContext::getParameter):
2775         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2776         (WebCore::WebGLRenderingContext::getTexParameter):
2777         (WebCore::WebGLRenderingContext::texParameter):
2778         * html/canvas/WebGLRenderingContext.h:
2779         (WebCore):
2780         (WebGLRenderingContext):
2781         * platform/graphics/Extensions3D.h:
2782         (Extensions3D):
2783         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2784         (WebCore::Extensions3DOpenGL::supports):
2785
2786 2012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2787
2788         Unreviewed, rolling out r109760.
2789         http://trac.webkit.org/changeset/109760
2790         https://bugs.webkit.org/show_bug.cgi?id=80320
2791
2792         Caused many GTK+ tests to crash (Requested by mrobinson on
2793         #webkit).
2794
2795         * platform/network/ResourceHandleClient.h:
2796         * platform/network/soup/ResourceHandleSoup.cpp:
2797         (WebCoreSynchronousLoader):
2798         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
2799         (WebCore):
2800         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
2801         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
2802         (WebCore::WebCoreSynchronousLoader::didReceiveData):
2803         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
2804         (WebCore::WebCoreSynchronousLoader::didFail):
2805         (WebCore::WebCoreSynchronousLoader::run):
2806         (WebCore::closeCallback):
2807         (WebCore::readCallback):
2808         (WebCore::ResourceHandle::defaultSession):
2809
2810 2012-03-05  Adam Klein  <adamk@chromium.org>
2811
2812         Never dispatch mutation events in shadow DOM
2813         https://bugs.webkit.org/show_bug.cgi?id=79278
2814
2815         Reviewed by Ryosuke Niwa.
2816
2817         Test: fast/dom/shadow/suppress-mutation-events-in-shadow.html
2818
2819         * dom/ContainerNode.cpp:
2820         (WebCore::ContainerNode::removeChildren): Move allowEventDispatch() call later,
2821         now that childrenChanged won't trigger mutation events in shadow dom.
2822         (WebCore::dispatchChildInsertionEvents): Bail out if in shadow tree.
2823         (WebCore::dispatchChildRemovalEvents): ditto.
2824         * dom/Node.cpp:
2825         (WebCore::Node::dispatchSubtreeModifiedEvent): ditto.
2826
2827 2012-03-05  Alexey Proskuryakov  <ap@apple.com>
2828
2829         BlobResourceHandle should keep a reference to itself when calling client code.
2830         https://bugs.webkit.org/show_bug.cgi?id=80318
2831
2832         Reviewed by Brady Eidson.
2833
2834         * platform/network/BlobResourceHandle.cpp:
2835         (WebCore::BlobResourceHandle::doStart):
2836         (WebCore::BlobResourceHandle::getSizeForNext):
2837         (WebCore::BlobResourceHandle::readSync):
2838         (WebCore::BlobResourceHandle::readDataAsync):
2839         (WebCore::BlobResourceHandle::consumeData):
2840         (WebCore::BlobResourceHandle::failed):
2841         Added RefPtrs in functions that can result in calling client code, and use "this" object afterwards.
2842
2843 2012-03-05  Anders Carlsson  <andersca@apple.com>
2844
2845         Let RenderLayerCompositor set the tile cache visible rect
2846         https://bugs.webkit.org/show_bug.cgi?id=80317
2847
2848         Reviewed by Simon Fraser.
2849
2850         We can't compute the visible rect from CALayers, because that breaks when we're updating
2851         the scroll layer position on the main thread (since by the time visibleRectChanged() is called,
2852         the CALayers won't yet have been updated).
2853
2854         * platform/graphics/GraphicsLayer.h:
2855         (WebCore::GraphicsLayer::visibleRectChanged):
2856         * platform/graphics/ca/GraphicsLayerCA.cpp:
2857         (WebCore::GraphicsLayerCA::visibleRectChanged):
2858         * platform/graphics/ca/GraphicsLayerCA.h:
2859         (GraphicsLayerCA):
2860         * platform/graphics/ca/PlatformCALayer.h:
2861         (PlatformCALayer):
2862         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2863         (PlatformCALayer::visibleRectChanged):
2864         * platform/graphics/ca/mac/TileCache.h:
2865         (TileCache):
2866         * platform/graphics/ca/mac/TileCache.mm:
2867         (WebCore::TileCache::visibleRectChanged):
2868         (WebCore::TileCache::revalidateTiles):
2869         * platform/graphics/ca/mac/WebTileCacheLayer.h:
2870         (WebCore):
2871         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
2872         (-[WebTileCacheLayer visibleRectChanged:]):
2873         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2874         (PlatformCALayer::visibleRectChanged):
2875         * rendering/RenderLayerCompositor.cpp:
2876         (WebCore::RenderLayerCompositor::frameViewDidScroll):
2877
2878 2012-03-05  Kangil Han  <kangil.han@samsung.com>
2879
2880         [CMake][DRT] Add WebCoreTestSupport.
2881         https://bugs.webkit.org/show_bug.cgi?id=79896
2882
2883         Reviewed by Daniel Bates.
2884
2885         Add WebCoreTestSupport library for DRT in CMake.
2886         We will use internals object by linking this library on DRT.
2887
2888         * CMakeLists.txt:
2889         * UseJSC.cmake:
2890         * UseV8.cmake:
2891
2892 2012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2893
2894         Unreviewed, rolling out r109656.
2895         http://trac.webkit.org/changeset/109656
2896         https://bugs.webkit.org/show_bug.cgi?id=80316
2897
2898         This seems to have regressed Parser/html5-full-render by about
2899         10% (Requested by anttik on #webkit).
2900
2901         * css/CSSComputedStyleDeclaration.cpp:
2902         (WebCore::getPositionOffsetValue):
2903         (WebCore::getBorderRadiusCornerValues):
2904         (WebCore::getBorderRadiusCornerValue):
2905         (WebCore::getBorderRadiusShorthandValue):
2906         (WebCore::lineHeightFromStyle):
2907         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2908         * css/CSSGrammar.y:
2909         * css/CSSParser.cpp:
2910         (WebCore::CSSParser::validUnit):
2911         (WebCore::CSSParser::createPrimitiveNumericValue):
2912         (WebCore::unitFromString):
2913         (WebCore::CSSParser::parseValidPrimitive):
2914         (WebCore::CSSParser::detectNumberToken):
2915         * css/CSSPrimitiveValue.cpp:
2916         (WebCore::isValidCSSUnitTypeForDoubleConversion):
2917         (WebCore::unitCategory):
2918         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2919         (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
2920         (WebCore::CSSPrimitiveValue::customCssText):
2921         * css/CSSPrimitiveValue.h:
2922         (CSSPrimitiveValue):
2923         * css/CSSPrimitiveValue.idl:
2924         * css/CSSStyleApplyProperty.cpp:
2925         (WebCore::ApplyPropertyLength::applyValue):
2926         (WebCore::ApplyPropertyBorderRadius::applyValue):
2927         (WebCore::ApplyPropertyFontSize::applyValue):
2928         (WebCore::ApplyPropertyLineHeight::applyValue):
2929         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2930         * css/CSSStyleSelector.cpp:
2931         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2932         * dom/Document.cpp:
2933         (WebCore::Document::pageSizeAndMarginsInPixels):
2934         (WebCore):
2935         * dom/Document.h:
2936         (Document):
2937         * html/HTMLAreaElement.cpp:
2938         (WebCore::HTMLAreaElement::getRegion):
2939         * platform/Length.h:
2940         (WebCore::Length::calcValue):
2941         (WebCore::Length::calcMinValue):
2942         (WebCore::Length::calcFloatValue):
2943         (WebCore::Length::blend):
2944         * rendering/RenderBR.cpp:
2945         (WebCore::RenderBR::lineHeight):
2946         * rendering/RenderBlock.cpp:
2947         (WebCore::RenderBlock::lineHeight):
2948         * rendering/RenderBox.cpp:
2949         (WebCore::RenderBox::reflectionOffset):
2950         (WebCore::RenderBox::paintBoxDecorations):
2951         (WebCore::RenderBox::clipRect):
2952         (WebCore::RenderBox::computeLogicalWidthInRegion):
2953         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2954         (WebCore::RenderBox::computeInlineDirectionMargins):
2955         (WebCore::RenderBox::computeLogicalHeightUsing):
2956         (WebCore::RenderBox::computePercentageLogicalHeight):
2957         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2958         (WebCore::RenderBox::computeBlockDirectionMargins):
2959         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
2960         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
2961         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
2962         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
2963         * rendering/RenderBoxModelObject.cpp:
2964         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
2965         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
2966         (WebCore::RenderBoxModelObject::paddingTop):
2967         (WebCore::RenderBoxModelObject::paddingBottom):
2968         (WebCore::RenderBoxModelObject::paddingLeft):
2969         (WebCore::RenderBoxModelObject::paddingRight):
2970         (WebCore::RenderBoxModelObject::paddingBefore):
2971         (WebCore::RenderBoxModelObject::paddingAfter):
2972         (WebCore::RenderBoxModelObject::paddingStart):
2973         (WebCore::RenderBoxModelObject::paddingEnd):
2974         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
2975         (WebCore::RenderBoxModelObject::calculateFillTileSize):
2976         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2977         (WebCore::computeBorderImageSide):
2978         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2979         (WebCore::RenderBoxModelObject::paintBorder):
2980         (WebCore::RenderBoxModelObject::paintBoxShadow):
2981         * rendering/RenderFlexibleBox.cpp:
2982         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
2983         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
2984         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
2985         * rendering/RenderInline.cpp:
2986         (WebCore::computeMargin):
2987         (WebCore::RenderInline::lineHeight):
2988         * rendering/RenderMenuList.cpp:
2989         (WebCore::RenderMenuList::updateOptionsWidth):
2990         * rendering/RenderObject.cpp:
2991         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2992         * rendering/RenderObject.h:
2993         (RenderObject):
2994         * rendering/RenderReplaced.cpp:
2995         (WebCore::RenderReplaced::paint):
2996         * rendering/RenderScrollbarPart.cpp:
2997         (WebCore::calcScrollbarThicknessUsing):
2998         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
2999         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
3000         * rendering/RenderTable.cpp:
3001         (WebCore::RenderTable::computeLogicalWidth):
3002         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
3003         * rendering/RenderTableCell.cpp:
3004         (WebCore::RenderTableCell::logicalHeightForRowSizing):
3005         * rendering/RenderTableSection.cpp:
3006         (WebCore::RenderTableSection::calcRowLogicalHeight):
3007         * rendering/RenderText.h:
3008         (WebCore::RenderText::marginLeft):
3009         (WebCore::RenderText::marginRight):
3010         * rendering/RenderThemeMac.mm:
3011         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
3012         * rendering/RenderWidget.cpp:
3013         (WebCore::RenderWidget::paint):
3014         * rendering/RootInlineBox.cpp:
3015         (WebCore::RootInlineBox::verticalPositionForBox):
3016         * rendering/style/RenderStyle.cpp:
3017         (WebCore::calcRadiiFor):
3018         (WebCore::RenderStyle::getRoundedBorderFor):
3019         * rendering/style/RenderStyle.h:
3020         * rendering/svg/RenderSVGRoot.cpp:
3021         (WebCore::resolveLengthAttributeForSVG):
3022         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
3023         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
3024
3025 2012-03-05  Rob Buis  <rbuis@rim.com>
3026
3027         [BlackBerry] Add missing method to PasteboardBlackBerry.cpp
3028         https://bugs.webkit.org/show_bug.cgi?id=80326
3029
3030         Reviewed by Antonio Gomes.
3031
3032         Add missing method.
3033
3034         * platform/blackberry/PasteboardBlackBerry.cpp:
3035         (WebCore::Pasteboard::writeClipboard):
3036         (WebCore):
3037
3038 2012-03-05  Rob Buis  <rbuis@rim.com>
3039
3040         [BlackBerry] UTF chars printed back from cookie through php shows as ???
3041         https://bugs.webkit.org/show_bug.cgi?id=80307
3042
3043         Reviewed by Antonio Gomes.
3044
3045         PR: 130055
3046
3047         we need to check the cookies encoding first and encode the cookie header data
3048         to pass to the request.
3049
3050         * platform/network/blackberry/NetworkManager.cpp:
3051         (WebCore::NetworkManager::startJob):
3052
3053 2012-03-05  Dana Jansens  <danakj@chromium.org>
3054
3055         [chromium] Remove old cleanupResources() code
3056         https://bugs.webkit.org/show_bug.cgi?id=80290
3057
3058         Reviewed by Adrienne Walker.
3059
3060         cleanupResources() is only called by destructors, and adds no
3061         value, any more, beyond the destructors themselves, but complicates
3062         the code path.
3063
3064         Covered by existing tests.
3065
3066         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3067         * platform/graphics/chromium/cc/CCLayerImpl.h:
3068         (CCLayerImpl):
3069         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
3070         (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl):
3071         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
3072         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3073         (WebCore::CCRenderSurface::~CCRenderSurface):
3074         * platform/graphics/chromium/cc/CCRenderSurface.h:
3075         (CCRenderSurface):
3076         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3077         (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
3078
3079 2012-03-05  Sami Kyostila  <skyostil@chromium.org>
3080
3081         Partially loaded JPEGs should have alpha channel
3082         https://bugs.webkit.org/show_bug.cgi?id=78239
3083
3084         Reviewed by Kenneth Russell.
3085
3086         While a JPEG image is loading, the area outside the decoded region
3087         should be fully transparent. Since currently all JPEG frames are marked
3088         as opaque, a renderer respecting this flag will draw the partially
3089         loaded image with garbage outside the valid image region.
3090
3091         Hence, a partially loaded JPEG image should be marked as having an alpha
3092         channel while decoding is in progress. For performance reasons we mark
3093         the image opaque after decoding has finished.
3094
3095         Graphics corruption caused by this bug was recently observed on
3096         Chromium (http://code.google.com/p/chromium/issues/detail?id=113171). A
3097         recent Skia change (r3036) changed SkBitmap::extractSubset() to produce
3098         a bitmap with the same opaqueness flag as the parent. This meant that
3099         the renderer was now seeing an opaque image from the JPEG decoder, and
3100         drawing it appropriately resulted in garbage outside the decoded region.
3101
3102         Test: http/tests/incremental/partial-jpeg.html
3103
3104         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3105         (WebCore::JPEGImageDecoder::outputScanlines):
3106         (WebCore::JPEGImageDecoder::jpegComplete):
3107
3108 2012-03-05  James Robinson  <jamesr@chromium.org>
3109
3110         [chromium] Initialize CCOverdrawCounts struct to zero
3111         https://bugs.webkit.org/show_bug.cgi?id=80204
3112
3113         Reviewed by Adrienne Walker.
3114
3115         CCOverdrawCounts is stack allocated but not explicitly initialized, so the values are garbage. This adds a c'tor
3116         to zero out the fields, which is the desired behavior.  Bug was initially caught by valgrind, see
3117         http://crbug.com/116475
3118
3119         * platform/graphics/chromium/cc/CCRenderPass.h:
3120         (WebCore::CCOverdrawCounts::CCOverdrawCounts):
3121
3122 2012-03-05  Min Qin  <qinmin@google.com>
3123
3124         Add media control css for chromium on android
3125         https://bugs.webkit.org/show_bug.cgi?id=79550
3126
3127         Reviewed by Adam Barth.
3128
3129         This should not change the any test results as it does not affect the any current bots. New test expectations will be added if we have a android bot on webkit.
3130
3131         * WebCore.gyp/WebCore.gyp:
3132         * css/mediaControlsChromiumAndroid.css: Added.
3133         (body:-webkit-full-page-media):
3134         (audio):
3135         (audio:-webkit-full-page-media, video:-webkit-full-page-media):
3136         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
3137         (video:-webkit-full-page-media::-webkit-media-controls-panel):
3138         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
3139         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
3140         (audio::-webkit-media-controls-timeline-container):
3141         (video::-webkit-media-controls-timeline-container):
3142         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
3143         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
3144         (video::-webkit-media-controls-fullscreen-button):
3145         (audio::-webkit-media-controls-fullscreen-button):
3146         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
3147         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
3148         * rendering/RenderMediaControlsChromium.cpp:
3149         (WebCore::paintMediaFullscreenButton):
3150         (WebCore):
3151         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
3152         * rendering/RenderThemeChromiumAndroid.cpp:
3153         (WebCore::RenderThemeChromiumAndroid::extraMediaControlsStyleSheet):
3154         (WebCore):
3155         (WebCore::RenderThemeChromiumAndroid::paintMediaFullscreenButton):
3156         * rendering/RenderThemeChromiumAndroid.h:
3157
3158 2012-03-05  Anders Carlsson  <andersca@apple.com>
3159
3160         Fix crash in ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition
3161         https://bugs.webkit.org/show_bug.cgi?id=80303
3162         <rdar://problem/10953682>
3163
3164         Reviewed by Beth Dakin.
3165
3166         Add the same null checks that already exist in updateMainFrameScrollPosition.
3167
3168         * page/scrolling/ScrollingCoordinator.cpp:
3169         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
3170
3171 2012-03-05  Alexander Pavlov  <apavlov@chromium.org>
3172
3173         Web Inspector: CSS inactive property check should account for vendor prefixes
3174         https://bugs.webkit.org/show_bug.cgi?id=80225
3175
3176         Reviewed by Pavel Feldman.
3177
3178         Test: inspector/styles/vendor-prefixes.html
3179
3180         * inspector/InspectorStyleSheet.cpp:
3181         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
3182         * inspector/front-end/StylesSidebarPane.js:
3183         (WebInspector.StylesSidebarPane.alteredHexNumber):
3184         (WebInspector.StylesSidebarPane.canonicalPropertyName):
3185         (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
3186         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
3187
3188 2012-03-05  Adam Barth  <abarth@webkit.org>
3189
3190         Geolocation should use a ScriptExecutionContext as its context object
3191         https://bugs.webkit.org/show_bug.cgi?id=80248
3192
3193         Reviewed by Kentaro Hara.
3194
3195         This patch updates Geolocation to use some more modern WebCore
3196         mechanisms.  Previously, Geolocation used a Frame as a context object,
3197         which required a bunch of manual integration with the PageCache as well
3198         as custom signaling for Geolocation::reset().  After this patch,
3199         Geolocation subclasses ActiveDOMObject, which does all this work
3200         automatically.
3201
3202         * Modules/geolocation/Geolocation.cpp:
3203         (WebCore::Geolocation::create):
3204         (WebCore):
3205         (WebCore::Geolocation::Geolocation):
3206         (WebCore::Geolocation::~Geolocation):
3207         (WebCore::Geolocation::document):
3208         (WebCore::Geolocation::frame):
3209         (WebCore::Geolocation::page):
3210         (WebCore::Geolocation::stop):
3211         (WebCore::Geolocation::getCurrentPosition):
3212         (WebCore::Geolocation::watchPosition):
3213         (WebCore::Geolocation::requestPermission):
3214         (WebCore::Geolocation::clearWatch):
3215         (WebCore::Geolocation::setIsAllowed):
3216         * Modules/geolocation/Geolocation.h:
3217         (WebCore):
3218         (Geolocation):
3219         * Modules/geolocation/NavigatorGeolocation.cpp:
3220         (WebCore):
3221         (WebCore::NavigatorGeolocation::geolocation):
3222         * Modules/geolocation/NavigatorGeolocation.h:
3223         (NavigatorGeolocation):
3224         * dom/Document.cpp:
3225         (WebCore::Document::Document):
3226         * dom/Document.h:
3227         (Document):
3228         * history/PageCache.cpp:
3229         (WebCore::logCanCacheFrameDecision):
3230         (WebCore::PageCache::canCachePageContainingThisFrame):
3231
3232 2012-03-05  Martin Robinson  <mrobinson@igalia.com>
3233
3234         [soup] Crash while loading http://www.jusco.cn
3235         https://bugs.webkit.org/show_bug.cgi?id=68238
3236
3237         Reviewed by Philippe Normand.
3238
3239         Test: http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers.html
3240
3241         When running synchronous XMLHttpRequests, push a new inner thread default
3242         context, so that other sources from timers and network activity do not run.
3243         This will make synchronous requests truly synchronous with the rest of
3244         WebCore.
3245
3246         * platform/network/soup/ResourceHandleSoup.cpp:
3247         (WebCoreSynchronousLoader): Clean up the method definitions a bit by writing them inline.
3248         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Push a new thread default
3249         context to prevent other sources from running.
3250         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Pop the inner thread default context.
3251         (WebCore::closeCallback): If the client is synchronous call didFinishLoading now.
3252         (WebCore::readCallback): Only call didFinishLoading if the client isn't synchronous.
3253         (WebCore::ResourceHandle::defaultSession): Activate use-thread-context so that the soup session
3254         respects the inner thread context.
3255         (ResourceHandleClient):
3256         (WebCore::ResourceHandleClient::isSynchronousClient): Added this virtual method.
3257
3258 2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
3259
3260         Remove pointer to timer and use the timers directly in the tiled backing store
3261         https://bugs.webkit.org/show_bug.cgi?id=80283
3262
3263         Patch by Kenneth Rohde Christiansen and Alexander Færøy.
3264
3265         Reviewed by Simon Hausmann.
3266
3267         * platform/graphics/TiledBackingStore.cpp:
3268         (WebCore::TiledBackingStore::TiledBackingStore):
3269         (WebCore::TiledBackingStore::~TiledBackingStore):
3270         (WebCore::TiledBackingStore::createTiles):
3271         (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
3272         (WebCore::TiledBackingStore::startTileCreationTimer):
3273         * platform/graphics/TiledBackingStore.h:
3274         (TiledBackingStore):
3275
3276 2012-03-05  Alexander Pavlov  <apavlov@chromium.org>
3277
3278         Web Inspector: [Styles] Tabbing an empty new property in the middle of style moves the editor to the next section
3279         https://bugs.webkit.org/show_bug.cgi?id=80264
3280
3281         Reviewed by Pavel Feldman.
3282
3283         * inspector/front-end/StylesSidebarPane.js:
3284         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection.alreadyNew):
3285         (WebInspector.StylePropertyTreeElement.prototype):
3286
3287 2012-03-05  Rob Buis  <rbuis@rim.com>
3288
3289         [BlackBerry] Update LocalizedStringsBlackBerry.cpp
3290         https://bugs.webkit.org/show_bug.cgi?id=80278
3291
3292         Reviewed by Antonio Gomes.
3293
3294         Update LocalizedStringsBlackBerry.cpp to current HEAD.
3295
3296         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
3297         (WebCore::inputElementAltText): fall back to "Submit".
3298         (WebCore::imageTitle): choose the format "filename(widthxheight)" like Chrome does.
3299         (WebCore::fileButtonNoFilesSelectedLabel): fall back to "No File Chosen" translation like Chrome does.
3300         (WebCore):
3301
3302 2012-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
3303
3304         Web Inspector: [chromium] introduce HeapSnapshot performance test.
3305         https://bugs.webkit.org/show_bug.cgi?id=80280
3306
3307         Reviewed by Pavel Feldman.
3308
3309         * inspector/front-end/HeapSnapshotProxy.js:
3310         (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
3311         (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
3312         (WebInspector.HeapSnapshotLoaderProxy.prototype._callLoadCallbacks):
3313
3314 2012-03-05  Pavel Feldman  <pfeldman@chromium.org>
3315
3316         Web Inspector: cannot be launched when localStorage is disabled
3317         https://bugs.webkit.org/show_bug.cgi?id=80252
3318
3319         Reviewed by Vsevolod Vlasov.
3320
3321         * inspector/front-end/Settings.js:
3322
3323 2012-03-05  Pavel Feldman  <pfeldman@chromium.org>
3324
3325         Web Inspector: check for the number of parsed css properties.
3326         https://bugs.webkit.org/show_bug.cgi?id=80268
3327
3328         Reviewed by Vsevolod Vlasov.
3329
3330         Test: inspector/styles/set-property-boundaries.html
3331
3332         * inspector/InspectorCSSAgent.cpp:
3333         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
3334         * inspector/InspectorStyleSheet.cpp:
3335         (WebCore::InspectorStyle::setPropertyText):
3336
3337 2012-03-05  Vsevolod Vlasov  <vsevik@chromium.org>
3338
3339         Web Inspector: Tabbed pane should redraw tab elements when tab is closed.
3340         https://bugs.webkit.org/show_bug.cgi?id=80273
3341
3342         Reviewed by Pavel Feldman.
3343
3344         * inspector/front-end/TabbedPane.js:
3345         (WebInspector.TabbedPane.prototype.closeTab):
3346
3347 2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
3348
3349         Improve comments in the tiled backing store
3350         https://bugs.webkit.org/show_bug.cgi?id=80279
3351
3352         Patch by Kenneth Rohde Christiansen and Alexander Færøy.
3353
3354         Reviewed by Simon Hausmann.
3355
3356         * platform/graphics/TiledBackingStore.cpp:
3357         (WebCore::TiledBackingStore::createTiles):
3358
3359 2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
3360
3361         TiledBackingStore.{h,cpp} contains unclear variable names
3362         https://bugs.webkit.org/show_bug.cgi?id=80276
3363
3364         Patch by Kenneth Rohde Christiansen and Alexander Færøy.
3365
3366         Reviewed by Simon Hausmann.
3367
3368         This patch renames some of the variables in TiledBackingStore.cpp to
3369         enhance the clearity and for consistence.
3370
3371         The visibleContentsRect is renamed to visibleRect as it is not in
3372         contents coordinates.
3373
3374         The panningTrajectoryVector and m_visibleRectTrajectoryVector are
3375         renamed to just *[m_]trajectoryVector, as that is descriptive enough.
3376
3377         The previous prefix has also been removed, as it is being used as the
3378         current one in the code. This avoids confusion.
3379
3380         * platform/graphics/TiledBackingStore.cpp:
3381         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
3382         (WebCore::TiledBackingStore::visibleRect):
3383         (WebCore::TiledBackingStore::visibleAreaIsCovered):
3384         (WebCore::TiledBackingStore::createTiles):
3385         (WebCore::TiledBackingStore::computeCoverAndKeepRect):
3386         (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
3387         * platform/graphics/TiledBackingStore.h:
3388         (TiledBackingStore):
3389
3390 2012-03-05  Simon Hausmann  <simon.hausmann@nokia.com>
3391
3392         [Qt] Fix build with Qt 5 and OpenGL ES 2.0
3393
3394         Reviewed by Noam Rosenthal.
3395
3396         * platform/graphics/texmap/TextureMapper.h: Since we don't do QT += opengl with Qt 5 anymore
3397         here in WebCore, we cannot check for QT_OPENGL_LIB. But since this is Qt5, we know that the
3398         GLES setting comes qconfig.h and we can rely on it.
3399
3400 2012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
3401
3402         Whitespace clean-up of TiledBackingStore.cpp.
3403
3404         Rubber-stamped by Kenneth Rohde Christiansen.
3405
3406         Already covered by existing tests.
3407
3408         * platform/graphics/TiledBackingStore.cpp:
3409         (WebCore):
3410         (WebCore::TiledBackingStore::updateTileBuffers):
3411         (WebCore::TiledBackingStore::paint):
3412
3413 2012-03-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3414
3415         Unreviewed. Fix make distcheck.
3416
3417         * GNUmakefile.list.am: Add missing header file.
3418
3419 2012-03-05  Alexander Pavlov  <apavlov@chromium.org>
3420
3421         Web Inspector: Incorrect appropriateSelectorFor() suggestion for when a DOMNode has more than 2 CSS classes
3422         https://bugs.webkit.org/show_bug.cgi?id=80258
3423
3424         Reviewed by Pavel Feldman.
3425
3426         * inspector/front-end/DOMAgent.js:
3427         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
3428
3429 2012-03-02  Alexander Pavlov  <apavlov@chromium.org>
3430
3431         Web Inspector: [Styles] [CRASH] Handle rule addition and inline style editing failure due to Content-Security-Policy in the page
3432         https://bugs.webkit.org/show_bug.cgi?id=80024
3433
3434         Reviewed by Pavel Feldman.
3435
3436         Test: inspector/styles/add-new-rule-inline-style-csp.html
3437
3438         * inspector/InspectorCSSAgent.cpp:
3439         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
3440         * inspector/InspectorCSSAgent.h:
3441         (InlineStyleOverrideScope):
3442         (WebCore::InspectorCSSAgent::InlineStyleOverrideScope::InlineStyleOverrideScope):
3443         (WebCore::InspectorCSSAgent::InlineStyleOverrideScope::~InlineStyleOverrideScope):
3444         (InspectorCSSAgent):
3445         * inspector/InspectorStyleSheet.cpp:
3446         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
3447         * page/ContentSecurityPolicy.cpp:
3448         (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
3449         (WebCore::ContentSecurityPolicy::allowInlineStyle):
3450         (WebCore::ContentSecurityPolicy::setOverrideAllowInlineStyle):
3451         (WebCore):
3452         * page/ContentSecurityPolicy.h:
3453         (ContentSecurityPolicy):
3454
3455 2012-03-05  Yoshifumi Inoue  <yosin@chromium.org>
3456
3457         [Forms] The "optgroup" element should not be a form-associated element
3458         https://bugs.webkit.org/show_bug.cgi?id=80234
3459
3460         Reviewed by Kent Tamura.
3461
3462         This patch changes base class of HTMLOptGroup to HTMLElement from
3463         HTMLFormControlElement to avoid the "optgroup" element in form-associate
3464         elements collection.
3465
3466         This patch doesn't affect HTMLOptionElement::disabled's static_cast. However,
3467         it doesn't good at coding style. This patch also fix it.
3468
3469
3470         No new tests. No behavior changes.
3471
3472         * html/HTMLOptGroupElement.cpp:
3473         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): Remove "form" parameter.
3474         (WebCore::HTMLOptGroupElement::create): Remove "form" parameter.
3475         (WebCore::HTMLOptGroupElement::childrenChanged): Replace base method call.
3476         (WebCore::HTMLOptGroupElement::parseAttribute): Replace base method call.
3477         (WebCore::HTMLOptGroupElement::attach): Replace base method call.
3478         (WebCore::HTMLOptGroupElement::detach): Replace base method call.
3479         * html/HTMLOptGroupElement.h:
3480         (HTMLOptGroupElement): Change base class to HTMLElement.
3481         * html/HTMLOptionElement.cpp:
3482         (WebCore::HTMLOptionElement::disabled): Replace static_cast<HTMLFormControlElement*> to static_cast<HTMLElement*> with checking isHTMLElement.
3483         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
3484
3485 2012-03-05  Pavel Podivilov  <podivilov@chromium.org>
3486
3487         Web Inspector: fix extensions-resource.html test.
3488         https://bugs.webkit.org/show_bug.cgi?id=80183
3489
3490         Reviewed by Vsevolod Vlasov.
3491
3492         * inspector/front-end/DebuggerPresentationModel.js:
3493         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
3494
3495 2012-03-02  Andrey Kosyakov  <caseq@chromium.org>
3496
3497         Add instrumentation for frame start/end on timeline.
3498
3499         Web Inspector: add timeline instrumentation for frame events
3500         https://bugs.webkit.org/show_bug.cgi?id=80127
3501
3502         Reviewed by Pavel Feldman.
3503
3504         - display frame boundaries when vertical overview mode is on
3505         - aggregate by frame in vertical overview mode
3506         - switched event filtering criteria from index to time in vertical overview mode
3507
3508         * inspector/InspectorInstrumentation.cpp:
3509         (WebCore::InspectorInstrumentation::didBeginFrameImpl):
3510         (WebCore):
3511         * inspector/InspectorInstrumentation.h:
3512         (InspectorInstrumentation):
3513         (WebCore::InspectorInstrumentation::didBeginFrame):
3514         (WebCore):
3515         * inspector/InspectorTimelineAgent.cpp:
3516         (TimelineRecordType):
3517         (WebCore::InspectorTimelineAgent::didBeginFrame):
3518         (WebCore):
3519         * inspector/InspectorTimelineAgent.h:
3520         (InspectorTimelineAgent):
3521         * inspector/front-end/TimelineModel.js:
3522         * inspector/front-end/TimelineOverviewPane.js:
3523         (WebInspector.TimelineOverviewPane):
3524         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
3525         (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
3526         (WebInspector.TimelineOverviewPane.prototype.updateEventDividers):
3527         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
3528         (WebInspector.TimelineOverviewPane.prototype.reset):
3529         (WebInspector.TimelineOverviewPane.prototype.accept):
3530         (WebInspector.TimelineOverviewPane.prototype.windowStartTime):
3531         (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
3532         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
3533         (WebInspector.TimelineStartAtZeroOverview):
3534         (WebInspector.TimelineStartAtZeroOverview.prototype.reset):
3535         (WebInspector.TimelineStartAtZeroOverview.prototype.update):
3536         (WebInspector.TimelineStartAtZeroOverview.prototype._aggregateFrames):
3537         (WebInspector.TimelineStartAtZeroOverview.prototype._aggregateFrameStatistics):
3538         (WebInspector.TimelineStartAtZeroOverview.prototype._aggregateRecords):
3539         (WebInspector.TimelineStartAtZeroOverview.prototype._buildBar):
3540         (WebInspector.TimelineStartAtZeroOverview.prototype.getWindowTimes):
3541         * inspector/front-end/TimelinePanel.js:
3542         (WebInspector.TimelinePanel.prototype._updateEventDividers):
3543         (WebInspector.TimelinePanel.prototype._createEventDivider):
3544         (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
3545         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords):
3546         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3547         (WebInspector.TimelinePanel.prototype._refresh):
3548         (WebInspector.TimelinePanel.prototype._refreshRecords):
3549         (WebInspector.TimelineCategoryFilter.prototype.accept):
3550         * inspector/front-end/TimelinePresentationModel.js:
3551         (WebInspector.TimelinePresentationModel.prototype.get _recordStyles):
3552         * inspector/front-end/inspectorCommon.css:
3553         * inspector/front-end/timelinePanel.css:
3554         (#timeline-container):
3555         (.timeline .resources-event-divider):
3556         (.timeline.timeline-start-at-zero .resources-divider):
3557         (.timeline .resources-event-divider.timeline-frame-divider):
3558
3559 2012-03-05  MORITA Hajime  <morrita@google.com>
3560
3561         Unreviewed build fix for !ENABLE(SHADOW_DOM).
3562
3563         * html/shadow/HTMLContentElement.cpp:
3564         (WebCore::contentTagName):
3565
3566 2012-03-04  MORITA Hajime  <morrita@google.com>
3567
3568         Internally used HTMLContentElement subclasses should have correct wrapper.
3569         https://bugs.webkit.org/show_bug.cgi?id=80237
3570
3571         Reviewed by Kent Tamura.
3572
3573         DetailsContentElement and DetailsSummaryElement used to use
3574         <div> as their tag name. But this means they are wrapped by
3575         wrapper objects for HTMLDivElement, which is wrong. This happened
3576         to work though because HTMLDivElement has no extra state or API.
3577
3578         This change introduces "noConstructor" keyword for make_name.pl
3579         sources.  This keyword allows a tag name to specify its own
3580         wrapper without making the tag name visible from the parser, or
3581         HTMLElementFactory in precise.
3582
3583         Following this addition, this change also adds a new tag name
3584         "webkitShadowContent" for DetailsContentElement and DetailsSummaryElement,
3585         which has no constructor, and whose wrapper type is HTMLElement.
3586
3587         This change isn't visible from the page author and only matters for testing.
3588
3589         Test: fast/dom/shadow/content-element-user-agent-shadow.html
3590
3591         * dom/make_names.pl:
3592         (defaultTagPropertyHash):
3593         (buildConstructorMap):
3594         (printConstructors):
3595         (printFunctionInits):
3596         * html/HTMLDetailsElement.cpp:
3597         (WebCore::DetailsContentElement::DetailsContentElement):
3598         (WebCore::DetailsSummaryElement::DetailsSummaryElement):
3599         * html/HTMLTagNames.in:
3600         * html/shadow/HTMLContentElement.cpp:
3601         (WebCore::contentTagName):
3602
3603 2012-03-05  Shinya Kawanaka  <shinyak@chromium.org>
3604
3605         Refactoring: Move HTMLContentElement::attach to InsertionPoint::attach.
3606         https://bugs.webkit.org/show_bug.cgi?id=80243
3607
3608         Reviewed by Hajime Morita.
3609
3610         Since the current code in HTMLContentElement::attach() will be used for coming <shadow>
3611         elements, it is natural that InsertionPoint::attach() has such code.
3612
3613         No new tests, no change in behavior.
3614
3615         * html/shadow/HTMLContentElement.cpp:
3616         * html/shadow/HTMLContentElement.h:
3617         (HTMLContentElement):
3618         * html/shadow/InsertionPoint.cpp:
3619         (WebCore::InsertionPoint::attach):
3620         (WebCore):
3621         (WebCore::InsertionPoint::detach):
3622         * html/shadow/InsertionPoint.h:
3623         (InsertionPoint):
3624
3625 2012-03-05  Adam Barth  <abarth@webkit.org>
3626
3627         allowDatabaseAccess and databaseExceededQuota should be part of DatabaseContext not ScriptExecutionContext
3628         https://bugs.webkit.org/show_bug.cgi?id=80178
3629
3630         Reviewed by Eric Seidel.
3631
3632         These functions are only used by SQLDatabase, which means we can move
3633         them to DatabaseContext, removing one more tendril of the SQLDatabase
3634         code.
3635
3636         * dom/Document.cpp:
3637         (WebCore):
3638         * dom/Document.h:
3639         (Document):
3640         * dom/ScriptExecutionContext.h:
3641         (ScriptExecutionContext):
3642         * storage/DatabaseContext.cpp:
3643         (WebCore::DatabaseContext::DatabaseContext):
3644         (WebCore::DatabaseContext::from):
3645         (WebCore::DatabaseContext::allowDatabaseAccess):
3646         (WebCore):
3647         (WebCore::DatabaseContext::databaseExceededQuota):
3648         * storage/DatabaseContext.h:
3649         (DatabaseContext):
3650         * storage/DatabaseTracker.cpp:
3651         (WebCore::DatabaseTracker::canEstablishDatabase):
3652         * storage/SQLTransaction.cpp:
3653         (WebCore::SQLTransaction::executeSQL):
3654         * storage/SQLTransactionClient.cpp:
3655         (WebCore::SQLTransactionClient::didExceedQuota):
3656         * storage/SQLTransactionSync.cpp:
3657         (WebCore::SQLTransactionSync::executeSQL):
3658         * workers/WorkerContext.cpp:
3659         (WebCore):
3660         * workers/WorkerContext.h:
3661         (WorkerContext):
3662
3663 2012-03-04  Sheriff Bot  <webkit.review.bot@gmail.com>
3664
3665         Unreviewed, rolling out r107551.
3666         http://trac.webkit.org/changeset/107551
3667         https://bugs.webkit.org/show_bug.cgi?id=80245
3668
3669         caused incorrect style sharing (Requested by kling on
3670         #webkit).
3671
3672         * css/CSSStyleSelector.cpp:
3673         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3674
3675 2012-03-04  Luke Macpherson   <macpherson@chromium.org>
3676
3677         Remove unused macro HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE_WITH_VALUE.
3678         https://bugs.webkit.org/show_bug.cgi?id=80236
3679
3680         Reviewed by Eric Seidel.
3681
3682         No new tests / unused code deletion only.
3683
3684         * css/CSSStyleSelector.cpp:
3685         (WebCore):
3686
3687 2012-03-04  Filip Pizlo  <fpizlo@apple.com>
3688
3689         JIT heuristics should be hyperbolic
3690         https://bugs.webkit.org/show_bug.cgi?id=80055
3691         <rdar://problem/10922260>
3692
3693         Reviewed by Oliver Hunt.
3694
3695         No new tests, since there's no new functionality.
3696
3697         * ForwardingHeaders/wtf/SimpleStats.h: Added.
3698
3699 2012-03-04  Shinya Kawanaka  <shinyak@chromium.org>
3700
3701         Methods like firstRendererOf of NodeRenderingContext should be extracted.
3702         https://bugs.webkit.org/show_bug.cgi?id=79902
3703
3704         Reviewed by Hajime Morita.
3705
3706         firstRendererOfInsertionPoint should return the first renderer of its child, however
3707         it returns next renderer of parent. The same thing happens lastRendererOfInsertionPoint.
3708
3709         Test: content-element-move.html has another test case.
3710
3711         * dom/NodeRenderingContext.cpp:
3712         (WebCore):
3713         (WebCore::nextRendererOfInsertionPoint):
3714         (WebCore::previousRendererOfInsertionPoint):
3715         (WebCore::firstRendererOfInsertionPoint):
3716         (WebCore::lastRendererOfInsertionPoint):
3717         (WebCore::firstRendererOf):
3718         (WebCore::lastRendererOf):
3719         (WebCore::NodeRenderingContext::nextRenderer):
3720         (WebCore::NodeRenderingContext::previousRenderer):
3721
3722 2012-03-04  MORITA Hajime <morrita@google.com>
3723
3724         Unreviewed build fix for ENABLE(MATHML).
3725
3726         * mathml/MathMLElement.h:
3727         (WebCore):
3728
3729 2012-03-04  MORITA Hajime  <morrita@google.com>
3730
3731         WebKit needs toHTMLUnknownElement() and isUnknown() for sanity check.
3732         https://bugs.webkit.org/show_bug.cgi?id=80229
3733
3734         Reviewed by Kent Tamura.
3735
3736         The code generator has naked static_cast<> which could be unsafe.
3737         We can turn it into toHTMLUnknownElement() and the like.
3738
3739         No new tests. Just added a sanity check.
3740
3741         * dom/make_names.pl:
3742         (printWrapperFactoryCppFile):
3743         * html/HTMLElement.h:
3744         (HTMLElement):
3745         (WebCore::HTMLElement::isHTMLUnknownElement):
3746         * html/HTMLUnknownElement.h:
3747         (HTMLUnknownElement):
3748         (WebCore::toHTMLUnknownElement):
3749         (WebCore):
3750         * mathml/MathMLElement.h:
3751         (toMathMLElement):
3752         * svg/SVGElement.h:
3753         (WebCore::toSVGElement):
3754         (WebCore):
3755
3756 2012-03-04  Luke Macpherson   <macpherson@chromium.org>
3757
3758         Handle CSSPropertyWebkitColumnBreakAfter, CSSPropertyWebkitColumnBreakBefore and CSSPropertyWebkitColumnBreakInside in CSSStyleApplyProperty.
3759         https://bugs.webkit.org/show_bug.cgi?id=80226
3760
3761         Reviewed by Eric Seidel.
3762
3763         No new tests / refactoring only.
3764
3765         * css/CSSStyleApplyProperty.cpp:
3766         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3767         * css/CSSStyleSelector.cpp:
3768         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3769
3770 2012-03-04  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
3771
3772         [BlackBerry] Credential backing store implementation
3773         https://bugs.webkit.org/show_bug.cgi?id=79650
3774
3775         Reviewed by Antonio Gomes.
3776
3777         Opened Credential database in CedentialBackingStore::instance().
3778         Added never_remember table and associated sql statment
3779         members to store the never remember sites.
3780         Removed CredentialStorage initialize codes because that
3781         won't give users a chance to re-enter the new credential
3782         information for an already stored site.
3783         Changed login update and has statement to support
3784         autofill feature of multiple credential forms in the
3785         same page; Also added url as a parameter of hasLogin() function.
3786         Added calling reset() after each statement calls step(),
3787         to make it work correctly next time.
3788         Also fixed a macro typo in HANDLE_SQL_EXEC_FAILURE.
3789
3790         No new tests.
3791
3792         * platform/network/blackberry/CredentialBackingStore.cpp:
3793         (WebCore::CredentialBackingStore::instance):
3794         (WebCore::CredentialBackingStore::CredentialBackingStore):
3795         (WebCore::CredentialBackingStore::open):
3796         (WebCore::CredentialBackingStore::close):
3797         (WebCore::CredentialBackingStore::addLogin):
3798         (WebCore::CredentialBackingStore::updateLogin):
3799         (WebCore::CredentialBackingStore::hasLogin):
3800         (WebCore::CredentialBackingStore::getLogin):
3801         (WebCore):
3802         (WebCore::CredentialBackingStore::removeLogin):
3803         (WebCore::CredentialBackingStore::addNeverRemember):
3804         (WebCore::CredentialBackingStore::hasNeverRemember):
3805         (WebCore::CredentialBackingStore::getNeverRemember):
3806         (WebCore::CredentialBackingStore::removeNeverRemember):
3807         (WebCore::CredentialBackingStore::clearLogins):
3808         (WebCore::CredentialBackingStore::clearNeverRemember):
3809         * platform/network/blackberry/CredentialBackingStore.h:
3810         (CredentialBackingStore):
3811
3812 2012-03-04  Hyowon Kim  <hw1008.kim@samsung.com>
3813
3814         [EFL] Evas_GL initialization and destruction in GraphicsContext3DPrivate
3815         https://bugs.webkit.org/show_bug.cgi?id=80211
3816
3817         Reviewed by Noam Rosenthal.
3818
3819         This patch adds initialization and destruction codes using Evas_GL APIs to GC3DPrivate.
3820
3821         No new tests. No behavior change.
3822
3823         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
3824         (WebCore::GraphicsContext3DPrivate::create):
3825         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
3826         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
3827         (WebCore::GraphicsContext3DPrivate::initialize):
3828         (WebCore::GraphicsContext3DPrivate::createSurface):
3829         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
3830         * platform/graphics/efl/GraphicsContext3DPrivate.h:
3831         (GraphicsContext3DPrivate):
3832
3833 2012-03-04  Raphael Kubo da Costa  <kubo@profusion.mobi>
3834
3835         [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
3836         https://bugs.webkit.org/show_bug.cgi?id=71507
3837
3838         Reviewed by Antonio Gomes.
3839
3840         No new tests, buildsystem change.
3841
3842         * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
3843
3844 2012-03-04  Hyowon Kim  <hw1008.kim@samsung.com>
3845
3846         [EFL] Implementation of missing functions in GraphicsContext3DPrivate
3847         https://bugs.webkit.org/show_bug.cgi?id=79759
3848
3849         Reviewed by Noam Rosenthal.
3850
3851         The initial patch (Bug 62961) only contains implementations for simple functions
3852         which call GL functions through Evas_GL_API.
3853         This patch implements a little complicated functions such as getActiveAttrib(),
3854         getShaderSource() and so on.
3855
3856         No new tests. No behavior change.
3857
3858         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
3859         (WebCore::GraphicsContext3DPrivate::getActiveAttrib):
3860         (WebCore::GraphicsContext3DPrivate::getActiveUniform):
3861         (WebCore::GraphicsContext3DPrivate::getError):
3862         (WebCore::GraphicsContext3DPrivate::getIntegerv):
3863         (WebCore::GraphicsContext3DPrivate::getProgramInfoLog):
3864         (WebCore::GraphicsContext3DPrivate::getShaderInfoLog):
3865         (WebCore::GraphicsContext3DPrivate::getShaderSource):
3866
3867 2012-03-04  Kentaro Hara  <haraken@chromium.org>
3868
3869         Revert SVG-related APIs from DOMWindowSVG.idl back to DOMWindow.idl
3870         https://bugs.webkit.org/show_bug.cgi?id=80139
3871
3872         Reviewed by Adam Barth.
3873
3874         Based on the discussion on webkit-dev@
3875         (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
3876         this patch reverts SVG-related APIs from DOMWindowSVG.idl back to DOMWindow.idl.
3877
3878         No tests. No change in behavior.
3879
3880         * CMakeLists.txt:
3881         * DerivedSources.make:
3882         * DerivedSources.pri:
3883         * GNUmakefile.list.am:
3884         * WebCore.gypi:
3885         * WebCore.xcodeproj/project.pbxproj:
3886         * page/DOMWindow.idl:
3887         * svg/DOMWindowSVG.idl: Removed.
3888
3889 2012-03-04  Kentaro Hara  <haraken@chromium.org>
3890
3891         Revert WebGL-related APIs from DOMWindowWebGL.idl back to DOMWindow.idl
3892         https://bugs.webkit.org/show_bug.cgi?id=80144
3893
3894         Reviewed by Adam Barth.
3895
3896         Based on the discussion on webkit-dev@
3897         (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
3898         this patch reverts WebGL-related APIs from DOMWindowWebGL.idl back to DOMWindow.idl.
3899
3900         No tests. No change in behavior.
3901
3902         * DerivedSources.make:
3903         * DerivedSources.pri:
3904         * GNUmakefile.list.am:
3905         * WebCore.gypi:
3906         * WebCore.xcodeproj/project.pbxproj:
3907         * html/canvas/DOMWindowWebGL.idl: Removed.
3908         * page/DOMWindow.idl:
3909
3910 2012-03-04  MORITA Hajime  <morrita@google.com>
3911
3912         Unreviewed build fix.
3913
3914         * rendering/RenderButton.cpp:
3915         (WebCore::RenderButton::canHaveGeneratedChildren):
3916
3917 2012-03-01  MORITA Hajime  <morrita@google.com>
3918
3919         REGRESSION(r108758): Assertion failure in WebCore::RenderMenuList::addChild
3920         https://bugs.webkit.org/show_bug.cgi?id=80096
3921
3922         Reviewed by Dimitri Glazkov.
3923
3924         After r108758 RenderBlock allowed <select> to have generated
3925         contents. But it shouldn't. This change stops allowing it again by
3926         replacing some canHaveChildren() invocations with
3927         less permissive canHaveGeneratedChildren().
3928
3929         This change also pulls back original canHaveChildren() logic to
3930         RenderButton to allow <button> to have generated contents.
3931
3932         Then RenderDeprecatedFlexibleBox::buttonText() is morphed to
3933         more intention revealing canHaveGeneratedChildren().
3934
3935         Test: fast/forms/select-generated-content.html
3936
3937         * rendering/RenderBlock.cpp:
3938         (WebCore):
3939         (WebCore::canHaveGeneratedChildren):
3940         (WebCore::RenderBlock::styleDidChange):
3941         (WebCore::findFirstLetterBlock):
3942         (WebCore::RenderBlock::updateFirstLetter):
3943         * rendering/RenderButton.cpp:
3944         * rendering/RenderButton.h:
3945         (RenderButton):
3946         * rendering/RenderDeprecatedFlexibleBox.h:
3947         (WebCore::RenderDeprecatedFlexibleBox::canHaveGeneratedChildren):
3948         * rendering/RenderMenuList.h:
3949
3950 2012-03-04  Robin Cao  <robin.cao@torchmobile.com.cn>
3951
3952         [BlackBerry] Upstream two helper files from platform/graphics/blackberry
3953         https://bugs.webkit.org/show_bug.cgi?id=80125
3954
3955         Reviewed by Antonio Gomes.
3956
3957         Initial upstream, no new tests.
3958
3959         * platform/graphics/blackberry/InstrumentedPlatformCanvas.h: Added.
3960         (WebCore):
3961         (InstrumentedPlatformCanvas):
3962         (WebCore::InstrumentedPlatformCanvas::InstrumentedPlatformCanvas):
3963         (WebCore::InstrumentedPlatformCanvas::~InstrumentedPlatformCanvas):
3964         (WebCore::InstrumentedPlatformCanvas::isSolidColor):
3965         (WebCore::InstrumentedPlatformCanvas::solidColor):
3966         (WebCore::InstrumentedPlatformCanvas::save):
3967         (WebCore::InstrumentedPlatformCanvas::saveLayer):
3968         (WebCore::InstrumentedPlatformCanvas::restore):
3969         (WebCore::InstrumentedPlatformCanvas::translate):
3970         (WebCore::InstrumentedPlatformCanvas::scale):
3971         (WebCore::InstrumentedPlatformCanvas::rotate):
3972         (WebCore::InstrumentedPlatformCanvas::skew):
3973         (WebCore::InstrumentedPlatformCanvas::concat):
3974         (WebCore::InstrumentedPlatformCanvas::setMatrix):
3975         (WebCore::InstrumentedPlatformCanvas::clipRect):
3976         (WebCore::InstrumentedPlatformCanvas::clipPath):
3977         (WebCore::InstrumentedPlatformCanvas::clipRegion):
3978         (WebCore::InstrumentedPlatformCanvas::clear):
3979         (WebCore::InstrumentedPlatformCanvas::drawPaint):
3980         (WebCore::InstrumentedPlatformCanvas::drawPoints):
3981         (WebCore::InstrumentedPlatformCanvas::drawRect):
3982         (WebCore::InstrumentedPlatformCanvas::drawPath):
3983         (WebCore::InstrumentedPlatformCanvas::drawBitmap):
3984         (WebCore::InstrumentedPlatformCanvas::drawBitmapRect):
3985         (WebCore::InstrumentedPlatformCanvas::drawBitmapMatrix):
3986         (WebCore::InstrumentedPlatformCanvas::drawSprite):
3987         (WebCore::InstrumentedPlatformCanvas::drawText):
3988         (WebCore::InstrumentedPlatformCanvas::drawPosText):
3989         (WebCore::InstrumentedPlatformCanvas::drawPosTextH):
3990         (WebCore::InstrumentedPlatformCanvas::drawTextOnPath):
3991         (WebCore::InstrumentedPlatformCanvas::drawPicture):
3992         (WebCore::InstrumentedPlatformCanvas::drawVertices):
3993         (WebCore::InstrumentedPlatformCanvas::drawData):
3994         * platform/graphics/blackberry/LayerMessage.h: Added.
3995         (WebCore):
3996         (WebCore::isCompositingThread):
3997         (WebCore::compositingThread):
3998         (WebCore::isWebKitThread):
3999         (WebCore::webKitThread):
4000         (WebCore::dispatchCompositingMessage):
4001         (WebCore::dispatchSyncCompositingMessage):
4002         (WebCore::dispatchWebKitMessage):
4003
4004 2012-03-04  Nikolas Zimmermann  <nzimmermann@rim.com>
4005
4006         Introduce SMIL overrideStyle, to make SVG stop mutating CSS styles directly
4007         https://bugs.webkit.org/show_bug.cgi?id=79790
4008
4009         Reviewed by Dirk Schulze.
4010
4011         Restore SMIL animation behavior back to pre-r109342.
4012         1) Always animate presentation attributes as CSS properties, regardless of the
4013         attributeTypes value. Matches Opera/FF, and makes the attribute optional again
4014         as specified in both SMIL & SVG.
4015
4016         Extend existing svg/animations/attributesTypes.html to verify this.
4017
4018         2) Switch setInstancesUpdatesBlocked calls to the right locations again, to
4019         avoid chromium assertions (and/or extra work being done). Fixing that reveals another
4020         problem: in the instance updating code path, we always called setTargetAttributeAnimatedCSSValue
4021         even for XML animations.
4022
4023         * svg/SVGAnimationElement.cpp:
4024         (WebCore::SVGAnimationElement::shouldApplyAnimation): Restore old logic.
4025         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): Fix typo, move setInstancesUpdatesBlocked calls.
4026
4027 2012-03-04  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
4028
4029         [BlackBerry] upstream MediaPlayerPrivateBlackBerry.[cpp|h]
4030         https://bugs.webkit.org/show_bug.cgi?id=79729
4031
4032         Reviewed by Rob Buis and Antonio Gomes.
4033
4034         Implementation of MediaPlayerPrivate for BlackBerry porting.
4035         Initial upstream, No new tests.
4036
4037         * PlatformBlackBerry.cmake:
4038         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: Added.
4039         (WebCore):
4040         (WebCore::MediaPlayerPrivate::create):
4041         (WebCore::MediaPlayerPrivate::registerMediaEngine):
4042         (WebCore::MediaPlayerPrivate::getSupportedTypes):
4043         (WebCore::MediaPlayerPrivate::supportsType):
4044         (WebCore::MediaPlayerPrivate::notifyAppActivatedEvent):
4045         (WebCore::MediaPlayerPrivate::setCertificatePath):
4046         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
4047         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
4048         (WebCore::MediaPlayerPrivate::load):
4049         (WebCore::MediaPlayerPrivate::cancelLoad):
4050         (WebCore::MediaPlayerPrivate::prepareToPlay):
4051         (WebCore::MediaPlayerPrivate::play):
4052         (WebCore::MediaPlayerPrivate::pause):
4053         (WebCore::MediaPlayerPrivate::supportsFullscreen):
4054         (WebCore::MediaPlayerPrivate::naturalSize):
4055         (WebCore::MediaPlayerPrivate::hasVideo):
4056         (WebCore::MediaPlayerPrivate::hasAudio):
4057         (WebCore::MediaPlayerPrivate::setVisible):
4058         (WebCore::MediaPlayerPrivate::duration):
4059         (WebCore::MediaPlayerPrivate::currentTime):
4060         (WebCore::MediaPlayerPrivate::seek):
4061         (WebCore::MediaPlayerPrivate::userDrivenSeekTimerFired):
4062         (WebCore::MediaPlayerPrivate::seeking):
4063         (WebCore::MediaPlayerPrivate::setRate):
4064         (WebCore::MediaPlayerPrivate::paused):
4065         (WebCore::MediaPlayerPrivate::setVolume):
4066         (WebCore::MediaPlayerPrivate::networkState):