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