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