Remove unused parameters from WTF threading API
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-17  Kalev Lember  <kalevlember@gmail.com>
2
3         Remove unused parameters from WTF threading API
4         https://bugs.webkit.org/show_bug.cgi?id=78389
5
6         Reviewed by Adam Roben.
7
8         waitForThreadCompletion() had an out param 'void **result' to get the
9         'void *' returned by ThreadFunction. However, the implementation in
10         ThreadingWin.cpp ignored the out param, not filling it in. This had
11         led to a situation where none of the client code made use of the param
12         and just ignored it.
13
14         To clean this up, the patch changes the signature of ThreadFunction to
15         return void instead of void* and drops the the unused 'void **result'
16         parameter from waitForThreadCompletion. Also, all client code is
17         updated for the API change.
18
19         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
20         though the change only affects internal API, Safari is using it
21         directly and we'll need to keep the old versions around for ABI
22         compatibility. For this, the patch adds compatibility wrappers with
23         the old ABI.
24
25         * bindings/js/GCController.cpp:
26         (WebCore::collect):
27         (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
28         * fileapi/FileThread.cpp:
29         (WebCore::FileThread::fileThreadStart):
30         (WebCore::FileThread::runLoop):
31         * fileapi/FileThread.h:
32         (FileThread):
33         * loader/icon/IconDatabase.cpp:
34         (WebCore::IconDatabase::close):
35         (WebCore::IconDatabase::iconDatabaseSyncThreadStart):
36         (WebCore::IconDatabase::iconDatabaseSyncThread):
37         (WebCore::IconDatabase::syncThreadMainLoop):
38         * loader/icon/IconDatabase.h:
39         (IconDatabase):
40         * page/scrolling/ScrollingThread.cpp:
41         (WebCore::ScrollingThread::threadCallback):
42         * page/scrolling/ScrollingThread.h:
43         (ScrollingThread):
44         * platform/audio/HRTFDatabaseLoader.cpp:
45         (WebCore::databaseLoaderEntry):
46         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
47         * platform/audio/ReverbConvolver.cpp:
48         (WebCore::backgroundThreadEntry):
49         (WebCore::ReverbConvolver::~ReverbConvolver):
50         * platform/network/cf/LoaderRunLoopCF.cpp:
51         (WebCore::runLoaderThread):
52         * storage/DatabaseThread.cpp:
53         (WebCore::DatabaseThread::databaseThreadStart):
54         (WebCore::DatabaseThread::databaseThread):
55         * storage/DatabaseThread.h:
56         (DatabaseThread):
57         * storage/LocalStorageThread.cpp:
58         (WebCore::LocalStorageThread::threadEntryPointCallback):
59         (WebCore::LocalStorageThread::threadEntryPoint):
60         (WebCore::LocalStorageThread::terminate):
61         * storage/LocalStorageThread.h:
62         (LocalStorageThread):
63         * webaudio/AsyncAudioDecoder.cpp:
64         (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
65         (WebCore::AsyncAudioDecoder::threadEntry):
66         * webaudio/AsyncAudioDecoder.h:
67         (AsyncAudioDecoder):
68         * webaudio/OfflineAudioDestinationNode.cpp:
69         (WebCore::OfflineAudioDestinationNode::uninitialize):
70         (WebCore::OfflineAudioDestinationNode::renderEntry):
71         * webaudio/OfflineAudioDestinationNode.h:
72         (OfflineAudioDestinationNode):
73         * workers/WorkerThread.cpp:
74         (WebCore::WorkerThread::workerThreadStart):
75         (WebCore::WorkerThread::workerThread):
76         * workers/WorkerThread.h:
77         (WorkerThread):
78
79 2012-02-17  Robert Hogan  <robert@webkit.org>
80
81         AppleMac Build fix for r108111
82
83         Remove variable that is now unused.
84
85         Unreviewed, build fix.
86
87         * rendering/RenderBlockLineLayout.cpp:
88         (WebCore::alwaysRequiresLineBox): Remove lineInfo
89         (WebCore::requiresLineBox): 
90         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
91
92 2012-02-17  Michal Mocny  <mmocny@google.com>
93
94         [chromium] GL_CHROMIUM_gpu_memory_manager extension
95         https://bugs.webkit.org/show_bug.cgi?id=77155
96
97         Reviewed by James Robinson.
98
99         * platform/graphics/chromium/Extensions3DChromium.h:
100         (GpuMemoryAllocationChangedCallbackCHROMIUM):
101         (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
102         (Extensions3DChromium):
103
104 2012-01-23  Robert Hogan  <robert@webkit.org>
105
106         REGRESSION: empty span creates renders with non-zero height
107         https://bugs.webkit.org/show_bug.cgi?id=76465
108
109         Reviewed by David Hyatt.
110
111         Tests: fast/css/empty-span.html
112                fast/css/non-empty-span.html
113
114         Empty inlines with line-height, vertical-alignment or font metrics should only get a linebox if there is some
115         other content in the line. So only create line boxes for such elements on lines that are not empty.
116
117         This patch fixes a regression where an empty inline with line-height was propagating its height to an empty line.
118         It also fixes cases where lines with content that had a leading empty inline element weren't respecting the 
119         vertical alignment or font-height of the empty inline.
120
121         * rendering/RenderBlockLineLayout.cpp:
122         (WebCore::RenderBlock::constructLine): only create line boxes for lines that are not empty.
123         (WebCore::requiresLineBoxForContent): an inline flow with line-height, vertical-alignment, or font-size
124          will need a linebox if the rest of the line is not empty.
125         (WebCore):
126         (WebCore::alwaysRequiresLineBox): rename from inlineFlowRequiresLineBox.
127         (WebCore::requiresLineBox):
128         (WebCore::RenderBlock::LineBreaker::nextLineBreak): if the inline flow definitely requires a line, mark
129          the line non-empty - otherwise hold off.
130
131 2012-02-17  Raymond Toy  <rtoy@google.com>
132
133         RealtimeAnalyserNode does not consistently respect .minDecibels
134         https://bugs.webkit.org/show_bug.cgi?id=78729
135
136         Make use of m_minDecibel consistent.  Clean up some style issues
137         with names of local variables and style issues with float
138         constants.
139         
140         Reviewed by Chris Rogers.
141
142         No new tests because the changes are cosmetic for style issues.
143
144         * webaudio/RealtimeAnalyser.cpp:
145         (WebCore):
146         (WebCore::RealtimeAnalyser::doFFTAnalysis):
147         (WebCore::RealtimeAnalyser::getFloatFrequencyData):
148         (WebCore::RealtimeAnalyser::getByteFrequencyData):
149         (WebCore::RealtimeAnalyser::getByteTimeDomainData):
150
151 2012-02-17  Abhishek Arya  <inferno@chromium.org>
152
153         :before content incorrectly placed in continuation
154         when we don't have a first child.
155         https://bugs.webkit.org/show_bug.cgi?id=78380
156
157         Reviewed by David Hyatt.
158
159         Test: fast/css-generated-content/before-content-continuation-chain.html
160
161         * rendering/RenderObjectChildList.cpp:
162         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
163
164 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
165
166         CSS regions enabled by default
167         https://bugs.webkit.org/show_bug.cgi?id=78525
168
169         Reviewed by David Hyatt.
170
171         Test: fast/regions/css-regions-disabled.html
172
173         Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
174         CSSRegions are still enabled by default.
175         In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
176
177         * WebCore.xcodeproj/project.pbxproj:
178         * css/CSSParser.cpp:
179         (WebCore::CSSParser::parseValue):
180         (WebCore::CSSParser::cssRegionsEnabled):
181         (WebCore):
182         (WebCore::CSSParser::parseFlowThread):
183         (WebCore::CSSParser::parseRegionThread):
184         (WebCore::CSSParser::createRegionRule):
185         * css/CSSParser.h:
186         * dom/Document.cpp:
187         (WebCore::Document::cssRegionsEnabled):
188         (WebCore):
189         (WebCore::Document::webkitGetFlowByName):
190         * dom/Document.h:
191         (Document):
192         * dom/Element.cpp:
193         (WebCore::Element::webkitRegionOverflow):
194         * dom/NodeRenderingContext.cpp:
195         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
196         * page/Settings.cpp:
197         (WebCore::Settings::Settings):
198         * page/Settings.h:
199         (WebCore::Settings::setCSSRegionsEnabled):
200         (WebCore::Settings::cssRegionsEnabled):
201         (Settings):
202         * rendering/RenderFlowThread.cpp:
203         (WebCore::RenderFlowThread::RenderFlowThread):
204         * rendering/RenderObject.cpp:
205         (WebCore::RenderObject::createObject):
206         * rendering/RenderRegion.cpp:
207         (WebCore::RenderRegion::RenderRegion):
208
209 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
210
211         [CSSRegions]Implement NamedFlow::overflow
212         https://bugs.webkit.org/show_bug.cgi?id=78880
213
214         Reviewed by David Hyatt.
215
216         Test: fast/regions/webkit-named-flow-overflow.html
217
218         * dom/WebKitNamedFlow.cpp:
219         (WebCore::WebKitNamedFlow::WebKitNamedFlow):
220         (WebCore::WebKitNamedFlow::overflow):
221         (WebCore):
222         * dom/WebKitNamedFlow.h:
223         (WebCore):
224         (WebCore::WebKitNamedFlow::create):
225         (WebKitNamedFlow):
226         * dom/WebKitNamedFlow.idl:
227         * rendering/RenderFlowThread.cpp:
228         (WebCore::RenderFlowThread::RenderFlowThread):
229         (WebCore::RenderFlowThread::ensureNamedFlow):
230         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
231         * rendering/RenderFlowThread.h:
232
233 2012-02-17  Joe Thomas  <joethomas@motorola.com>
234
235         flex-wrap:nowrap should be flex-wrap:none
236         https://bugs.webkit.org/show_bug.cgi?id=78772
237
238         As per the spec http://dev.w3.org/csswg/css3-flexbox/#flex-wrap0, flex-wrap:nowrap should be changed to flex-wrap:none.
239
240         Reviewed by Ojan Vafai.
241
242         * css/CSSParser.cpp:
243         (WebCore::CSSParser::parseValue):
244         * css/CSSPrimitiveValueMappings.h:
245         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
246         (WebCore::CSSPrimitiveValue::operator EFlexWrap):
247         * css/CSSValueKeywords.in:
248         * rendering/style/RenderStyle.h:
249         * rendering/style/RenderStyleConstants.h:
250
251 2012-02-17  Enrica Casucci  <enrica@apple.com>
252
253         Refactor DragData class to use PlatformStrategies in the Mac implementation.
254         https://bugs.webkit.org/show_bug.cgi?id=78768
255
256         Reviewed by Darin Adler.
257
258         No new tests. No behavior change.
259
260         * WebCore.exp.in: Added new exported method of the PlatformPasteboard class.
261         * platform/DragData.h:
262         (WebCore::DragData::pasteboardName): Added pasteboardName and removed pasteboard.
263         * platform/PasteboardStrategy.h: Added color() method.
264         * platform/PlatformPasteboard.h: Ditto.
265         * platform/mac/ClipboardMac.mm:
266         (WebCore::Clipboard::create): Changed to use pasteboardName() method.
267         * platform/mac/DragDataMac.mm: All the methods below have been changed to use pasteboardName
268         and the pasteboardStrategy() methods.
269         (WebCore::DragData::DragData):
270         (WebCore::DragData::canSmartReplace):
271         (WebCore::DragData::containsColor):
272         (WebCore::DragData::containsFiles):
273         (WebCore::DragData::numberOfFiles):
274         (WebCore::DragData::asFilenames):
275         (WebCore::DragData::containsPlainText):
276         (WebCore::DragData::asPlainText):
277         (WebCore::DragData::asColor):
278         (WebCore::DragData::containsCompatibleContent):
279         (WebCore::DragData::asURL):
280         (WebCore::DragData::asFragment):
281         * platform/mac/PlatformPasteboardMac.mm:
282         (WebCore::PlatformPasteboard::color): Added implementation of the color() method.
283
284 2012-02-17  Nate Chapin  <japhet@chromium.org>
285
286         [Chromium mac] Cursors and background images disappear.
287         https://bugs.webkit.org/show_bug.cgi?id=78834
288
289         The issue occurs because a CachedImage sees that it has no clients
290         and decide it is safe to purge its m_data buffer. However,
291         StyleCachedImage is holding a CachedResourceHandle to the
292         CachedImage, and it can still add a client later. If it does so,
293         the CachedImage says everything is loaded but has no data.
294
295         Reviewed by Adam Barth.
296
297         No new tests, since the known repros have resisted reduction.
298         Tested manually with chrome.angrybirds.com, redfin.com and a
299         couple of other sites.
300
301         * rendering/style/StyleCachedImage.cpp:
302         * rendering/style/StyleCachedImage.h: Ensure the underlying
303             CachedImage has a client for the lifetime of the
304             StyleCachedImage and doesn't purge its buffer. Call
305             addClient(this) in the constructor and removeClient(this) in
306             the destructor, then ignore all cache callbacks.
307
308 2012-02-17  Julien Chaffraix  <jchaffraix@webkit.org>
309
310         Table cell's anonymous wrappers are left in the tree, impacting our layout
311         https://bugs.webkit.org/show_bug.cgi?id=7180
312
313         Reviewed by David Hyatt.
314
315         Tests: fast/table/table-switch-cell-position-bad-layout-expected.html
316                fast/table/table-switch-cell-position-bad-layout.html
317
318         This patch implements cell's anonymous wrapper removal at detach time.
319
320         Trimming the render tree when we remove objects from it would be more complex
321         to generalize as several objects override the behavior to do their own clean-ups.
322         This would also open more potential for programming errors.
323
324         This change is limited to table cells' as a simple step towards fixing bug 52123
325         and more generally eliminate some anonymous wrappers from the tree at detach time.
326
327         * dom/Node.cpp:
328         (WebCore::Node::detach):
329         Patched detach to call destroyAndCleanupAnonymousWrappers. The Document does not need
330         to clean up any anonymous wrappers on detach.
331
332         * rendering/RenderObject.cpp:
333         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
334         Added this method to wrap destroy() call and trim the render tree. To avoid slowing down
335         detach in some cases, added a fast path.
336
337         * rendering/RenderObject.h: Added destroyAndCleanupAnonymousWrappers.
338
339 2012-02-17  Rob Buis  <rbuis@rim.com>
340
341         ASSERT (and crash) with dynamically moved <font-face>
342         https://bugs.webkit.org/show_bug.cgi?id=64839
343
344         Reviewed by Antti Koivisto.
345
346         Reset the style declaration when rmeoving the font-face element from the document.
347
348         Test: svg/custom/font-face-move.svg
349
350         * svg/SVGFontFaceElement.cpp:
351         (WebCore::SVGFontFaceElement::removedFromDocument):
352
353 2012-02-17  Martin Robinson  <mrobinson@igalia.com>
354
355         Fix some warnings encountered during the GTK+ build
356         https://bugs.webkit.org/show_bug.cgi?id=78911
357
358         Reviewed by Xan Lopez.
359
360         No new tests. These are just fixes for warnings.
361
362         * page/GestureTapHighlighter.cpp: Avoid using potentially signed operations on
363         a size_t type. Use size_t for iterating over members of a vector.
364         * platform/graphics/texmap/TextureMapperBackingStore.cpp: Use size_t where necessary.
365         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): Ditto.
366         * platform/graphics/texmap/TextureMapperLayer.cpp: Ditto.
367         (WebCore::TextureMapperLayer::computeTransformsRecursive): Ditto.
368         (WebCore::TextureMapperLayer::paintSelfAndChildren): Ditto.
369         (WebCore::TextureMapperLayer::intermediateSurfaceRect): Ditto.
370
371 2012-02-17  Tim Dresser  <tdresser@chromium.org>
372
373         [chromium] Refactor video drawing to be more data driven
374         https://bugs.webkit.org/show_bug.cgi?id=76720
375
376         Reviewed by James Robinson.
377
378         CCVideoLayerImpl no longer handles drawing itself, but produces a list of CCVideoDrawQuads.
379         These quads are then drawn by LayerRendererChromium.
380
381         CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
382         CCLayerImpl::didDraw() is called directly after all drawing has been completed.
383         CCLayerImpl::draw has been removed.
384
385         willDraw and didDraw are used to handle interaction with the VideoFrameProvider
386         in CCVideoLayerImpl. willDraw gets a frame from the VideoFrameProvider, and
387         didDraw returns it.
388
389         A unit test has been added: CCLayerTreeHostImplTest.didDrawCalledOnAllLayers.
390         This test ensures that CCLayerImpl::didDraw() is called on all layers,
391         including layers on different render surfaces.
392
393         As this was a refactor, no other tests were added.
394
395         * platform/graphics/chromium/LayerRendererChromium.cpp:
396         (WebCore::LayerRendererChromium::drawYUV):
397         (WebCore):
398         (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad):
399         (WebCore::LayerRendererChromium::drawRGBA):
400         (WebCore::LayerRendererChromium::drawNativeTexture):
401         (WebCore::LayerRendererChromium::copyFrameToTextures):
402         (WebCore::LayerRendererChromium::copyPlaneToTexture):
403         (WebCore::LayerRendererChromium::drawVideoQuad):
404         * platform/graphics/chromium/LayerRendererChromium.h:
405         (LayerRendererChromium):
406         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
407         * platform/graphics/chromium/cc/CCLayerImpl.h:
408         (WebCore::CCLayerImpl::didDraw):
409         (CCLayerImpl):
410         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
411         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
412         (WebCore::CCLayerTreeHostImpl::drawLayers):
413         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
414         (CCLayerTreeHostImpl):
415         * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
416         (WebCore::CCVideoDrawQuad::create):
417         (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
418         * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
419         (CCVideoDrawQuad):
420         (WebCore::CCVideoDrawQuad::textures):
421         (WebCore::CCVideoDrawQuad::frame):
422         (WebCore::CCVideoDrawQuad::format):
423         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
424         (WebCore::CCVideoLayerImpl::willDraw):
425         (WebCore::CCVideoLayerImpl::appendQuads):
426         (WebCore::CCVideoLayerImpl::didDraw):
427         (WebCore::CCVideoLayerImpl::computeVisibleSize):
428         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
429         (CCVideoLayerImpl):
430         (WebCore::CCVideoLayerImpl::providerMutex):
431         (WebCore::CCVideoLayerImpl::provider):
432         (Texture):
433
434 2012-02-17  Stephen Chenney  <schenney@chromium.org>
435
436         Crash at WebCore::SVGUseElement::expandSymbolElementsInShadowTree
437         https://bugs.webkit.org/show_bug.cgi?id=77639
438
439         Reviewed by Nikolas Zimmermann.
440
441         Fix a SVG crash in Release builds, although it still crashes in Debug builds.
442         The crash occurred when an SVG use element attempted to reference a style element while the file
443         contained an error causing the error banner to display. The fix is to prevent SVGUseElement
444         from recalculating style during tree building and return immediately when style is recalculated and
445         the tree is building.
446
447         Test: svg/custom/use-referencing-style-crash.svg
448
449         * svg/SVGUseElement.cpp:
450         (WebCore::SVGUseElement::willRecalcStyle): Return false if the tree is being built.
451         (WebCore::SVGUseElement::didRecalcStyle): Check and return if the tree
452         is being built and we are not yet ready for style update.
453
454 2012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>
455
456         Unreviewed, rolling out r108077.
457         http://trac.webkit.org/changeset/108077
458         https://bugs.webkit.org/show_bug.cgi?id=78390
459
460         it broke compilation.
461
462         * inspector/CodeGeneratorInspector.py:
463         * inspector/InjectedScript.cpp:
464         (WebCore::InjectedScript::evaluateOnCallFrame):
465         (WebCore::InjectedScript::getFunctionDetails):
466         (WebCore::InjectedScript::getProperties):
467         (WebCore::InjectedScript::wrapCallFrames):
468         * inspector/InjectedScript.h:
469         (InjectedScript):
470         * inspector/InspectorDebuggerAgent.cpp:
471         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
472         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
473         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
474         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
475         (WebCore::InspectorDebuggerAgent::currentCallFrames):
476         (WebCore::InspectorDebuggerAgent::didParseSource):
477         * inspector/InspectorDebuggerAgent.h:
478         (InspectorDebuggerAgent):
479
480 2012-02-17  Florin Malita  <fmalita@google.com>
481
482         chrome.dll!WebCore::SVGTRefElement::updateReferencedText ReadAV@NULL (e85cb8e140071fa7790cad215b0109dc)
483         https://bugs.webkit.org/show_bug.cgi?id=74858
484
485         Reviewed by Nikolas Zimmermann.
486
487         Tests: svg/custom/tref-remove-target-crash-expected.svg
488                svg/custom/tref-remove-target-crash.svg
489
490         Add a DOMNodeRemovedFromDocumentEvent listener to detect when the target element is removed. Upon removal,
491         cleanup all listeners and re-activate the pending resource to attach if the referenced ID is added
492         at a later time programmatically. Also move the DOMSubtreeModifiedEvent listener from the parent to
493         the target element to simplify the implementation and reduce the scope.
494
495         * svg/SVGTRefElement.cpp:
496         (WebCore::TargetListener::create):
497         (WebCore::TargetListener::cast):
498         (WebCore::TargetListener::clear):
499         (WebCore::TargetListener::TargetListener):
500         (WebCore::TargetListener::operator==):
501         (WebCore::TargetListener::handleEvent):
502         (WebCore::SVGTRefElement::detachTarget):
503         (WebCore::SVGTRefElement::buildPendingResource):
504         * svg/SVGTRefElement.h:
505
506 2012-02-17  Simon Fraser  <simon.fraser@apple.com>
507
508         Fix the build after r108077.
509
510         * inspector/CodeGeneratorInspector.py:
511         (RawTypes.Any.generate_validate_method):
512
513 2012-02-17  Simon Fraser  <simon.fraser@apple.com>
514
515         Avoid using a transparency layer for rgba() border drawing when possible
516         https://bugs.webkit.org/show_bug.cgi?id=63176
517
518         Reviewed by Dan Bernstein.
519         
520         The non-radiused border drawing code would use a transparency layer
521         when drawing any one or more borders with alpha colors. However,
522         we only need to use a transparency layer when there is a corner
523         join between the borders being rendered with any one color,
524         so add a utility function includesAdjacentEdges() that can tell us
525         that, and use it to avoid making extraneous transparency layers.
526
527         Optimization only, no new tests.
528
529         * rendering/RenderBoxModelObject.cpp:
530         (WebCore::includesAdjacentEdges):
531         (WebCore):
532         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
533
534 2012-02-17  Pavel Feldman  <pfeldman@google.com>
535
536         Not reviewed: Qt minimal build fix.
537
538         * inspector/InjectedScript.h:
539         (WebCore):
540
541 2012-02-17  Peter Rybin  <peter.rybin@gmail.com>
542
543         Web Inspector: Switch Debugger agent to TypeBuilder
544         https://bugs.webkit.org/show_bug.cgi?id=78390
545
546         Reviewed by Vsevolod Vlasov.
547
548         Client code is switched to TypeBuilder.
549
550         * inspector/CodeGeneratorInspector.py:
551         * inspector/InjectedScript.cpp:
552         (WebCore::InjectedScript::evaluateOnCallFrame):
553         (WebCore::InjectedScript::getFunctionDetails):
554         (WebCore::InjectedScript::getProperties):
555         (WebCore::InjectedScript::wrapCallFrames):
556         * inspector/InjectedScript.h:
557         (InjectedScript):
558         * inspector/InspectorDebuggerAgent.cpp:
559         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
560         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
561         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
562         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
563         (WebCore::InspectorDebuggerAgent::currentCallFrames):
564         (WebCore::InspectorDebuggerAgent::didParseSource):
565         * inspector/InspectorDebuggerAgent.h:
566         (InspectorDebuggerAgent):
567
568 2012-02-17  Pavel Feldman  <pfeldman@google.com>
569
570         Web Inspector: hide color picker on selected node update.
571         https://bugs.webkit.org/show_bug.cgi?id=78896
572
573         Reviewed by Vsevolod Vlasov.
574
575         * inspector/front-end/Spectrum.js:
576         (WebInspector.Spectrum.prototype.get visible):
577         (WebInspector.Spectrum.prototype.toggle):
578         (WebInspector.Spectrum.prototype.show):
579         * inspector/front-end/StylesSidebarPane.js:
580         (WebInspector.StylesSidebarPane.prototype.update):
581         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
582
583 2012-02-17  Pavel Feldman  <pfeldman@google.com>
584
585         Web Inspector: check undo-redo boundaries based on current action index, not history size.
586         https://bugs.webkit.org/show_bug.cgi?id=78895
587
588         Reviewed by Vsevolod Vlasov.
589
590         Tests: inspector/elements/perform-undo-undo.html
591                inspector/styles/perform-undo-perform-of-mergable-action.html
592
593         * inspector/InspectorHistory.cpp:
594         (WebCore::InspectorHistory::perform):
595
596 2012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>
597
598         Unreviewed, rolling out r108071.
599         http://trac.webkit.org/changeset/108071
600         https://bugs.webkit.org/show_bug.cgi?id=77155
601
602         chromium-mac compilation failed
603
604         * platform/graphics/chromium/Extensions3DChromium.h:
605
606 2012-02-17  Michal Mocny  <mmocny@google.com>
607
608         [chromium] GL_CHROMIUM_gpu_memory_manager extension
609         https://bugs.webkit.org/show_bug.cgi?id=77155
610
611         Reviewed by James Robinson.
612
613         * platform/graphics/chromium/Extensions3DChromium.h:
614         (GpuMemoryAllocationChangedCallbackCHROMIUM):
615         (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
616         (Extensions3DChromium):
617
618 2012-02-17  Raphael Kubo da Costa  <kubo@profusion.mobi>
619
620         [CMake, EFL] Unreviewed, fix the build when building with
621         SHARED_CORE=ON after r107820.
622
623         RunLoopEfl.cpp has not been upstreamed yet, and building only
624         RunLoop.cpp created an .so with some missing, unimplemented
625         symbols. The BlackBerry port seems to be in the same situation.
626
627         The best solution for now is to build RunLoop.cpp only on the
628         WinCE port.
629
630         * CMakeLists.txt: Remove RunLoop.cpp from the list of files to build.
631         * PlatformWinCE.cmake: Add RunLoop.cpp to the list of files to build.
632
633 2012-02-17  Pavel Feldman  <pfeldman@google.com>
634
635         Web Inspector: a bit of color picker polish
636         https://bugs.webkit.org/show_bug.cgi?id=78892
637
638         - Fixed computed style swatch
639         - Removed color: caption
640         - Rendered value as source code, user-selectable
641         - Removed scroller gap
642
643         Reviewed by Yury Semikhatsky.
644
645         * English.lproj/localizedStrings.js:
646         * inspector/front-end/Popover.js:
647         (WebInspector.Popover.prototype.setCanShrink):
648         (WebInspector.Popover.prototype._positionElement):
649         * inspector/front-end/Spectrum.js:
650         * inspector/front-end/StylesSidebarPane.js:
651         (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
652         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
653         * inspector/front-end/elementsPanel.css:
654         (.spectrum-container):
655         (.spectrum-display-value):
656         (.spectrum-range-container):
657         * inspector/front-end/popover.css:
658         (.popover .content.fixed-height):
659
660 2012-02-17  Pavel Feldman  <pfeldman@google.com>
661
662         Web Inspector: color picker does not allow changing the color.
663         https://bugs.webkit.org/show_bug.cgi?id=78886
664
665         Reviewed by Vsevolod Vlasov.
666
667         * inspector/front-end/ElementsPanel.js:
668         (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
669         * inspector/front-end/Popover.js:
670         (WebInspector.Popover.prototype.setCanShrink):
671         (WebInspector.Popover.prototype._positionElement):
672         * inspector/front-end/Settings.js:
673         * inspector/front-end/Spectrum.js:
674         * inspector/front-end/StylesSidebarPane.js:
675         (WebInspector.StylesSidebarPane):
676         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
677
678 2012-02-17  Pavel Feldman  <pfeldman@google.com>
679
680         Web Inspector: new image preview has poorly positioned popover arrow.
681         https://bugs.webkit.org/show_bug.cgi?id=78884
682
683         Reviewed by Vsevolod Vlasov.
684
685         * inspector/front-end/Popover.js:
686         (WebInspector.Popover.prototype._positionElement):
687         * inspector/front-end/utilities.js:
688         (Element.prototype.boxInWindow):
689
690 2012-02-17  Pavel Feldman  <pfeldman@google.com>
691
692         Web Inspector: enable "Single click CSS editing" experiment by default.
693         https://bugs.webkit.org/show_bug.cgi?id=78881
694
695         Reviewed by Vsevolod Vlasov.
696
697         * inspector/front-end/elementsPanel.css:
698         (.styles-section .properties .enabled-button):
699
700 2012-02-17  Pavel Feldman  <pfeldman@google.com>
701
702         Web Inspector: split innerUpdate into rebuildUpdate and refreshUpdate, make computed styles load lazily.
703         https://bugs.webkit.org/show_bug.cgi?id=78827
704
705         Reviewed by Vsevolod Vlasov.
706
707         * inspector/front-end/StylesSidebarPane.js:
708         (WebInspector.StylesSidebarPane.prototype.update):
709         (WebInspector.StylesSidebarPane.prototype._refreshUpdate.computedStyleCallback):
710         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
711         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
712         (WebInspector.StylesSidebarPane.prototype._validateNode):
713         (WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
714         (WebInspector.StylesSidebarPane.prototype._attributesModified):
715         (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
716         (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
717         (WebInspector.StylesSidebarPane.prototype._innerRefreshUpdate):
718         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
719         (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest):
720         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
721         (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
722         (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
723         (WebInspector.ComputedStyleSidebarPane.prototype.expand):
724         (WebInspector.StylePropertyTreeElement.prototype):
725
726 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
727
728         [Qt][WK2] Allow partial updates
729         https://bugs.webkit.org/show_bug.cgi?id=78824
730
731         BitmapTextureGL should not zero-fill the textures when resetting.
732         This was needed in the previous buffer management system, where texture were not completely
733         filled by the backing store.
734
735         Reviewed by Simon Hausmann.
736
737         No new behavior.
738
739         * platform/graphics/opengl/TextureMapperGL.cpp:
740         (BitmapTextureGL):
741         (WebCore::texSubImage2DResourceSafe):
742         (WebCore):
743         (WebCore::BitmapTextureGL::reset):
744
745 2012-02-17  Yosifumi Inoue  <yosin@chromium.org>
746
747         [Forms] Integrate InputType::dispatchChangeEventInResponseToSetValue into InputType::setValue
748         https://bugs.webkit.org/show_bug.cgi?id=78873
749
750         Reviewed by Kent Tamura.
751
752         This patch moves event dispatch logic to InputType and TextFieldInputType from HTMLInputElement
753         and merge dispatchChangeEventInResponseToSetValue to setValue.
754
755         No new tests. No change in behavior.
756
757         * html/HTMLInputElement.cpp:
758         (WebCore::HTMLInputElement::setValue): Move dispatch logic to InputType and TextFieldInput.
759         * html/InputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
760         * html/InputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
761         (WebCore::InputType::setValue): Move code from dispatchChangeEventInResponseToSetValue.
762         * html/TextFieldInputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
763         * html/TextFieldInputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
764         (WebCore::TextFieldInputType::setValue): Move code from dispatchChangeEventInResponseToSetValue. Stop dispatching event in InputType::setValue.
765         * html/HTMLTextFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent to public from protected for accessing from InputType class.
766
767 2012-02-17  Yury Semikhatsky  <yurys@chromium.org>
768
769         Unreviewed. Mac build fix after r108047.
770
771         * WebCore.xcodeproj/project.pbxproj:
772
773 2012-02-16  Andreas Kling  <awesomekling@apple.com>
774
775         Removing the last presentation attribute should result in a null attributeStyle().
776         <http://webkit.org/b/78812>
777
778         Reviewed by Antti Koivisto.
779
780         If the collectStyleForAttribute() pass in updateAttributeStyle() doesn't encounter any
781         respected presentation attributes, set a null attributeStyle() instead of an empty one.
782
783         * css/CSSStyleSelector.cpp:
784         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
785         * dom/StyledElement.cpp:
786         (WebCore::StyledElement::updateAttributeStyle):
787
788 2012-02-16  Yury Semikhatsky  <yurys@chromium.org>
789
790         Web Inspector: use static counters for estimation of allocated Documents, Nodes and JS EventListeners
791         https://bugs.webkit.org/show_bug.cgi?id=78825
792
793         Introduced static counters of allocated Documents, Nodes and JS EventListeners.
794         Their values are displayed on the Timeline panel.
795
796         Reviewed by Pavel Feldman.
797
798         * CMakeLists.txt:
799         * English.lproj/localizedStrings.js:
800         * GNUmakefile.list.am:
801         * Target.pri:
802         * WebCore.gypi:
803         * WebCore.vcproj/WebCore.vcproj:
804         * WebCore.xcodeproj/project.pbxproj:
805         * bindings/js/JSEventListener.cpp:
806         (WebCore::JSEventListener::JSEventListener):
807         (WebCore::JSEventListener::~JSEventListener):
808         * bindings/v8/V8AbstractEventListener.cpp:
809         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
810         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
811         * dom/Document.cpp:
812         (WebCore::Document::Document):
813         (WebCore::Document::~Document):
814         * dom/Document.h:
815         (WebCore::Node::Node):
816         * dom/Node.cpp:
817         (WebCore::Node::~Node):
818         * inspector/InspectorAllInOne.cpp:
819         * inspector/InspectorController.cpp:
820         (WebCore::InspectorController::InspectorController):
821         * inspector/InspectorCounters.cpp: Added.
822         (WebCore):
823         (WebCore::InspectorCounters::counterValue):
824         * inspector/InspectorCounters.h: Added.
825         (WebCore):
826         (InspectorCounters):
827         (WebCore::InspectorCounters::incrementCounter):
828         (WebCore::InspectorCounters::decrementCounter):
829         * inspector/InspectorTimelineAgent.cpp:
830         (WebCore::InspectorTimelineAgent::didCallFunction):
831         (WebCore::InspectorTimelineAgent::didDispatchEvent):
832         (WebCore::InspectorTimelineAgent::didWriteHTML):
833         (WebCore::InspectorTimelineAgent::didFireTimer):
834         (WebCore::InspectorTimelineAgent::didEvaluateScript):
835         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
836         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
837         * inspector/InspectorTimelineAgent.h:
838         (WebCore):
839         (WebCore::InspectorTimelineAgent::create):
840         (InspectorTimelineAgent):
841         * inspector/front-end/MemoryStatistics.js:
842         (WebInspector.MemoryStatistics):
843         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
844         (WebInspector.MemoryStatistics.prototype._draw.getDocumentCount):
845         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
846         * inspector/front-end/TimelinePanel.js:
847         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
848
849 2012-02-16  Cris Neckar  <cdn@chromium.org>
850
851         Correct a misleading comment regarding string delimiters in CSS parsing.
852         https://bugs.webkit.org/show_bug.cgi?id=78521
853
854         Reviewed by Zoltan Herczeg.
855
856         * css/CSSParser.cpp:
857         (WebCore::CSSParser::lex):
858
859 2012-02-16  Martin Robinson  <mrobinson@igalia.com>
860
861         Fix the TextureMapper build for GTK+.
862
863         No new tests. This is just a build fix.
864
865         * GNUmakefile.list.am: Add missing files to the build and change spaces to tabs.
866
867 2012-02-16  Daniel Bates  <dbates@webkit.org>
868
869         Add ENABLE(STYLE_SCOPED) around HTMLStyleElement::m_isRegisteredWithScopingNode 
870
871         The instance variable HTMLStyleElement::m_isRegisteredWithScopingNode is only
872         referenced from within ENABLE(STYLE_SCOPED)-guarded code. We should add this
873         guard around its declaration.
874
875         * html/HTMLStyleElement.h:
876         (HTMLStyleElement):
877
878 2012-02-16  Shinya Kawanaka  <shinyak@chromium.org>
879
880         [v8] v8 doesn't assume to do 'new WebKitShadowRoot(host)'
881         https://bugs.webkit.org/show_bug.cgi?id=78875
882
883         Reviewed by Kentaro Hara.
884
885         Since v8 does not assume that we do 'new WebkitShadowRoot(host)', a wrapper object for new WebKitShadowRoot(host)
886         was saved in DOMObject storage instead of DOMNode storage.
887
888         CodeGenerator should handle with DOMNode correctly to solve the problem.
889
890         Test: fast/dom/shadow/shadow-root-new.html
891
892         * bindings/scripts/CodeGeneratorV8.pm:
893         (GenerateConstructorCallback):
894
895 2012-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
896
897         Unreviewed rollout r107952 because it broke shadow-boundary-events.html and related-target-focusevent.html on mac.
898         see http://webkit.org/b/78832
899
900         * CMakeLists.txt:
901         * DerivedSources.cpp:
902         * DerivedSources.make:
903         * DerivedSources.pri:
904         * GNUmakefile.list.am:
905         * Target.pri:
906         * WebCore.gypi:
907         * WebCore.xcodeproj/project.pbxproj:
908         * dom/DOMAllInOne.cpp:
909         * dom/EventDispatchMediator.cpp:
910         (WebCore::FocusEventDispatchMediator::create):
911         (WebCore):
912         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
913         (WebCore::FocusEventDispatchMediator::dispatchEvent):
914         (WebCore::BlurEventDispatchMediator::create):
915         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
916         (WebCore::BlurEventDispatchMediator::dispatchEvent):
917         * dom/EventDispatchMediator.h:
918         (FocusEventDispatchMediator):
919         (WebCore):
920         (BlurEventDispatchMediator):
921         * dom/EventFactory.in:
922         * dom/FocusEvent.cpp: Removed.
923         * dom/FocusEvent.h: Removed.
924         * dom/FocusEvent.idl: Removed.
925         * dom/Node.cpp:
926         (WebCore::Node::dispatchFocusInEvent):
927         (WebCore::Node::dispatchFocusOutEvent):
928         * dom/UIEvent.cpp:
929         (WebCore::FocusInEventDispatchMediator::create):
930         (WebCore):
931         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
932         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
933         (WebCore::FocusOutEventDispatchMediator::create):
934         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
935         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
936         * dom/UIEvent.h:
937         (FocusInEventDispatchMediator):
938         (WebCore):
939         (FocusOutEventDispatchMediator):
940         * page/DOMWindow.idl:
941
942 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
943
944         Another fix for viewport tests
945
946         No new tests.
947
948         * dom/ViewportArguments.cpp:
949         (WebCore::numericPrefix): When we don't parse a number, we could either be 
950         trying to parse junk, which returns NaN, or we could get an empty string, 
951         which returns 0, so we need to account for that in the assert.
952
953 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
954
955         Another build fix for viewport tests
956
957         No new tests.
958
959         * dom/ViewportArguments.cpp:
960         (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
961         parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
962         we have NaN rather than 0.
963
964 2012-02-16  Alexandre Elias  <aelias@google.com>
965
966         [chromium] Bundle page scale factor and limits in CCLayerTreeHost
967         https://bugs.webkit.org/show_bug.cgi?id=78762
968
969         Setting page scale factor and its limits in separate methods
970         may cause clamping bugs if one of them makes it to the
971         impl thread before the other.  Change the API to bundle them together,
972         which matches the existing impl-side interface.
973
974         Reviewed by James Robinson.
975
976         No new tests (API change will disallow this type of bug).
977
978         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
979         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
980         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
981         (WebCore::CCLayerTreeHost::setPageScaleFactorAndLimits):
982         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
983         (CCLayerTreeHost):
984
985 2012-02-16  Kentaro Hara  <haraken@chromium.org>
986
987         Unreviewed. Rebaselined run-bindings-tests results.
988
989         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
990         (WebCore::JSTestEventConstructorConstructor::finishCreation):
991         * bindings/scripts/test/JS/JSTestInterface.cpp:
992         (WebCore::JSTestInterfaceConstructor::finishCreation):
993         * bindings/scripts/test/JS/JSTestObj.cpp:
994         (WebCore::JSTestObjConstructor::finishCreation):
995         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
996         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
997
998 2012-02-16  Sami Kyostila  <skyostil@chromium.org>
999
1000         [chromium] LayerChromium::setNeedsDisplay does not apply contents scale correctly
1001         https://bugs.webkit.org/show_bug.cgi?id=77464
1002
1003         Use bounds() instead of contentBounds() to calculate the region to mark
1004         as needing painting in LayerChromium::setNeedsDisplay(). contentBounds()
1005         includes contents scale, while bounds() does not.
1006
1007         Since this change also means that TiledLayerChromium::setNeedsDisplayRect() is
1008         given an unscaled rectangle, modify that function to scale the rectangle before
1009         using it to invalidate the underlying tiles.
1010
1011         Reviewed by James Robinson.
1012
1013         Tests: New tests added to LayerChromium and TiledLayerChromium unit tests.
1014
1015         * platform/graphics/chromium/LayerChromium.h:
1016         (WebCore::LayerChromium::setNeedsDisplay):
1017         * platform/graphics/chromium/TiledLayerChromium.cpp:
1018         (WebCore::TiledLayerChromium::setNeedsDisplayRect):
1019
1020 2012-02-16  Raymond Liu  <raymond.liu@intel.com>
1021
1022         Lazy init for DefaultAudioDestinationNode and OfflineAudioDestinationNode
1023         https://bugs.webkit.org/show_bug.cgi?id=76509
1024
1025         Reviewed by Eric Seidel.
1026
1027         No new tests required.
1028
1029         * webaudio/AudioDestinationNode.h:
1030         * webaudio/AudioNode.h:
1031         (WebCore::AudioNode::sampleRate):
1032         * webaudio/DefaultAudioDestinationNode.cpp:
1033         (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
1034         * webaudio/DefaultAudioDestinationNode.h:
1035         * webaudio/OfflineAudioDestinationNode.cpp:
1036         (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
1037         * webaudio/OfflineAudioDestinationNode.h:
1038         (WebCore::OfflineAudioDestinationNode::sampleRate):
1039
1040 2012-02-16  Shinya Kawanaka  <shinyak@chromium.org>
1041
1042         [Refactoring] Remove location from NodeRenderingContext.
1043         https://bugs.webkit.org/show_bug.cgi?id=78796
1044
1045         Reviewed by Hajime Morita.
1046
1047         This is a simple refactoring to remove m_location from NodeRenderingContext.
1048         TreeLocation is merged into AttachPhase like the following.
1049             LocationUndertermined -> Calculating
1050             LocationNotInTree -> AttachingNotInTree
1051             LocationLightChild -> AttachingStraight / AttachingNotDistributed / AttachingDistributed
1052             LocationShadowChild -> AttachingStraight / AttachingShadowChild / AttachingFallback
1053
1054         We have renamed the enum items of AttachPhase, because not only <content> but also
1055         <shadow> will use the phases. Basically these words are taken from Shadow DOM spec.
1056         'Calculating' means NodeRenderingContext is used not for attaching but for calculating RenderObject.
1057
1058         No new tests, no change in behavior.
1059
1060         * dom/NodeRenderingContext.cpp:
1061         (WebCore::NodeRenderingContext::NodeRenderingContext):
1062         (WebCore::NodeRenderingContext::nextRenderer):
1063         (WebCore::NodeRenderingContext::previousRenderer):
1064         (WebCore::NodeRenderingContext::parentRenderer):
1065         (WebCore::NodeRenderingContext::shouldCreateRenderer):
1066         * dom/NodeRenderingContext.h:
1067         (NodeRenderingContext):
1068         (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
1069
1070 2012-02-16  Kent Tamura  <tkent@chromium.org>
1071
1072         Run sort-Xcode-project-file.
1073
1074         * WebCore.xcodeproj/project.pbxproj: Sorted.
1075
1076 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
1077
1078         Another build fix for viewport tests
1079
1080         No new tests.
1081
1082         * dom/ViewportArguments.cpp:
1083         (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
1084         parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
1085         we have NaN rather than 0.
1086
1087 2012-02-15  Michael Nordman  <michaeln@google.com>
1088
1089         [chromium] Fix bugs in the implementation of WebDatabase::closeDatabaseImmediately.
1090         https://bugs.webkit.org/show_bug.cgi?id=78841
1091
1092         WebDatabase now delegates this function entirely to DatabaseTracker,
1093         a new closeDatabasesImmediately() has been added for that purpose. That
1094         method posts tasks to the appropiate context thread for each database
1095         instance that should be closed immediately.
1096
1097         The DatabaseTracker getAllOpenDatabases() method has been removed from
1098         the chromium impl because it's unsafe, refs cannot be safely taken on
1099         AbstractDatabase instances in the tracker's collection of open databases.
1100
1101         Add a message to the console log when a database is forcibly closed.
1102
1103         Transactions initiated on a database instance that has been forcibly
1104         closed complete with a transaction error callback.
1105         
1106         This is part of resolving http://crbug.com/98939
1107
1108         Reviewed by David Levin.
1109
1110         No new layout tests, there is no common code way to closeImmediately.
1111         We have coverage for this in py automation tests.
1112
1113         * platform/sql/SQLiteDatabase.cpp:
1114         The closeImmediately code path can result in the underlying sqlite3 handle being
1115         closed earlier than usual and trip some assertions. Updated the assertions to no
1116         longer trigger in this early close case.
1117         (WebCore::SQLiteDatabase::close):
1118         (WebCore::SQLiteDatabase::setMaximumSize):
1119         * platform/sql/SQLiteDatabase.h:
1120         (WebCore::SQLiteDatabase::sqlite3Handle):
1121
1122         * storage/Database.cpp:
1123         (WebCore::Database::closeImmediately): Modified to only be called on the context thread and to log a console message.
1124         (WebCore::Database::changeVersion): Use the private runTransaction helper method.
1125         (WebCore::Database::transaction): Pass a new param required by the runTransaction helper.
1126         (WebCore::Database::readTransaction): Ditto.
1127         (WebCore::callTransactionErrorCallback): Used to defer invocation of the error callback.
1128         (WebCore::Database::runTransaction): Modified to detect when the database has been closed, and
1129         to invoke the error callback in that case. This also avoids creating a reference cycle between
1130         a newly created transaction and the database that previously existed due to a transction being
1131         added and never removed from the Q while in this state.
1132         * storage/Database.h:
1133         * storage/DatabaseSync.cpp:
1134         (WebCore::DatabaseSync::closeImmediately): Modified to only be called on the context thread and to log a console message.
1135         * storage/DatabaseTracker.h:
1136
1137         * storage/chromium/DatabaseTrackerChromium.cpp:
1138         Posts tasks to the appropiate context thread for execution without bumping AbstractDatabase refcounts.
1139         (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
1140         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
1141         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::performTask):
1142         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
1143         (WebCore::DatabaseTracker::closeDatabasesImmediately): 
1144         (WebCore::DatabaseTracker::closeOneDatabaseImmediately):
1145
1146 2012-02-16  Dana Jansens  <danakj@chromium.org>
1147
1148         [Chromium] Occlusion tracking with CSS filters
1149         https://bugs.webkit.org/show_bug.cgi?id=77498
1150
1151         Reviewed by James Robinson.
1152
1153         The new CSS filter support within the compositor changes how
1154         occlusion tracking needs to function. A filter can change the
1155         alpha value of pixels, making an otherwise opaque pixel no
1156         longer so. Secondly, a filter may move color values around
1157         on a surface, which can cause otherwise occluded areas to
1158         become visible and require painting.
1159
1160         New unit tests: CCLayerTreeHostTest.cpp
1161
1162         Tests: compositing/culling/filter-occlusion-alpha-large.html
1163                compositing/culling/filter-occlusion-alpha.html
1164                compositing/culling/filter-occlusion-blur-large.html
1165                compositing/culling/filter-occlusion-blur.html
1166
1167         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1168         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
1169         * platform/graphics/chromium/RenderSurfaceChromium.h:
1170         (WebCore::RenderSurfaceChromium::setFilters):
1171         (WebCore::RenderSurfaceChromium::filters):
1172         (WebCore::RenderSurfaceChromium::setNearestAncestorThatMovesPixels):
1173         (WebCore::RenderSurfaceChromium::nearestAncestorThatMovesPixels):
1174         (RenderSurfaceChromium):
1175         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1176         (WebCore::enterTargetRenderSurface):
1177         (WebCore::CCLayerTreeHost::paintLayerContents):
1178         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1179         (WebCore::subtreeShouldRenderToSeparateSurface):
1180         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1181         (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
1182         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1183         (WebCore::CCRenderSurface::CCRenderSurface):
1184         * platform/graphics/chromium/cc/CCRenderSurface.h:
1185         (WebCore::CCRenderSurface::setNearestAncestorThatMovesPixels):
1186         (WebCore::CCRenderSurface::nearestAncestorThatMovesPixels):
1187         (CCRenderSurface):
1188         * platform/graphics/filters/FilterOperation.h:
1189         (FilterOperation):
1190         (WebCore::FilterOperation::affectsOpacity):
1191         (WebCore::FilterOperation::movesPixels):
1192         (WebCore::ReferenceFilterOperation::affectsOpacity):
1193         (WebCore::ReferenceFilterOperation::movesPixels):
1194         (ReferenceFilterOperation):
1195         (WebCore::BasicComponentTransferFilterOperation::affectsOpacity):
1196         (BasicComponentTransferFilterOperation):
1197         (WebCore::BlurFilterOperation::affectsOpacity):
1198         (WebCore::BlurFilterOperation::movesPixels):
1199         (BlurFilterOperation):
1200         (WebCore::DropShadowFilterOperation::affectsOpacity):
1201         (DropShadowFilterOperation):
1202         * platform/graphics/filters/FilterOperations.cpp:
1203         (WebCore::FilterOperations::hasFilterThatAffectsOpacity):
1204         (WebCore):
1205         (WebCore::FilterOperations::hasFilterThatMovesPixels):
1206         * platform/graphics/filters/FilterOperations.h:
1207         (WebCore::FilterOperations::isEmpty):
1208         (FilterOperations):
1209
1210 2012-02-16  Leo Yang  <leo.yang@torchmobile.com.cn>
1211
1212         [BlackBerry] Adapt to the removal of WebStringIml.h
1213         https://bugs.webkit.org/show_bug.cgi?id=78784
1214
1215         Reviewed by Antonio Gomes.
1216
1217         WebKit/blackberry/WebCoreSupport/WebStringImpl.h which hasn't been upstreamed
1218         has been removed internally. We should adapt to this removal for the
1219         upstreamed part of the BlackBerry port. Actually WebStringImpl is not necessary
1220         because it just inherits from WTF::StringImpl but adding nothing.
1221
1222         No functionalities changed, no new tests.
1223
1224         * platform/text/blackberry/StringBlackBerry.cpp:
1225         (WTF::String::operator WebString):
1226
1227 2012-02-15  Geoffrey Garen  <ggaren@apple.com>
1228
1229         Made Weak<T> single-owner, adding PassWeak<T>
1230         https://bugs.webkit.org/show_bug.cgi?id=78740
1231
1232         Reviewed by Sam Weinig.
1233
1234         * bindings/js/JSDOMBinding.cpp:
1235         (WebCore::jsStringSlowCase): Use PassWeak<T>, as required by our new
1236         hash map API.
1237
1238         * bindings/js/JSDOMBinding.h:
1239         (WebCore::getCachedWrapper):
1240         (WebCore::cacheWrapper): Use PassWeak<T> and raw pointer, as required by
1241         our new hash map API.
1242
1243         * bindings/js/JSEventListener.h:
1244         (WebCore::JSEventListener::setWrapper):
1245         * bindings/js/ScriptWrappable.h:
1246         (WebCore::ScriptWrappable::setWrapper):
1247         * bridge/jsc/BridgeJSC.cpp:
1248         (JSC::Bindings::Instance::createRuntimeObject):
1249         * bridge/runtime_root.cpp:
1250         (JSC::Bindings::RootObject::addRuntimeObject): Use PassWeak<T>, as
1251         required by our new hash map and Weak<T> APIs.
1252
1253 2012-02-16  Ryosuke Niwa  <rniwa@webkit.org>
1254
1255         Crash in visiblePositionForIndex
1256         https://bugs.webkit.org/show_bug.cgi?id=77683
1257
1258         Reviewed by Eric Seidel.
1259
1260         Fixed the crash.
1261
1262         Test: editing/execCommand/applyblockelement-visiblepositionforindex-crash.html
1263
1264         * editing/ApplyBlockElementCommand.cpp:
1265         (WebCore::ApplyBlockElementCommand::doApply):
1266         * editing/InsertListCommand.cpp:
1267         (WebCore::InsertListCommand::doApply):
1268         * editing/htmlediting.cpp:
1269         (WebCore::indexForVisiblePosition):
1270         * editing/htmlediting.h:
1271         (WebCore):
1272
1273 2012-02-16  Matthew Delaney  <mdelaney@apple.com>
1274
1275         ShadowBlur.cpp's cached content matching needs to consider m_layerSize changes
1276         https://bugs.webkit.org/show_bug.cgi?id=78765
1277
1278         Reviewed by Simon Fraser.
1279
1280         No new tests due to the flaky nature of reproducing the issue.
1281
1282         * platform/graphics/ShadowBlur.cpp:
1283         (WebCore::ScratchBuffer::getScratchBuffer): Make sure to call clearScratchBuffer()
1284         when we create a new ImageBuffer in order to invalidate cached values.
1285         (WebCore::ScratchBuffer::setCachedShadowValues): Roll together matching and setting
1286         of cached values into one method to enforce them being the same.
1287         (WebCore::ScratchBuffer::setCachedInsetShadowValues): Ditto.
1288
1289         Restructure to use new method described above.
1290         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): 
1291         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
1292         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
1293         (WebCore::ShadowBlur::drawRectShadowWithTiling):
1294         (WebCore::ShadowBlur::beginShadowLayer):
1295
1296 2012-02-16  Dana Jansens  <danakj@chromium.org>
1297
1298         [chromium] Empty divs not transforming overflow correctly
1299         https://bugs.webkit.org/show_bug.cgi?id=78850
1300
1301         Reviewed by James Robinson.
1302
1303         Test: compositing/overflow/transform-in-empty-container.html
1304
1305         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1306         (WebCore::GraphicsLayerChromium::setSize):
1307
1308 2012-02-16  Emil A Eklund  <eae@chromium.org>
1309
1310         Fix use of long long in FractionalLayoutUnit::setRawValue
1311         https://bugs.webkit.org/show_bug.cgi?id=78835
1312
1313         Reviewed by Eric Seidel.
1314
1315         Change setRawValue(long long) to compare against int min and max instead
1316         of using abs as not all platforms we support implement a long long
1317         version of abs or llabs.
1318
1319         No new tests.
1320
1321         * platform/FractionalLayoutUnit.h:
1322         (WebCore::FractionalLayoutUnit::setRawValue):
1323         Compare against int min/max instead of just max with abs.
1324         
1325         (WebCore::FractionalLayoutUnit::isInBounds):
1326         Fix type mismatch warning.
1327         
1328         (WebCore::operator==):
1329         Fix typo.
1330         
1331         (WebCore::operator*):
1332         Use long long version of setRawValue.
1333
1334 2012-02-15  Shinya Kawanaka  <shinyak@chromium.org>
1335
1336         Add an internal flag to accept multiple shadow roots for the purpose of tests.
1337         https://bugs.webkit.org/show_bug.cgi?id=78453
1338
1339         Reviewed by Hajime Morita.
1340
1341         This patch introduces a flag to enable multiple shadow subtrees.
1342         This flag is intended to be used for testing purpose for a while.
1343         We will remove it later.
1344
1345         No new tests, no change in behavior.
1346
1347         * WebCore.exp.in:
1348         * bindings/generic/RuntimeEnabledFeatures.cpp:
1349         (WebCore):
1350         * bindings/generic/RuntimeEnabledFeatures.h:
1351         (RuntimeEnabledFeatures):
1352         (WebCore::RuntimeEnabledFeatures::multipleShadowSubtreesEnabled):
1353         (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled):
1354         * dom/ShadowRoot.cpp:
1355         (WebCore::ShadowRoot::create):
1356         * dom/ShadowRootList.cpp:
1357         (WebCore::ShadowRootList::pushShadowRoot):
1358         * testing/Internals.cpp:
1359         (WebCore::Internals::setMultipleShadowSubtreesEnabled):
1360         (WebCore):
1361         * testing/Internals.h:
1362         (Internals):
1363         * testing/Internals.idl:
1364
1365 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
1366
1367         Fix the broken viewport tests
1368         https://bugs.webkit.org/show_bug.cgi?id=78774
1369
1370         Reviewed by Kenneth Rohde Christiansen.
1371
1372         No new tests.
1373
1374         * dom/ViewportArguments.cpp:
1375         (WebCore::numericPrefix): Changed to use the new charactersToFloatWithJunk function(s).
1376
1377 2012-02-16  Cris Neckar  <cdn@chromium.org>
1378
1379         Very large strings could cause the new quoted string to wrap.
1380         https://bugs.webkit.org/show_bug.cgi?id=78387
1381
1382         Reviewed by Eric Seidel.
1383
1384         * css/CSSParser.cpp:
1385         (WebCore::quoteCSSString):
1386
1387 2012-02-16  Eric Seidel  <eric@webkit.org>
1388
1389         Add a themeChromiumAndroid.css file for android-specific default styles
1390         https://bugs.webkit.org/show_bug.cgi?id=78547
1391
1392         Reviewed by Adam Barth.
1393
1394         This includes the themeChromiumAndroid.css file from the Chromium-Android port
1395         as well as some addidtional changes they had to html.css.  I believe those
1396         changes were made before themeChromiumAndroid was created, but it's now the better place for this CSS.
1397
1398         * WebCore.gyp/WebCore.gyp:
1399         * css/themeChromiumAndroid.css: Added.
1400         (select[size][multiple]):
1401         (input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):
1402         * rendering/RenderThemeChromiumAndroid.cpp:
1403         (WebCore::RenderThemeChromiumAndroid::extraDefaultStyleSheet):
1404         (WebCore):
1405         * rendering/RenderThemeChromiumAndroid.h:
1406         (RenderThemeChromiumAndroid):
1407         (WebCore::RenderThemeChromiumAndroid::delegatesMenuListRendering):
1408         (WebCore::RenderThemeChromiumAndroid::platformTapHighlightColor):
1409
1410 2012-02-16  Brady Eidson  <beidson@apple.com>
1411
1412         <rdar://problem/10616280> and https://bugs.webkit.org/show_bug.cgi?id=78767
1413         REGRESSION (r90471) - iAd Producer 2.0.1 produces blank pages
1414
1415         Reviewed by Sam Weinig.
1416
1417         No new tests. (Subtle API change attached to a specific application)
1418
1419         * loader/DocumentLoader.cpp:
1420         (WebCore::DocumentLoader::isLoadingInAPISense): Return true if the app needs the quirk
1421         and there are outstanding subresource loads.
1422
1423         * page/Settings.cpp:
1424         (WebCore::Settings::Settings):
1425         * page/Settings.h:
1426         (WebCore::Settings::setNeedsIsLoadingInAPISenseQuirk):
1427         (WebCore::Settings::needsIsLoadingInAPISenseQuirk):
1428         (Settings):
1429
1430 2012-02-16  Kentaro Hara  <haraken@chromium.org>
1431
1432         Remove [ConvertScriptString] from FileReaderSync.idl
1433         https://bugs.webkit.org/show_bug.cgi?id=78335
1434
1435         Reviewed by Eric Seidel.
1436
1437         The spec says that FileReadSync should throw NOT_FOUND_ERR
1438         if a given blob is invalid: http://www.w3.org/TR/FileAPI/#FileReaderSync
1439
1440         By this fix, we can completely remove [ConvertScriptString] from WebKit.
1441
1442         Tests: fast/files/workers/worker-read-blob-sync.html
1443                fast/files/workers/worker-read-file-sync.html
1444
1445         * fileapi/FileReaderSync.cpp: Modified to throw NOT_FOUND_ERR if a blob is invalid.
1446         (WebCore::FileReaderSync::readAsArrayBuffer):
1447         (WebCore::FileReaderSync::readAsBinaryString):
1448         (WebCore::FileReaderSync::readAsText):
1449         (WebCore::FileReaderSync::readAsDataURL):
1450         * fileapi/FileReaderSync.idl:
1451
1452         * bindings/scripts/CodeGeneratorJS.pm: Removed [ConvertScriptString]
1453         since no one is using it.
1454         (NativeToJSValue):
1455         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1456         (NativeToJSValue):
1457
1458         * bindings/scripts/test/TestObj.idl: Removed a test case for [ConvertScriptString].
1459
1460         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
1461         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1462         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1463         (webkit_dom_test_obj_get_property):
1464         (webkit_dom_test_obj_class_init):
1465         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1466         * bindings/scripts/test/JS/JSTestObj.cpp:
1467         (WebCore):
1468         * bindings/scripts/test/JS/JSTestObj.h:
1469         (WebCore):
1470         * bindings/scripts/test/ObjC/DOMTestObj.h:
1471         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1472         * bindings/scripts/test/V8/V8TestObj.cpp:
1473         (WebCore):
1474
1475
1476 2012-02-16  Dana Jansens  <danakj@chromium.org>
1477
1478         [chromium] Clipping/Transforms applied in wrong order in opaque paint tracking
1479         https://bugs.webkit.org/show_bug.cgi?id=78775
1480
1481         Reviewed by Stephen White.
1482
1483         The clip was being applied in device coordinates, before transforming the painted
1484         rect into device coordinates. This made any translations get doubly represented,
1485         and gave incorrect paint tracking results.
1486
1487         Test: compositing/culling/unscrolled-within-boxshadow.html
1488
1489         Unit test: PlatformContextSkiaTest.cpp
1490
1491         * platform/graphics/skia/OpaqueRegionSkia.cpp:
1492         (WebCore::OpaqueRegionSkia::didDraw):
1493
1494 2012-02-16  Abhishek Arya  <inferno@chromium.org>
1495
1496         Crash with tables in multi-column layout.
1497         https://bugs.webkit.org/show_bug.cgi?id=78415
1498
1499         Reviewed by Julien Chaffraix.
1500
1501         Multi-column code creates anonymous column blocks directly
1502         under RenderTable, thereby violating table layout assumption.
1503         E.g. Captions in this testcase gets reparented to these anonymous
1504         column blocks and when they go away, they are not able to clear
1505         themselves from table's m_captions list (since RenderTable::removeChild
1506         is not called).
1507
1508         Test: fast/multicol/span/table-multi-column-crash.html
1509
1510         * rendering/RenderBlock.cpp:
1511         (WebCore::RenderBlock::containingColumnsBlock):
1512
1513 2012-02-16  ChangSeok Oh  <shivamidow@gmail.com>
1514
1515         [GTK] File system api build is broken
1516         https://bugs.webkit.org/show_bug.cgi?id=78479
1517
1518         Reviewed by Philippe Normand.
1519
1520         This patch is a small step to support FileSystem API for GTK port.
1521         As I know, bug58443 also dealt with it, but it looks like the submitted patch
1522         needs to be updated. To do that, I think I need to discuss with the original author.
1523         So, I hope to just fix build break issue in this bug.
1524
1525         No new tests. Implementing the feature is not done yet.
1526
1527         * GNUmakefile.list.am: Added some missing files.
1528         * bindings/js/JSDirectoryEntryCustom.cpp: Added Error.h to use its API.
1529         * platform/AsyncFileSystem.cpp:
1530         (WebCore):
1531         (WebCore::AsyncFileSystem::create): The arguments don't match the declaration in AsyncFileSystem.h.
1532         * platform/gtk/AsyncFileSystemGtk.cpp: Added.
1533         (WebCore):
1534         (WebCore::AsyncFileSystem::isAvailable):
1535         (WebCore::AsyncFileSystem::isValidType):
1536         (WebCore::AsyncFileSystem::create):
1537         (WebCore::AsyncFileSystem::openFileSystem):
1538         (WebCore::AsyncFileSystem::crackFileSystemURL):
1539         (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
1540         (WebCore::AsyncFileSystemGtk::~AsyncFileSystemGtk):
1541         (WebCore::AsyncFileSystemGtk::toURL):
1542         (WebCore::AsyncFileSystemGtk::move):
1543         (WebCore::AsyncFileSystemGtk::copy):
1544         (WebCore::AsyncFileSystemGtk::remove):
1545         (WebCore::AsyncFileSystemGtk::removeRecursively):
1546         (WebCore::AsyncFileSystemGtk::readMetadata):
1547         (WebCore::AsyncFileSystemGtk::createFile):
1548         (WebCore::AsyncFileSystemGtk::createDirectory):
1549         (WebCore::AsyncFileSystemGtk::fileExists):
1550         (WebCore::AsyncFileSystemGtk::directoryExists):
1551         (WebCore::AsyncFileSystemGtk::readDirectory):
1552         (WebCore::AsyncFileSystemGtk::createWriter):
1553         * platform/gtk/AsyncFileSystemGtk.h: Added.
1554         (WebCore):
1555         (AsyncFileSystemGtk):
1556
1557 2012-02-16  Adrienne Walker  <enne@google.com>
1558
1559         Handle dirty descendant visibility status in RenderLayer::updateLayerPositionsAfterScroll
1560         https://bugs.webkit.org/show_bug.cgi?id=78286
1561
1562         Reviewed by Julien Chaffraix.
1563
1564         This is an unfortunate bandaid over a corner case where sometimes the
1565         visible descendant status dirty flag is true when this function is
1566         called from FrameView::repaintFixedElementsAfterScrolling. As it
1567         should be cheap to refresh this flag when dirty in most cases (as it
1568         early outs after finding any visible descendant), just lazily update
1569         the dirty flag here to ensure correctness.
1570
1571         * rendering/RenderLayer.cpp:
1572         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
1573
1574 2012-02-16  Adam Barth  <abarth@webkit.org>
1575
1576         Chrome::*Geolocation* are just useless pass-throughs to ChromeClient and should be removed
1577         https://bugs.webkit.org/show_bug.cgi?id=78844
1578
1579         Reviewed by Eric Seidel.
1580
1581         These function serve no useful purpose and should be removed.
1582
1583         * page/Chrome.cpp:
1584         (WebCore):
1585         * page/Chrome.h:
1586         (Chrome):
1587         * page/Geolocation.cpp:
1588         (WebCore::Geolocation::reset):
1589         (WebCore::Geolocation::requestPermission):
1590
1591 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
1592
1593         [soup] Move important SoupSession feature initialization to WebCore
1594         https://bugs.webkit.org/show_bug.cgi?id=68602
1595
1596         Reviewed by Martin Robinson.
1597
1598         Moved content sniffer and decoder initialization from WebKit to
1599         WebCore because network stuff will not work as expected without
1600         them. Added also out-of-the-box proxy support to WebCore.
1601
1602         No new tests required as we're just moving stuff from WebKit to
1603         WebCore.
1604
1605         * platform/network/soup/ResourceHandleSoup.cpp:
1606         (WebCore::ResourceHandle::defaultSession):
1607
1608 2012-02-16  Julien Chaffraix  <jchaffraix@webkit.org>
1609
1610         thead in table without tbody causes table height doubling
1611         https://bugs.webkit.org/show_bug.cgi?id=37244
1612
1613         Reviewed by Ojan Vafai.
1614
1615         Tests: fast/table/double-height-table-no-tbody-expected.html
1616                fast/table/double-height-table-no-tbody.html
1617
1618         The bug is caused by the layout code would wrongly assuming that a
1619         table without a <tbody> is an empty table. We would set the logical
1620         height to the style's logical height wrongly before inflating the
1621         logical height to account for the section(s). This would cause us
1622         to increase past our needed size thus the bug.
1623
1624         * rendering/RenderTable.cpp:
1625         (WebCore::RenderTable::layout):
1626         A table is empty if it does not have any top section, not just a <tbody>.
1627         The test uncovered an issue with height distribution in layoutRows where we
1628         would distribute the extra height to the first <tbody> not section.
1629
1630 2012-02-07  Robert Hogan  <robert@webkit.org>
1631
1632         CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail
1633         https://bugs.webkit.org/show_bug.cgi?id=78027
1634
1635         Reviewed by Julien Chaffraix.
1636
1637         Both of these test the (slightly implicit) rule that width set on column-groups cannot
1638         affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
1639         FF, Opera and IE all pass these two tests.
1640
1641         Tests: css2.1/20110323/fixed-table-layout-013.htm
1642                css2.1/20110323/fixed-table-layout-015.htm
1643
1644         * rendering/FixedTableLayout.cpp:
1645         (WebCore::nextCol): A helper function for finding the next column along.
1646         (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups.
1647         * rendering/RenderTableCol.h:
1648         (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups.
1649
1650 2012-02-16  Philippe Normand  <pnormand@igalia.com>
1651
1652         Unreviewed, rolling out r107941.
1653         http://trac.webkit.org/changeset/107941
1654         https://bugs.webkit.org/show_bug.cgi?id=68602
1655
1656         Broke 23 http tests on GTK
1657
1658         * platform/network/soup/ResourceHandleSoup.cpp:
1659         (WebCore::ResourceHandle::defaultSession):
1660
1661 2012-02-16  Tom Sepez  <tsepez@chromium.org>
1662
1663         XSS Auditor bypass with U+2028/2029
1664         https://bugs.webkit.org/show_bug.cgi?id=78732
1665
1666         Reviewed by Adam Barth.
1667
1668         Test: http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html
1669
1670         * html/parser/XSSAuditor.cpp:
1671         (WebCore::isJSNewline):
1672         (WebCore::XSSAuditor::snippetForJavaScript):
1673
1674 2012-02-15  Mark Rowe  <mrowe@apple.com>
1675
1676         NPN_GetValueForURL / NPNURLVProxy returns DIRECT when proxy configured via PAC
1677         <http://webkit.org/b/78766> / <rdar://problem/10729283>
1678
1679         Reviewed by Anders Carlsson.
1680
1681         * platform/network/cf/ProxyServerCFNet.cpp:
1682         (WebCore::proxyAutoConfigurationResultCallback): Stop the runloop, and then process
1683         the results that we received.
1684         (WebCore::processProxyServers): Processing of array of proxy configuration information
1685         moved from addProxyServersForURL. Handling of proxy auto-configuration URLs is now handled
1686         by calling CFNetworkExecuteProxyAutoConfigurationURL and waiting synchronously on the result
1687         callback. Doing this synchronously is not great, but it's the best we can do without a lot
1688         of restructuring of the code that calls this. We arbitrarily time out the execution after five
1689         seconds to avoid permanently hanging.
1690         (WebCore::addProxyServersForURL): Call in to our helper function.
1691
1692 2012-02-16  Abhishek Arya  <inferno@chromium.org>
1693
1694         Fix clone() function to handle descendant classes of RenderBlock.
1695         https://bugs.webkit.org/show_bug.cgi?id=78273
1696
1697         Reviewed by Eric Seidel.
1698
1699         Test: fast/multicol/span/clone-flexbox-crash.html
1700
1701         * rendering/RenderBlock.cpp:
1702         (WebCore::RenderBlock::clone):
1703
1704 2012-02-16  Raul Hudea  <rhudea@adobe.com>
1705
1706         [CSSRegions]overflowRegion tests are flaky
1707         https://bugs.webkit.org/show_bug.cgi?id=78761
1708
1709         Reviewed by Tony Chang.
1710
1711         The overflowRegion tests were updated.
1712
1713         * dom/Element.cpp:
1714         (WebCore::Element::webkitRegionOverflow):
1715
1716 2012-02-16  Raul Hudea  <rhudea@adobe.com>
1717
1718         [CSS Regions] Repaint issues when changing innerHTML of content
1719         https://bugs.webkit.org/show_bug.cgi?id=78787
1720
1721         Reviewed by David Hyatt.
1722
1723         The calculation of the clipping rectangle is based on the repaint rectangle,
1724         so it needs to be clipped to the current region, because it might spread over multiple ones.
1725
1726         Test: fast/repaint/region-painting-invalidation.html
1727
1728         * rendering/RenderFlowThread.cpp:
1729         (WebCore::RenderFlowThread::repaintRectangleInRegions):
1730
1731 2012-02-16  Adam Roben  <aroben@apple.com>
1732
1733         Roll out r107887
1734
1735         It broke 32-bit builds due to truncation from "long long" to "int".
1736
1737         Original bug is <http://webkit.org/b/76571> Add FractionalLayoutPoint/Size/Rect for
1738         sub-pixel layout
1739
1740         * CMakeLists.txt:
1741         * GNUmakefile.list.am:
1742         * WebCore.gypi:
1743         * WebCore.order:
1744         * WebCore.vcproj/WebCore.vcproj:
1745         * WebCore.xcodeproj/project.pbxproj:
1746         * platform/FractionalLayoutUnit.h:
1747         (WebCore::FractionalLayoutUnit::isInBounds):
1748         (WebCore::operator==):
1749         (WebCore::operator*):
1750         * platform/graphics/FloatPoint.cpp:
1751         * platform/graphics/FloatPoint.h:
1752         (WebCore):
1753         (FloatPoint):
1754         (WebCore::FloatPoint::move):
1755         (WebCore::FloatPoint::moveBy):
1756         * platform/graphics/FloatRect.cpp:
1757         * platform/graphics/FloatRect.h:
1758         (WebCore):
1759         * platform/graphics/FloatSize.cpp:
1760         * platform/graphics/FloatSize.h:
1761         (WebCore):
1762         * platform/graphics/FractionalLayoutPoint.h: Removed.
1763         * platform/graphics/FractionalLayoutRect.cpp: Removed.
1764         * platform/graphics/FractionalLayoutRect.h: Removed.
1765         * platform/graphics/FractionalLayoutSize.cpp: Removed.
1766         * platform/graphics/FractionalLayoutSize.h: Removed.
1767         * platform/graphics/IntRect.cpp:
1768         * platform/graphics/IntRect.h:
1769         (WebCore):
1770         (IntRect):
1771
1772 2012-02-16  Pavel Feldman  <pfeldman@google.com>
1773
1774         Web Inspector: cache settings values
1775         https://bugs.webkit.org/show_bug.cgi?id=78815
1776
1777         Reviewed by Vsevolod Vlasov.
1778
1779         * inspector/front-end/Settings.js:
1780         (WebInspector.Setting.prototype.get if):
1781         (WebInspector.Setting.prototype):
1782         (WebInspector.Setting.prototype.):
1783         (WebInspector.Setting.prototype.set this):
1784
1785 2012-02-16  Terry Anderson  <tdanderson@chromium.org>
1786
1787         WebKit does not support DOM 3 Events FocusEvent
1788         https://bugs.webkit.org/show_bug.cgi?id=76216
1789
1790         Created a new FocusEvent class (extends UIEvent) with a relatedTarget attribute.  Moved
1791         the {Focus,Blur,FocusIn,FocusOut}EventDispatchMediator classes inside FocusEvent.  Now when
1792         focusin or focusout events are dispatched, a FocusEvent is created with the relatedTarget
1793         attribute set accordingly.  No other logic changes have been made besides adding the
1794         FocusEvent class.
1795
1796         Reviewed by Eric Seidel.
1797
1798         Test: fast/events/related-target-focusevent.html
1799
1800         * CMakeLists.txt:
1801         * DerivedSources.cpp:
1802         * DerivedSources.make:
1803         * DerivedSources.pri:
1804         * GNUmakefile.list.am:
1805         * Target.pri:
1806         * WebCore.gypi:
1807         * WebCore.xcodeproj/project.pbxproj:
1808         * dom/DOMAllInOne.cpp:
1809             - Included mention of FocusEvent / JSFocusEvent in the above files to
1810               allow the patch to build on the different platforms
1811         * dom/EventDispatchMediator.cpp:
1812         * dom/EventDispatchMediator.h:
1813         * dom/EventFactory.in:
1814         * dom/FocusEvent.cpp: Added.
1815         (WebCore):
1816         (WebCore::FocusEvent::FocusEvent):
1817         (WebCore::FocusEvent::~FocusEvent):
1818         (WebCore::FocusEvent::initFocusEvent):
1819         (WebCore::FocusEvent::interfaceName):
1820         (WebCore::FocusInEventDispatchMediator::create):
1821         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
1822         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
1823         (WebCore::FocusInEventDispatchMediator::event):
1824         (WebCore::FocusOutEventDispatchMediator::create):
1825         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
1826         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
1827         (WebCore::FocusOutEventDispatchMediator::event):
1828         (WebCore::FocusEventDispatchMediator::create):
1829         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
1830         (WebCore::FocusEventDispatchMediator::dispatchEvent):
1831         (WebCore::BlurEventDispatchMediator::create):
1832         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
1833         (WebCore::BlurEventDispatchMediator::dispatchEvent):
1834         * dom/FocusEvent.h: Copied from Source/WebCore/dom/EventDispatchMediator.h.
1835         (WebCore):
1836         (FocusEvent):
1837         (WebCore::FocusEvent::create):
1838         (WebCore::FocusEvent::relatedTarget):
1839         (WebCore::FocusEvent::setRelatedTarget):
1840         (FocusInEventDispatchMediator):
1841         (FocusOutEventDispatchMediator):
1842         (FocusEventDispatchMediator):
1843         (BlurEventDispatchMediator):
1844         * dom/FocusEvent.idl: Added.
1845         * dom/Node.cpp:
1846         (WebCore::Node::dispatchFocusInEvent):
1847         (WebCore::Node::dispatchFocusOutEvent):
1848         * dom/UIEvent.cpp:
1849         * dom/UIEvent.h:
1850         * page/DOMWindow.idl:
1851
1852 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
1853
1854         [Texmap] Improve the way we deal with BGRA extension
1855         https://bugs.webkit.org/show_bug.cgi?id=78822
1856
1857         Swizzle the RGBA manually only in OpenGL ES, and only if the extension is not available.
1858         Pass the pixel-format of the images when updating TextureMapperTiledBackingStore.
1859
1860         Reviewed by Kenneth Rohde Christiansen.
1861
1862         No new behavior.
1863
1864         * platform/graphics/opengl/TextureMapperGL.cpp:
1865         (WebCore):
1866         (WebCore::hasExtension):
1867         (WebCore::hasBgraExtension):
1868         (WebCore::BitmapTextureGL::updateContents):
1869         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
1870         (WebCore::TextureMapperTile::updateContents):
1871         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
1872         (WebCore::TextureMapperTiledBackingStore::updateContents):
1873         * platform/graphics/texmap/TextureMapperBackingStore.h:
1874         (TextureMapperTile):
1875         (TextureMapperTiledBackingStore):
1876         (WebCore::TextureMapperTiledBackingStore::updateContents):
1877         * platform/graphics/texmap/TextureMapperLayer.cpp:
1878         (WebCore::TextureMapperLayer::updateBackingStore):
1879
1880 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
1881
1882         [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
1883         https://bugs.webkit.org/show_bug.cgi?id=78800
1884
1885         Reviewed by Kenneth Rohde Christiansen.
1886
1887         The file is not specific to Cairo and used in other ports. Move it into
1888         common space.
1889
1890         * GNUmakefile.list.am:
1891         * PlatformEfl.cmake:
1892         * Target.pri:
1893         * platform/graphics/OpenGLShims.cpp: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.cpp.
1894         (WebCore):
1895         (WebCore::openGLFunctionTable):
1896         (WebCore::getProcAddress):
1897         (WebCore::lookupOpenGLFunctionAddress):
1898         (WebCore::initializeOpenGLShims):
1899         * platform/graphics/OpenGLShims.h: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.h.
1900         (WebCore):
1901         (_OpenGLFunctionTable):
1902         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1903         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1904         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1905         * platform/graphics/opengl/TextureMapperGL.cpp:
1906         * platform/graphics/qt/Extensions3DQt.cpp:
1907         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1908
1909 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
1910
1911         [Qt][WK2] Allow opaque tiles
1912         https://bugs.webkit.org/show_bug.cgi?id=78809
1913
1914         Add a supportsAlpha property to TiledBackingStore.
1915         We invalidate all the tiles if that property changes, because the buffers need to be
1916         recreated in a different format.
1917
1918         Reviewed by Kenneth Rohde Christiansen.
1919
1920         No behavior changes.
1921
1922         * platform/graphics/TiledBackingStore.cpp:
1923         (WebCore::TiledBackingStore::TiledBackingStore):
1924         (WebCore::TiledBackingStore::setSupportsAlpha):
1925         (WebCore):
1926         * platform/graphics/TiledBackingStore.h:
1927         (TiledBackingStore):
1928         (WebCore::TiledBackingStore::supportsAlpha):
1929
1930 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
1931
1932         [soup] Move important SoupSession feature initialization to WebCore
1933         https://bugs.webkit.org/show_bug.cgi?id=68602
1934
1935         Reviewed by Martin Robinson.
1936
1937         Moved content sniffer and decoder initialization from WebKit to
1938         WebCore because network stuff will not work as expected without
1939         them. Added also out-of-the-box proxy support to WebCore.
1940
1941         No new tests required as we're just moving stuff from WebKit to
1942         WebCore.
1943
1944         * platform/network/soup/ResourceHandleSoup.cpp:
1945         (WebCore::ResourceHandle::defaultSession):
1946
1947 2012-02-16  Pavel Feldman  <pfeldman@google.com>
1948
1949         Web Inspector: remove free flow DOM editing experiment.
1950         https://bugs.webkit.org/show_bug.cgi?id=78813
1951
1952         Reviewed by Yury Semikhatsky.
1953
1954         * inspector/front-end/DOMAgent.js:
1955         (WebInspector.DOMAgent.prototype._markRevision):
1956
1957 2012-02-16  Patrick Gansterer  <paroga@webkit.org>
1958
1959         WinCE build fix after r107453.
1960
1961         * platform/FractionalLayoutUnit.h:
1962         (WebCore::FractionalLayoutUnit::isInBounds): Use fabs() instead of abs().
1963
1964 2012-02-15  Pavel Feldman  <pfeldman@google.com>
1965
1966         Web Inspector: explicitly mark undoable state from the front-end.
1967         https://bugs.webkit.org/show_bug.cgi?id=78716
1968
1969         Reviewed by Vsevolod Vlasov.
1970
1971         * inspector/InspectorCSSAgent.cpp:
1972         (WebCore::InspectorCSSAgent::toggleProperty):
1973         (WebCore::InspectorCSSAgent::setRuleSelector):
1974         (WebCore::InspectorCSSAgent::addRule):
1975         * inspector/InspectorDOMAgent.cpp:
1976         (WebCore::InspectorDOMAgent::setAttributeValue):
1977         (WebCore::InspectorDOMAgent::setAttributesAsText):
1978         (WebCore::InspectorDOMAgent::removeAttribute):
1979         (WebCore::InspectorDOMAgent::removeNode):
1980         (WebCore::InspectorDOMAgent::setNodeName):
1981         (WebCore::InspectorDOMAgent::setOuterHTML):
1982         (WebCore::InspectorDOMAgent::setNodeValue):
1983         (WebCore::InspectorDOMAgent::moveTo):
1984         * inspector/InspectorHistory.cpp:
1985         (WebCore::InspectorHistory::redo):
1986         * inspector/InspectorHistory.h:
1987         (InspectorHistory):
1988         * inspector/front-end/CSSStyleModel.js:
1989         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
1990         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1991         (WebInspector.CSSStyleModel.prototype.addRule.callback):
1992         (WebInspector.CSSStyleModel.prototype.addRule):
1993         (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
1994         (WebInspector.CSSProperty.prototype.setText.callback):
1995         (WebInspector.CSSProperty.prototype.setText):
1996         (WebInspector.CSSProperty.prototype.setDisabled.callback):
1997         (WebInspector.CSSProperty.prototype.setDisabled):
1998         (WebInspector.CSSStyleSheet.prototype.setText):
1999         * inspector/front-end/DOMAgent.js:
2000         (WebInspector.DOMAgent.prototype._markRevision):
2001         (WebInspector.DOMAgent.prototype.get markUndoableState):
2002
2003 2012-02-15  Pavel Feldman  <pfeldman@google.com>
2004
2005         Web Inspector: revert 'modification of DOM upon single click for selected nodes'.
2006         https://bugs.webkit.org/show_bug.cgi?id=78717
2007
2008         Reviewed by Vsevolod Vlasov.
2009
2010         * inspector/front-end/ElementsTreeOutline.js:
2011         (WebInspector.ElementsTreeElement.prototype.onattach):
2012
2013 2012-02-16  Pavel Feldman  <pfeldman@google.com>
2014
2015         Web Inspector: move style disable checkboxes to the left
2016         https://bugs.webkit.org/show_bug.cgi?id=78780
2017
2018         Reviewed by Vsevolod Vlasov.
2019
2020         * inspector/front-end/StylesSidebarPane.js:
2021         (WebInspector.StylePropertiesSection):
2022         (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick):
2023         (WebInspector.StylePropertyTreeElement.prototype):
2024         * inspector/front-end/elementsPanel.css:
2025         (.styles-section.matched-styles .properties):
2026         (.styles-section.matched-styles .properties li):
2027         (.styles-section .properties li.parent::before):
2028         (.styles-section .properties li.parent.expanded::before):
2029         (.styles-section.matched-styles .properties li.parent .expand-element):
2030         (.styles-section.matched-styles .properties li.parent.expanded .expand-element):
2031         (.styles-section.computed-style .properties li.parent::before):
2032         (.styles-section.computed-style .properties li.parent.expanded::before):
2033         (.styles-section.matched-styles:not(.read-only):hover .properties .enabled-button):
2034         (.styles-section.matched-styles:not(.read-only) .properties li.disabled .enabled-button):
2035         (.styles-section .properties .enabled-button):
2036         (.styles-section.matched-styles .properties ol.expanded):
2037         * inspector/front-end/treeoutline.js:
2038         (TreeElement.treeElementDoubleClicked):
2039
2040 2012-02-16  Yury Semikhatsky  <yurys@chromium.org>
2041
2042         Web Inspector: show memory counter graphics when switching to memory view
2043         https://bugs.webkit.org/show_bug.cgi?id=78808
2044
2045         Switching to memory view in timeline will display memory counters. Counter
2046         graphics know show fair data without approximations between sampling points.
2047
2048         Reviewed by Pavel Feldman.
2049
2050         * English.lproj/localizedStrings.js:
2051         * inspector/front-end/MemoryStatistics.js:
2052         (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
2053         (WebInspector.MemoryStatistics.prototype._calculateXValues):
2054         (WebInspector.MemoryStatistics.prototype._drawPolyline):
2055         * inspector/front-end/TimelinePanel.js:
2056         (WebInspector.TimelinePanel.prototype.get statusBarItems):
2057         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
2058         (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
2059         (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
2060
2061 2012-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
2062
2063         Web Inspector: [heap snapshot] It could be useful to have access to the selected heap object from the console.
2064         https://bugs.webkit.org/show_bug.cgi?id=78496
2065
2066         Reviewed by Yury Semikhatsky.
2067
2068        * bindings/js/JSInjectedScriptHostCustom.cpp:
2069         (WebCore::JSInjectedScriptHost::inspectedObject):
2070         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2071         (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
2072         * inspector/InjectedScriptHost.cpp:
2073         (WebCore::InjectedScriptHost::InjectedScriptHost):
2074         (WebCore::InjectedScriptHost::InspectableObject::get):
2075         (WebCore):
2076         (WebCore::InjectedScriptHost::addInspectedObject):
2077         (WebCore::InjectedScriptHost::clearInspectedObjects):
2078         (WebCore::InjectedScriptHost::inspectedObject):
2079         * inspector/InjectedScriptHost.h:
2080         (InspectableObject):
2081         (WebCore::InjectedScriptHost::InspectableObject::~InspectableObject):
2082         (InjectedScriptHost):
2083         * inspector/InjectedScriptHost.idl:
2084         * inspector/InjectedScriptSource.js:
2085         (.):
2086         * inspector/Inspector.json:
2087         * inspector/InspectorAgent.cpp:
2088         (WebCore::InspectorAgent::domContentLoadedEventFired):
2089         * inspector/InspectorConsoleAgent.cpp:
2090         (InspectableHeapObject):
2091         (WebCore::InspectableHeapObject::InspectableHeapObject):
2092         (WebCore::InspectableHeapObject::get):
2093         (WebCore):
2094         (WebCore::InspectorConsoleAgent::addInspectedHeapObject):
2095         * inspector/InspectorConsoleAgent.h:
2096         (InspectorConsoleAgent):
2097         * inspector/InspectorProfilerAgent.cpp:
2098         (WebCore::InspectorProfilerAgent::resetState):
2099         * inspector/PageConsoleAgent.cpp:
2100         (InspectableNode):
2101         (WebCore::InspectableNode::InspectableNode):
2102         (WebCore::InspectableNode::get):
2103         (WebCore):
2104         (WebCore::PageConsoleAgent::addInspectedNode):
2105         * inspector/front-end/DetailedHeapshotView.js:
2106         (WebInspector.DetailedHeapshotView.prototype._selectionChanged):
2107         (WebInspector.DetailedHeapshotView.prototype._inspectedObjectChanged):
2108
2109 2012-02-16  Kihong Kwon  <kihong.kwon@samsung.com>
2110
2111         Add support for unsigned long[] to idl bindings to JSC.
2112         https://bugs.webkit.org/show_bug.cgi?id=78210
2113
2114         Reviewed by Kentaro Hara.
2115
2116         Add support for unsigned long[] parameter type in idl.
2117         This patch adds support just for unsigned long[] parameter type.
2118         (support for other types of array should be done in another patch.)
2119
2120         tests added to TestObj.idl.
2121
2122         * bindings/js/JSDOMBinding.h:
2123         (WebCore::jsUnsignedLongArrayToVector):
2124         * bindings/scripts/CodeGeneratorJS.pm:
2125         (AddIncludesForType):
2126         (JSValueToNative):
2127         (NativeToJSValue):
2128         * bindings/scripts/test/JS/JSTestObj.cpp:
2129         (WebCore):
2130         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray):
2131         * bindings/scripts/test/JS/JSTestObj.h:
2132         (WebCore):
2133         * bindings/scripts/test/TestObj.idl:
2134
2135 2012-02-16  Vsevolod Vlasov  <vsevik@chromium.org>
2136
2137         Web Inspector: [InspectorIndexedDB] Add IndexedDB TreeElement to resources panel.
2138         https://bugs.webkit.org/show_bug.cgi?id=78609
2139
2140         Reviewed by Yury Semikhatsky.
2141
2142         Added IndexedDB tree element to resources panel (behind experimental setting).
2143         Test is currently disabled, since we don't run tests with experiments enabled.
2144
2145         * English.lproj/localizedStrings.js:
2146         * WebCore.gypi:
2147         * inspector/front-end/Images/indexedDB.png: Added.
2148         * inspector/front-end/Images/indexedDBIndex.png: Added.
2149         * inspector/front-end/Images/indexedDBObjectStore.png: Added.
2150         * inspector/front-end/IndexedDBModel.js:
2151         (WebInspector.IndexedDBModel):
2152         (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
2153         (WebInspector.IndexedDBModel.prototype.refreshDatabase):
2154         (WebInspector.IndexedDBModel.prototype._reset):
2155         (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
2156         (WebInspector.IndexedDBModel.prototype._originRemoved):
2157         (WebInspector.IndexedDBModel.prototype._databaseAdded):
2158         (WebInspector.IndexedDBModel.prototype._databaseRemoved):
2159         (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
2160         (WebInspector.IndexedDBModel.prototype._loadDatabase.callback):
2161         (WebInspector.IndexedDBModel.prototype._loadDatabase):
2162         (WebInspector.IndexedDBModel.Frame):
2163         (WebInspector.IndexedDBModel.DatabaseId):
2164         (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
2165         (WebInspector.IndexedDBModel.Database):
2166         (WebInspector.IndexedDBModel.Index):
2167         * inspector/front-end/ResourcesPanel.js:
2168         (WebInspector.IndexedDBTreeElement):
2169         (WebInspector.IndexedDBTreeElement.prototype.onexpand):
2170         (WebInspector.IndexedDBTreeElement.prototype._createIndexedDBModel):
2171         (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB):
2172         (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded):
2173         (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved):
2174         (WebInspector.IndexedDBTreeElement.prototype._indexedDBLoaded):
2175         (WebInspector.IndexedDBTreeElement.prototype._idbDatabaseTreeElement):
2176         (WebInspector.IDBDatabaseTreeElement):
2177         (WebInspector.IDBDatabaseTreeElement.prototype.update):
2178         (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
2179         (WebInspector.IDBObjectStoreTreeElement):
2180         (WebInspector.IDBObjectStoreTreeElement.prototype.update):
2181         (WebInspector.IDBIndexTreeElement):
2182         (WebInspector.IDBIndexTreeElement.prototype.update):
2183         * inspector/front-end/Settings.js:
2184         (WebInspector.ExperimentsSettings):
2185         * inspector/front-end/WebKit.qrc:
2186         * inspector/front-end/resourcesPanel.css:
2187         (.indexed-db-storage-tree-item .icon):
2188         (.indexed-db-object-store-storage-tree-item .icon):
2189         (.indexed-db-index-storage-tree-item .icon):
2190
2191 2012-02-15  Nikolas Zimmermann  <nzimmermann@rim.com>
2192
2193         REGRESSION (Safari 5.0.5 - 5.1): No animation on svg-wow.org/text-effects/text-effects.xhtml
2194         https://bugs.webkit.org/show_bug.cgi?id=65072
2195
2196         Reviewed by Zoltan Herczeg.
2197
2198         Fix EMS/EXS length resolving, when the target context has no renderer, eg.
2199         <text display="none" dy="1em">ABC</text>, myText.dy.baseVal.getItem(0).value()
2200         currently throws, even if <text> has a parent, we could use to resolve the length.
2201
2202         Always fall-back to parent context, to resolve EMS/EXS units, instead of ignoring it.
2203         The current behaviour stays the same, if the target element is not in the document,
2204         then we really can't resolve lengths like this.
2205
2206         Tests: svg/text/ems-display-none.svg
2207                svg/text/exs-display-none.svg
2208
2209         * svg/SVGLengthContext.cpp:
2210         (WebCore::renderStyleForLengthResolving):
2211         (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
2212         (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
2213         (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
2214         (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
2215
2216 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
2217
2218         Build fix for Qt 5 without QtWidgets.
2219
2220         Reviewed by Tor Arne Vestbø.
2221
2222         The reason why QGLContext is included in Extensions3DQt.cpp is to
2223         achieve an implicit gl.h inclusion (needed for GL_FALSE). This patch
2224         replaces the inclusion with the OpenGLShims.h inclusions, which has
2225         the necessary #ifdefs in place to pull in gl.h with Qt 5 without QtWidgets.
2226
2227         * platform/graphics/qt/Extensions3DQt.cpp:
2228
2229 2012-02-16  Shawn Singh  <shawnsingh@chromium.org>
2230
2231         [chromium] Refactor CCLayerTreeHostCommon: create helper function for complex boolean condition
2232         https://bugs.webkit.org/show_bug.cgi?id=78539
2233
2234         Reviewed by James Robinson.
2235
2236         This change should introduce no change in behavior, and its
2237         expected behavior is already covered by existing tests.
2238
2239         In calculateDrawTransformsAndVisibility, there is a complex
2240         boolean condition that indicates whether we should create a
2241         RenderSurface or not. This patch pulls out that boolean logic,
2242         and wraps it in a helper function for much better readability.
2243
2244         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2245         (WebCore::layerShouldBeSkipped):
2246         (WebCore):
2247         (WebCore::subtreeShouldRenderToSeparateSurface):
2248         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2249
2250 2012-02-16  Andrey Kosyakov  <caseq@chromium.org>
2251
2252         Web Inspector: [refactoring] move timeline overview sidebar creation to TimelineOverviewPane
2253         https://bugs.webkit.org/show_bug.cgi?id=78782
2254
2255         Reviewed by Vsevolod Vlasov.
2256
2257         * inspector/front-end/TimelineOverviewPane.js:
2258         (WebInspector.TimelineOverviewPane):
2259         (WebInspector.TimelineOverviewPane.prototype.showTimelines):
2260         (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
2261         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
2262         * inspector/front-end/TimelinePanel.js:
2263         (WebInspector.TimelinePanel):
2264         (WebInspector.TimelinePanel.prototype.sidebarResized):
2265
2266 2012-02-15  Andreas Kling  <awesomekling@apple.com>
2267
2268         Share font-family CSS values through CSSValuePool.
2269         <http://webkit.org/b/78604>
2270
2271         Reviewed by Darin Adler.
2272
2273         Cache and share FontFamilyValue instances in the per-document CSSValuePool.
2274         This reduces memory consumption by 248 kB on the Moz page cycler (64-bit)
2275         and avoids a bunch of extra work.
2276
2277         This is a regression from the recent attribute style refactoring; previously
2278         the mapped attribute declaration table would ensure that multiple 'font'
2279         elements with the same 'face' value would share the same FontFamilyValue.
2280
2281         We're not yet sharing the entire CSSValueList returned by parseFontFamily()
2282         but this is a step on the way there.
2283
2284         * css/FontFamilyValue.cpp:
2285         * css/FontFamilyValue.h:
2286
2287             Removed appendSpaceSeparated(), making FontFamilyValue immutable.
2288
2289         * css/CSSParser.cpp:
2290         (FontFamilyValueBuilder):
2291         (WebCore::FontFamilyValueBuilder::FontFamilyValueBuilder):
2292         (WebCore::FontFamilyValueBuilder::add):
2293         (WebCore::FontFamilyValueBuilder::commit):
2294         (WebCore::CSSParser::parseFontFamily):
2295
2296             Refactor parseFontFamily() to defer creation of FontFamilyValue until
2297             the whole family name is known. Added a little helper class to avoid
2298             code duplication.
2299
2300         * css/CSSValuePool.h:
2301         * css/CSSValuePool.cpp:
2302         (WebCore::CSSValuePool::createFontFamilyValue):
2303
2304             Added a FontFamilyValue cache to CSSValuePool. All values are tied to
2305             the lifetime of the pool.
2306
2307 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
2308
2309         [Qt] Move event conversion functions from WebCore to WebKit
2310         https://bugs.webkit.org/show_bug.cgi?id=78788
2311
2312         Reviewed by Kenneth Rohde Christiansen.
2313
2314         Move QtWidgets dependent mouse event constructors out of WebCore
2315         into WebKit, similar to the web event conversions of WebKit2.
2316
2317         * Target.pri:
2318         * platform/PlatformMouseEvent.h:
2319         (PlatformMouseEvent):
2320         * platform/PlatformWheelEvent.h:
2321         (PlatformWheelEvent):
2322
2323 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
2324
2325         Unreviewed prospective Qt 4.8/Mac build fix.
2326
2327         Cast the PlatformWidget from QObject* to QWidget* to gain access
2328         to QWidget methods.
2329
2330         * plugins/mac/PluginViewMac.mm:
2331         (WebCore::nativeWindowFor):
2332         (WebCore::cgHandleFor):
2333         (WebCore::topLevelOffsetFor):
2334         (WebCore::PluginView::setFocus):
2335         (WebCore::PluginView::invalidateRect):
2336
2337 2012-02-16  Roland Steiner  <rolandsteiner@chromium.org>
2338
2339         <style scoped>: Implement scoped selector matching in the slow path
2340         https://bugs.webkit.org/show_bug.cgi?id=77528
2341
2342         Added scope information to SelectorCheckingContext, SelectorChecker methods and CSSStyleSelector methods.
2343         Added matchOptions struct to CSSStyleSelector similar to SelectorCheckingContext in SelectorChecker.
2344         Adapted the calling sites.
2345
2346         Reviewed by Antti Koivisto.
2347
2348         No new tests. (extended existing tests)
2349
2350         * css/CSSStyleSelector.cpp:
2351         (RuleData):
2352         (RuleSet):
2353         (WebCore::CSSStyleSelector::determineScopingElement):
2354         (WebCore::CSSStyleSelector::collectMatchingRules):
2355         (WebCore::CSSStyleSelector::collectMatchingRulesForRegion):
2356         (WebCore::CSSStyleSelector::matchScopedAuthorRules):
2357         (WebCore::CSSStyleSelector::matchAuthorRules):
2358         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2359         * css/CSSStyleSelector.h:
2360         (CSSStyleSelector):
2361         (MatchOptions):
2362         (WebCore::CSSStyleSelector::MatchOptions::MatchOptions):
2363         * css/SelectorChecker.cpp:
2364         (WebCore::SelectorChecker::checkSelector):
2365         * css/SelectorChecker.h:
2366         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
2367         (SelectorCheckingContext):
2368         (SelectorChecker):
2369
2370 2012-02-15  Patrick Gansterer  <paroga@webkit.org>
2371
2372         Windows build fix for !ENABLE(CSS_FILTERS) after r106593.
2373
2374         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2375
2376 2012-02-15  Antti Koivisto  <antti@apple.com>
2377
2378         Move the context invalidation code out from StylePropertySet
2379         https://bugs.webkit.org/show_bug.cgi?id=78589
2380
2381         Reviewed by Ryosuke Niwa.
2382
2383         StylePropertySet should be independent of its context so that they can in the future
2384         be shared between documents. The context invalidation code should move to the CSSOM wrapper.
2385         
2386         Parent rule and parent element pointers move to the CSSOM wrapper classes. 
2387         
2388         The wrapper is responsible of invalidating the element or document style on mutation.
2389         In case of internal mutation of style attribute, StyledElement takes care of the 
2390         invalidation.
2391         
2392         The StylePropertySet will still have a pointer to the context stylesheet so the patch
2393         doesn't actually reduce memory usage. That pointer will be factored out later.
2394
2395         * css/CSSFontFaceRule.cpp:
2396         (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
2397         * css/CSSFontFaceRule.h:
2398         (WebCore::CSSFontFaceRule::style):
2399         * css/CSSPageRule.cpp:
2400         (WebCore::CSSPageRule::~CSSPageRule):
2401         * css/CSSPageRule.h:
2402         (WebCore::CSSPageRule::style):
2403         (WebCore::CSSPageRule::setDeclaration):
2404         * css/CSSParser.cpp:
2405         (WebCore::CSSParser::createStyleRule):
2406         (WebCore::CSSParser::createFontFaceRule):
2407         (WebCore::CSSParser::createPageRule):
2408         (WebCore::CSSParser::createKeyframeRule):
2409         * css/CSSStyleRule.cpp:
2410         (WebCore::CSSStyleRule::~CSSStyleRule):
2411         * css/CSSStyleRule.h:
2412         (WebCore::CSSStyleRule::style):
2413         (WebCore::CSSStyleRule::setDeclaration):
2414         * css/StylePropertySet.cpp:
2415         (PropertySetCSSStyleDeclaration):
2416         (WebCore::PropertySetCSSStyleDeclaration::parentElement):
2417         (WebCore::PropertySetCSSStyleDeclaration::clearParentRule):
2418         (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
2419         (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
2420         (RuleCSSStyleDeclaration):
2421         (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration):
2422         (WebCore::RuleCSSStyleDeclaration::parentRule):
2423         (WebCore::RuleCSSStyleDeclaration::clearParentRule):
2424         (WebCore):
2425         (InlineCSSStyleDeclaration):
2426         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
2427         (WebCore::InlineCSSStyleDeclaration::parentElement):
2428         (WebCore::InlineCSSStyleDeclaration::clearParentElement):
2429         (WebCore::StylePropertySet::StylePropertySet):
2430         (WebCore::StylePropertySet::removeShorthandProperty):
2431         (WebCore::StylePropertySet::removeProperty):
2432         (WebCore::StylePropertySet::setProperty):
2433         (WebCore::StylePropertySet::parseDeclaration):
2434         (WebCore::StylePropertySet::addParsedProperties):
2435         (WebCore::StylePropertySet::addParsedProperty):
2436         (WebCore::StylePropertySet::merge):
2437         (WebCore::StylePropertySet::removePropertiesInSet):
2438         (WebCore::StylePropertySet::copy):
2439         (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
2440         (WebCore::StylePropertySet::ensureRuleCSSStyleDeclaration):
2441         (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
2442         (WebCore::StylePropertySet::clearParentRule):
2443         (WebCore::StylePropertySet::clearParentElement):
2444         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
2445         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
2446         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
2447         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
2448         (WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc):
2449         (WebCore::InlineCSSStyleDeclaration::setNeedsStyleRecalc):
2450         * css/StylePropertySet.h:
2451         (WebCore::StylePropertySet::create):
2452         (StylePropertySet):
2453         (WebCore::StylePropertySet::useStrictParsing):
2454         (WebCore::StylePropertySet::contextStyleSheet):
2455         (WebCore::StylePropertySet::setContextStyleSheet):
2456         * css/WebKitCSSKeyframeRule.cpp:
2457         (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
2458         (WebCore::WebKitCSSKeyframeRule::setDeclaration):
2459         * css/WebKitCSSKeyframeRule.h:
2460         (WebCore::WebKitCSSKeyframeRule::style):
2461         * dom/ElementAttributeData.cpp:
2462         (WebCore::ElementAttributeData::ensureInlineStyleDecl):
2463         (WebCore::ElementAttributeData::destroyInlineStyleDecl):
2464         * dom/ElementAttributeData.h:
2465         (ElementAttributeData):
2466         * dom/StyledElement.cpp:
2467         (WebCore::StyledElement::insertedIntoDocument):
2468         (WebCore):
2469         (WebCore::StyledElement::removedFromDocument):
2470         (WebCore::StyledElement::parseAttribute):
2471         (WebCore::StyledElement::inlineStyleChanged):
2472         (WebCore::StyledElement::setInlineStyleProperty):
2473         (WebCore::StyledElement::removeInlineStyleProperty):
2474         (WebCore::StyledElement::updateAttributeStyle):
2475         * dom/StyledElement.h:
2476         (StyledElement):
2477         (WebCore::StyledElement::destroyInlineStyleDecl):
2478         * editing/ApplyStyleCommand.cpp:
2479         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2480         * editing/DeleteButtonController.cpp:
2481         (WebCore::DeleteButtonController::createDeletionUI):
2482         (WebCore::DeleteButtonController::show):
2483         (WebCore::DeleteButtonController::hide):
2484         * editing/Editor.cpp:
2485         (WebCore::Editor::applyEditingStyleToElement):
2486         * editing/RemoveCSSPropertyCommand.cpp:
2487         (WebCore::RemoveCSSPropertyCommand::doApply):
2488         (WebCore::RemoveCSSPropertyCommand::doUnapply):
2489         * editing/ReplaceSelectionCommand.cpp:
2490         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2491         * html/ColorInputType.cpp:
2492         (WebCore::ColorInputType::updateColorSwatch):
2493         * html/HTMLTextFormControlElement.cpp:
2494         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
2495         * html/ImageDocument.cpp:
2496         (WebCore::ImageDocument::resizeImageToFit):
2497         (WebCore::ImageDocument::restoreImageSize):
2498         (WebCore::ImageDocument::windowSizeChanged):
2499         * html/ValidationMessage.cpp:
2500         (WebCore::adjustBubblePosition):
2501         (WebCore::ValidationMessage::buildBubbleTree):
2502         * html/shadow/MediaControlElements.cpp:
2503         (WebCore::MediaControlElement::show):
2504         (WebCore::MediaControlElement::hide):
2505         (WebCore::MediaControlPanelElement::setPosition):
2506         (WebCore::MediaControlPanelElement::resetPosition):
2507         (WebCore::MediaControlPanelElement::makeOpaque):
2508         (WebCore::MediaControlPanelElement::makeTransparent):
2509         (WebCore::MediaControlInputElement::show):
2510         (WebCore::MediaControlInputElement::hide):
2511         (WebCore::MediaControlTextTrackContainerElement::updateSizes):
2512         * html/shadow/MeterShadowElement.cpp:
2513         (WebCore::MeterValueElement::setWidthPercentage):
2514         * html/shadow/ProgressShadowElement.cpp:
2515         (WebCore::ProgressValueElement::setWidthPercentage):
2516         * html/shadow/SliderThumbElement.cpp:
2517         (WebCore::TrackLimiterElement::create):
2518         * rendering/RenderLayer.cpp:
2519         (WebCore::RenderLayer::resize):
2520         * rendering/RenderTextControlSingleLine.cpp:
2521         (WebCore::RenderTextControlSingleLine::styleDidChange):
2522         * svg/SVGFontFaceElement.cpp:
2523         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
2524         (WebCore::SVGFontFaceElement::insertedIntoDocument):
2525         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
2526
2527 2012-02-15  Daniel Cheng  <dcheng@chromium.org>
2528
2529         dataTransfer.types (HTML5 drag & drop) should return DOMStringList
2530         https://bugs.webkit.org/show_bug.cgi?id=30416
2531
2532         Reviewed by Eric Seidel.
2533
2534         This change breaks backwards compatibility; however, since Firefox only supported
2535         event.dataTransfer.types.contains, sites already needed to check whether to use contains or
2536         indexOf. Therefore, the net compatibility effect of this change should be minimal.
2537
2538         Test: fast/events/drag-dataTransfer-live-attributes.html
2539
2540         * bindings/js/JSClipboardCustom.cpp:
2541         (WebCore):
2542         * bindings/v8/custom/V8ClipboardCustom.cpp:
2543         * dom/Clipboard.cpp:
2544         (WebCore::Clipboard::hasStringOfType):
2545         * dom/Clipboard.h:
2546         (WebCore):
2547         (Clipboard):
2548         * dom/Clipboard.idl:
2549         * platform/blackberry/ClipboardBlackBerry.cpp:
2550         (WebCore::ClipboardBlackBerry::types):
2551         * platform/blackberry/ClipboardBlackBerry.h:
2552         (ClipboardBlackBerry):
2553         * platform/chromium/ChromiumDataObject.cpp:
2554         (WebCore::ChromiumDataObject::types):
2555         * platform/chromium/ChromiumDataObject.h:
2556         (ChromiumDataObject):
2557         * platform/chromium/ClipboardChromium.cpp:
2558         (WebCore::ClipboardChromium::types):
2559         (WebCore::ClipboardChromium::mayUpdateItems):
2560         * platform/chromium/ClipboardChromium.h:
2561         (ClipboardChromium):
2562         * platform/chromium/DragDataChromium.cpp:
2563         (WebCore::containsHTML):
2564         (WebCore::DragData::containsURL):
2565         (WebCore::DragData::asURL):
2566         (WebCore::DragData::containsPlainText):
2567         (WebCore::DragData::canSmartReplace):
2568         (WebCore::DragData::asFragment):
2569         * platform/efl/ClipboardEfl.cpp:
2570         (WebCore::ClipboardEfl::types):
2571         * platform/efl/ClipboardEfl.h:
2572         (ClipboardEfl):
2573         * platform/gtk/ClipboardGtk.cpp:
2574         (WebCore::ClipboardGtk::types):
2575         * platform/gtk/ClipboardGtk.h:
2576         (ClipboardGtk):
2577         * platform/mac/ClipboardMac.h:
2578         (ClipboardMac):
2579         * platform/mac/ClipboardMac.mm:
2580         (WebCore::addHTMLClipboardTypesForCocoaType):
2581         (WebCore::ClipboardMac::types):
2582         * platform/qt/ClipboardQt.cpp:
2583         (WebCore::ClipboardQt::types):
2584         * platform/qt/ClipboardQt.h:
2585         (ClipboardQt):
2586         * platform/win/ClipboardWin.cpp:
2587         (WebCore::addMimeTypesForFormat):
2588         (WebCore::ClipboardWin::types):
2589         * platform/win/ClipboardWin.h:
2590         (ClipboardWin):
2591         * platform/wx/ClipboardWx.cpp:
2592         (WebCore::ClipboardWx::types):
2593         * platform/wx/ClipboardWx.h:
2594         (ClipboardWx):
2595
2596 2012-02-15  Bear Travis  <betravis@adobe.com>
2597
2598         Repaint issues on changing 'viewBox' of inner SVG
2599         https://bugs.webkit.org/show_bug.cgi?id=77903
2600
2601         Reviewed by Nikolas Zimmermann.
2602
2603         Do not update the child viewbox/viewport transform to its parent
2604         coordinate system until after layout has stored the old bounds for
2605         repainting purposes.
2606         
2607         Test: svg/repaint/inner-svg-change-viewBox-contract.svg
2608
2609         * rendering/svg/RenderSVGViewportContainer.cpp:
2610         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
2611         (WebCore::RenderSVGViewportContainer::calcViewport):
2612         (WebCore):
2613         (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
2614         (WebCore::RenderSVGViewportContainer::localToParentTransform):
2615         * rendering/svg/RenderSVGViewportContainer.h:
2616         (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
2617         (RenderSVGViewportContainer):
2618         * svg/SVGSVGElement.cpp:
2619         (WebCore::SVGSVGElement::svgAttributeChanged):
2620
2621 2012-02-15  Bear Travis  <betravis@adobe.com>
2622
2623         Repaint issues on changing 'viewBox' of inner SVG
2624         https://bugs.webkit.org/show_bug.cgi?id=77903
2625
2626         Reviewed by Nikolas Zimmermann.
2627
2628         Do not update the child viewbox/viewport transform to its parent
2629         coordinate system until after layout has stored the old bounds for
2630         repainting purposes.
2631         
2632         Test: svg/repaint/inner-svg-change-viewBox-contract.svg
2633
2634         * rendering/svg/RenderSVGViewportContainer.cpp:
2635         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
2636         (WebCore::RenderSVGViewportContainer::calcViewport):
2637         (WebCore):
2638         (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
2639         (WebCore::RenderSVGViewportContainer::localToParentTransform):
2640         * rendering/svg/RenderSVGViewportContainer.h:
2641         (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
2642         (RenderSVGViewportContainer):
2643         * svg/SVGSVGElement.cpp:
2644         (WebCore::SVGSVGElement::svgAttributeChanged):
2645
2646 2012-02-15  Daniel Cheng  <dcheng@chromium.org>
2647
2648         dataTransfer.types (HTML5 drag & drop) should return DOMStringList
2649         https://bugs.webkit.org/show_bug.cgi?id=30416
2650
2651         Reviewed by Eric Seidel.
2652
2653         This change breaks backwards compatibility; however, since Firefox only supported
2654         event.dataTransfer.types.contains, sites already needed to check whether to use contains or
2655         indexOf. Therefore, the net compatibility effect of this change should be minimal.
2656
2657         Test: fast/events/drag-dataTransfer-live-attributes.html
2658
2659         * bindings/js/JSClipboardCustom.cpp:
2660         (WebCore):
2661         * bindings/v8/custom/V8ClipboardCustom.cpp:
2662         * dom/Clipboard.cpp:
2663         (WebCore::Clipboard::hasStringOfType):
2664         * dom/Clipboard.h:
2665         (WebCore):
2666         (Clipboard):
2667         * dom/Clipboard.idl:
2668         * platform/blackberry/ClipboardBlackBerry.cpp:
2669         (WebCore::ClipboardBlackBerry::types):
2670         * platform/blackberry/ClipboardBlackBerry.h:
2671         (ClipboardBlackBerry):
2672         * platform/chromium/ChromiumDataObject.cpp:
2673         (WebCore::ChromiumDataObject::types):
2674         * platform/chromium/ChromiumDataObject.h:
2675         (ChromiumDataObject):
2676         * platform/chromium/ClipboardChromium.cpp:
2677         (WebCore::ClipboardChromium::types):
2678         (WebCore::ClipboardChromium::mayUpdateItems):
2679         * platform/chromium/ClipboardChromium.h:
2680         (ClipboardChromium):
2681         * platform/chromium/DragDataChromium.cpp:
2682         (WebCore::containsHTML):
2683         (WebCore::DragData::containsURL):
2684         (WebCore::DragData::asURL):
2685         (WebCore::DragData::containsPlainText):
2686         (WebCore::DragData::canSmartReplace):
2687         (WebCore::DragData::asFragment):
2688         * platform/efl/ClipboardEfl.cpp:
2689         (WebCore::ClipboardEfl::types):
2690         * platform/efl/ClipboardEfl.h:
2691         (ClipboardEfl):
2692         * platform/gtk/ClipboardGtk.cpp:
2693         (WebCore::ClipboardGtk::types):
2694         * platform/gtk/ClipboardGtk.h:
2695         (ClipboardGtk):
2696         * platform/mac/ClipboardMac.h:
2697         (ClipboardMac):
2698         * platform/mac/ClipboardMac.mm:
2699         (WebCore::addHTMLClipboardTypesForCocoaType):
2700         (WebCore::ClipboardMac::types):
2701         * platform/qt/ClipboardQt.cpp:
2702         (WebCore::ClipboardQt::types):
2703         * platform/qt/ClipboardQt.h:
2704         (ClipboardQt):
2705         * platform/win/ClipboardWin.cpp:
2706         (WebCore::addMimeTypesForFormat):
2707         (WebCore::ClipboardWin::types):
2708         * platform/win/ClipboardWin.h:
2709         (ClipboardWin):
2710         * platform/wx/ClipboardWx.cpp:
2711         (WebCore::ClipboardWx::types):
2712         * platform/wx/ClipboardWx.h:
2713         (ClipboardWx):
2714
2715 2012-02-15  Bear Travis  <betravis@adobe.com>
2716
2717         Repaint issues on changing 'viewBox' of inner SVG
2718         https://bugs.webkit.org/show_bug.cgi?id=77903
2719
2720         Reviewed by Nikolas Zimmermann.
2721
2722         Do not update the child viewbox/viewport transform to its parent
2723         coordinate system until after layout has stored the old bounds for
2724         repainting purposes.
2725         
2726         Test: svg/repaint/inner-svg-change-viewBox-contract.svg
2727
2728         * rendering/svg/RenderSVGViewportContainer.cpp:
2729         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
2730         (WebCore::RenderSVGViewportContainer::calcViewport):
2731         (WebCore):
2732         (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
2733         (WebCore::RenderSVGViewportContainer::localToParentTransform):
2734         * rendering/svg/RenderSVGViewportContainer.h:
2735         (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
2736         (RenderSVGViewportContainer):
2737         * svg/SVGSVGElement.cpp:
2738         (WebCore::SVGSVGElement::svgAttributeChanged):
2739
2740 2012-02-15  Anders Carlsson  <andersca@apple.com>
2741
2742         Fix unused parameter warnings.
2743
2744         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
2745         (-[WebTileCacheLayer setContentsScale:]):
2746
2747 2012-02-15  Emil A Eklund  <eae@chromium.org>
2748
2749         Convert RenderFrameSet to LayoutUnits in preparation for turning on subpixel layout
2750         https://bugs.webkit.org/show_bug.cgi?id=78526
2751
2752         Reviewed by Eric Seidel.
2753
2754         Revert paintColumnBorder and paintRowBorder to IntRect and pixel snap in
2755         paint before calling them. This way the rounding logic is contained in a
2756         single place (in paint).
2757
2758         No new tests, no new functionality.
2759
2760         * rendering/RenderFrameSet.cpp:
2761         (WebCore::RenderFrameSet::paintColumnBorder):
2762         (WebCore::RenderFrameSet::paintRowBorder):
2763         (WebCore::RenderFrameSet::paint):
2764         (WebCore::RenderFrameSet::getCursor):
2765         * rendering/RenderFrameSet.h:
2766         (RenderFrameSet):
2767
2768 2012-02-15  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
2769
2770         Add FractionalLayoutPoint/Size/Rect for sub-pixel layout
2771         https://bugs.webkit.org/show_bug.cgi?id=76571
2772
2773         Reviewed by Eric Seidel.
2774
2775         Add fixed point versions of the Point, Size and Rect classes using
2776         the new FractionalLayoutPoint type and.
2777
2778         FractionalLayoutPoint, FractionalLayoutSize and FractionalLayoutRect are
2779         Point, Size and Rect implementations respectively using this new type.
2780
2781         No new tests.
2782
2783         * CMakeLists.txt:
2784         * GNUmakefile.list.am:
2785         * WebCore.gypi:
2786         * WebCore.order:
2787         * WebCore.vcproj/WebCore.vcproj:
2788         * WebCore.xcodeproj/project.pbxproj:
2789         * platform/FractionalLayoutUnit.h:
2790         Fixed a couple of typos and signed/unsigned bugs.
2791
2792         * platform/graphics/FloatPoint.cpp:
2793         (WebCore::FloatPoint::FloatPoint):
2794         Add explicit FloatPoint(FractionalLayoutPoint) constructor.
2795         
2796         (WebCore::FloatPoint::move):
2797         Add move(FractionalLayoutSize) implementation.
2798         
2799         (WebCore::FloatPoint::moveBy):
2800         Add moveBy(FractionalLayoutPoint) implementation.
2801
2802         * platform/graphics/FloatPoint.h:
2803         * platform/graphics/FloatRect.cpp:
2804         (WebCore::FloatRect::FloatRect):
2805         Add explicit FloatRectFractionalLayoutRect) constructor.
2806         
2807         * platform/graphics/FloatRect.h:
2808         (WebCore):
2809         (FloatRect):
2810         * platform/graphics/FloatSize.cpp:
2811         (WebCore::FloatSize::FloatSize):
2812         Add explicit FloatSize(FractionalLayoutSize) constructor.
2813
2814         * platform/graphics/FloatSize.h:
2815         * platform/graphics/FractionalLayoutPoint.h: Added.
2816         * platform/graphics/FractionalLayoutRect.cpp: Added.
2817         * platform/graphics/FractionalLayoutRect.h: Added.
2818         * platform/graphics/FractionalLayoutSize.cpp: Added.
2819         * platform/graphics/FractionalLayoutSize.h: Added.
2820         * platform/graphics/IntRect.cpp:
2821         (WebCore::IntRect::IntRect):
2822         Add explicit IntRect(FractionalLayoutRect) constructor.
2823
2824         * platform/graphics/IntRect.h:
2825
2826 2012-02-15  Kentaro Hara  <haraken@chromium.org>
2827
2828         [Mac] PasteboardMac.mm build fails
2829         https://bugs.webkit.org/show_bug.cgi?id=78655
2830
2831         Reviewed by Enrica Casucci.
2832
2833         This patch fixes the code to make a plain text for pasted file names.
2834         The code should return a string of concatenated file names.
2835
2836         Test: editing/pasteboard/drag-files-to-editable-element.html
2837
2838         * platform/mac/PasteboardMac.mm:
2839         (WebCore::Pasteboard::plainText):
2840
2841 2012-02-15  Anders Carlsson  <andersca@apple.com>
2842
2843         Another attempt at fixing the Snow Leopard build.
2844
2845         * platform/graphics/ca/mac/TileCache.mm:
2846         (WebCore::TileCache::setContentsScale):
2847
2848 2012-02-15  Pablo Flouret  <pablof@motorola.com>
2849
2850         Add support for the translate attribute in html elements.
2851         https://bugs.webkit.org/show_bug.cgi?id=78751
2852
2853         Reviewed by Adam Barth.
2854
2855         The translate attribute is used to specify whether an element's
2856         attribute values and the values of its Text node children are to be
2857         translated when the page is localized, or whether to leave them
2858         unchanged.
2859
2860         Details at http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#attr-translate
2861
2862         Test: fast/dom/HTMLElement/translate.html
2863
2864         * html/HTMLAttributeNames.in:
2865         * html/HTMLElement.cpp:
2866         (WebCore::HTMLElement::translateAttributeMode):
2867         (WebCore):
2868         (WebCore::HTMLElement::translate):
2869         (WebCore::HTMLElement::setTranslate):
2870         * html/HTMLElement.h:
2871         (HTMLElement):
2872         * html/HTMLElement.idl:
2873
2874 2012-02-15  Sami Kyostila  <skyostil@google.com>
2875
2876         Add -webkit-overflow-scrolling CSS property
2877         https://bugs.webkit.org/show_bug.cgi?id=78664
2878
2879         Reviewed by Eric Seidel.
2880
2881         Add a CSS property indicating that an element with overflow scrolling
2882         should follow the platform's behavior for touch scrollable user
2883         interface objects. For instance, this property could enable momentum
2884         scrolling for the element if that is the platform convention.
2885
2886         The property has two possible values: auto (default) and touch. The
2887         former does not alter overflow scrolling behavior, while the latter
2888         activates touch scrolling.
2889
2890         As a side effect, enabling touch scrolling also causes an element to
2891         gain a stacking context. This is to allow the implementation to promote
2892         the scrolling contents into a render layer, which can be translated more
2893         efficiently.
2894
2895         This property was introduced with iOS 5 WebKit. Another implementation
2896         is in Chrome for Android.
2897
2898         Test: platform/chromium/compositing/overflow/overflow-scrolling-touch-stacking-context.html
2899
2900         * css/CSSComputedStyleDeclaration.cpp:
2901         (WebCore):
2902         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2903         * css/CSSParser.cpp:
2904         (WebCore::CSSParser::parseValue):
2905         * css/CSSProperty.cpp:
2906         (WebCore::CSSProperty::isInheritedProperty):
2907         * css/CSSPropertyNames.in:
2908         * css/CSSStyleSelector.cpp:
2909         (WebCore::CSSStyleSelector::adjustRenderStyle):
2910         (WebCore::CSSStyleSelector::applyProperty):
2911         * css/CSSValueKeywords.in:
2912         * rendering/style/RenderStyle.h:
2913         * rendering/style/StyleRareInheritedData.cpp:
2914         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2915         (WebCore::StyleRareInheritedData::operator==):
2916         * rendering/style/StyleRareInheritedData.h:
2917         (StyleRareInheritedData):
2918
2919 2012-02-15  Levi Weintraub  <leviw@chromium.org>
2920
2921         Add zeroLayoutUnit constant.
2922         https://bugs.webkit.org/show_bug.cgi?id=78747
2923
2924         Reviewed by Eric Seidel.
2925
2926         Converting call sites where LayoutUnits and raw zeros are in ternary operations
2927         and templatized function calls (like std::max and min) to use a new zeroLayoutUnit
2928         constant instead of the raw zero.
2929
2930         No new tests. No change in behavior.
2931
2932         * rendering/InlineFlowBox.cpp:
2933         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2934         (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
2935         (WebCore::InlineFlowBox::paintFillLayer):
2936         (WebCore::InlineFlowBox::paintBoxDecorations):
2937         (WebCore::InlineFlowBox::paintMask):
2938         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
2939         * rendering/LayoutTypes.h:
2940         (WebCore):
2941         * rendering/RenderBlock.cpp:
2942         (WebCore::RenderBlock::MarginInfo::MarginInfo):
2943         (WebCore::RenderBlock::adjustFloatingBlock):
2944         (WebCore::RenderBlock::paintColumnRules):
2945         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
2946         (WebCore::RenderBlock::getClearDelta):
2947         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2948         (WebCore::getHeightForLineCount):
2949         (WebCore::RenderBlock::adjustForUnsplittableChild):
2950         * rendering/RenderBlock.h:
2951         (WebCore::RenderBlock::paginationStrut):
2952         (WebCore::RenderBlock::pageLogicalOffset):
2953         * rendering/RenderBlockLineLayout.cpp:
2954         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
2955         (WebCore::RenderBlock::addOverflowFromInlineChildren):
2956         * rendering/RenderBox.cpp:
2957         (WebCore::RenderBox::positionForPoint):
2958         * rendering/RenderBox.h:
2959         (WebCore::RenderBox::minYVisualOverflow):
2960         (WebCore::RenderBox::minXVisualOverflow):
2961         (RenderBox):
2962         * rendering/RenderBoxModelObject.cpp:
2963         (WebCore::RenderBoxModelObject::offsetLeft):
2964         (WebCore::RenderBoxModelObject::offsetTop):
2965         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2966         * rendering/RenderFieldset.cpp:
2967         (WebCore::RenderFieldset::paintBoxDecorations):
2968         * rendering/RenderFileUploadControl.cpp:
2969         (WebCore::nodeWidth):
2970         * rendering/RenderFlowThread.cpp:
2971         (WebCore::RenderFlowThread::layout):
2972         (WebCore::RenderFlowThread::computeLogicalWidth):
2973         * rendering/RenderInline.cpp:
2974         (WebCore::RenderInline::paintOutlineForLine):
2975         * rendering/RenderLayer.cpp:
2976         (WebCore::RenderLayer::resize):
2977         * rendering/RenderListBox.cpp:
2978         (WebCore::RenderListBox::listIndexAtOffset):
2979         (WebCore::RenderListBox::verticalScrollbarWidth):
2980         * rendering/RenderMarquee.cpp:
2981         (WebCore::RenderMarquee::computePosition):
2982         * rendering/RenderObject.cpp:
2983         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2984         * rendering/RenderReplaced.cpp:
2985         (WebCore::RenderReplaced::computePreferredLogicalWidths):
2986         * rendering/RenderTable.cpp:
2987         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
2988         (WebCore::RenderTable::layout):
2989         * rendering/RenderTable.h:
2990         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
2991         * rendering/mathml/RenderMathMLSubSup.cpp:
2992         (WebCore::RenderMathMLSubSup::layout):
2993
2994 2012-02-15  Alexey Proskuryakov  <ap@apple.com>
2995
2996         Crash after trying to use FileReader in a document with null origin string
2997         https://bugs.webkit.org/show_bug.cgi?id=78649
2998
2999         Reviewed by Enrica Casucci.
3000
3001         Test: fast/files/null-origin-string.html
3002
3003         * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::~FileReaderLoader):
3004         HashMaps don't like empty keys, and they don't like removing keys that have never been added.
3005
3006 2012-02-15  Anders Carlsson  <andersca@apple.com>
3007
3008         Attempt to fix the Snow Leopard build.
3009
3010         * platform/graphics/ca/mac/TileCache.mm:
3011         (WebCore::TileCache::createTileLayer):
3012         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
3013         (-[WebTileCacheLayer setContentsScale:]):
3014
3015 2012-02-15  Dan Bernstein  <mitz@apple.com>
3016
3017         REGRESSION (r107836): fast/box-shadow/spread.html and fast/writing-mode/box-shadow-*.html tests failing
3018         https://bugs.webkit.org/show_bug.cgi?id=78759
3019
3020         Reviewed by Simon Fraser.
3021
3022         * rendering/InlineFlowBox.cpp:
3023         (WebCore::InlineFlowBox::boxShadowCanBeAppliedToBackground): Added. Returns false if
3024         paintFillLayer() would push a clip before painting the layer, thus preventing it from casting
3025         its own shadow.
3026         (WebCore::InlineFlowBox::paintBoxDecorations): Pass this as an additional parameter to
3027         boxShadowShouldBeAppliedToBackground().
3028         * rendering/InlineFlowBox.h:
3029         * rendering/RenderBoxModelObject.cpp:
3030         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Pass the InlineFlowBox along to
3031         boxShadowShouldBeAppliedToBackground().
3032         (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Added an InlineFlowBox
3033         parameter. If non-0, check boxShadowCanBeAppliedToBackground(). Also check for shadow spread,
3034         and for the case of border radius with a background image, in which paintFillLayerExtended uses
3035         clipping. Finally, fixed a bug in the for() loop for finding the last background layer which
3036         was noticed by Tony Chang.
3037         * rendering/RenderBoxModelObject.h:
3038         * rendering/RenderTableCell.cpp:
3039         (WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground):
3040         * rendering/RenderTableCell.h:
3041
3042 2012-02-15  Erik Arvidsson  <arv@chromium.org>
3043
3044         Expose Window constructor
3045         https://bugs.webkit.org/show_bug.cgi?id=78722
3046
3047         Reviewed by Adam Barth.
3048
3049         Test: fast/dom/Window/window-constructor-presence.html
3050
3051         * page/DOMWindow.idl:
3052
3053 2012-02-15  Kelly Norton  <knorton@google.com>
3054
3055         fill-opacity does not render properly only on Chromium Mac.
3056         https://bugs.webkit.org/show_bug.cgi?id=78624
3057
3058         Reviewed by Stephen White.
3059
3060         Test: svg/text/text-fill-opacity.svg
3061
3062         * platform/graphics/skia/FontSkia.cpp:
3063         (WebCore::Font::drawGlyphs):
3064
3065 2012-02-15  Leo Yang  <leo.yang@torchmobile.com.cn>
3066
3067         [BlackBerry] Upstream WebPageClient.h
3068         https://bugs.webkit.org/show_bug.cgi?id=78660
3069
3070         Reviewed by Antonio Gomes.
3071
3072         Header inclusion fix, no new test.
3073
3074         * plugins/blackberry/PluginViewPrivateBlackBerry.h:
3075         Add #include <BlackBerryPlatformIntRectRegion.h>
3076         and #include <BlackBerryPlatformGraphics.h> because they
3077         are being removed from WebKit/blackberry/Api/WebPageClient.h.
3078
3079 2012-02-15  Tim Horton  <timothy_horton@apple.com>
3080
3081         REGRESSION(r105057): Dynamically changing <tspan> offsets is broken
3082         https://bugs.webkit.org/show_bug.cgi?id=78385
3083         <rdar://problem/10832932>
3084
3085         Reviewed by Simon Fraser.
3086
3087         Don't short-circuit buildLayoutAttributesIfNeeded if m_textPositions is already full;
3088         we can't skip rebuilding the layout attributes, just walking the tree to acquire the
3089         positioning lists (invalidation of positioning lists is already covered by textDOMChanged).
3090
3091         Test: svg/text/tspan-dynamic-positioning.svg
3092
3093         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
3094         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesIfNeeded):
3095
3096 2012-02-15  Tommy Widenflycht  <tommyw@google.com>
3097
3098         MediaStream API: Removing SecurityContext from the embedder API
3099         https://bugs.webkit.org/show_bug.cgi?id=73816
3100
3101         Reviewed by Darin Fisher.
3102
3103         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
3104
3105         * mediastream/PeerConnection.cpp:
3106         (WebCore::PeerConnection::PeerConnection):
3107         * platform/mediastream/PeerConnectionHandler.h:
3108         (WebCore):
3109         (PeerConnectionHandler):
3110         * platform/mediastream/gstreamer/PeerConnectionHandler.cpp:
3111         (WebCore::PeerConnectionHandler::create):
3112         (WebCore::PeerConnectionHandler::PeerConnectionHandler):
3113
3114 2012-02-15  Nate Chapin  <japhet@chromium.org>
3115
3116         Fix test regressons from r107672.
3117         https://bugs.webkit.org/show_bug.cgi?id=76564
3118
3119         Move setting CachedRawResource::m_identifer from
3120         data() to setResponse(). WorkerScriptLoader depends
3121         on the identifier being set correctly during setResponse()
3122         in order to correctly mark itself as a ScriptResource in
3123         the inspector.
3124
3125         Reviewed by Adam Barth.
3126
3127         Fixes several worker script loading tests.
3128
3129         * loader/cache/CachedRawResource.cpp:
3130         (WebCore::CachedRawResource::data):
3131         (WebCore::CachedRawResource::setResponse):
3132
3133 2012-02-15  Enrica Casucci  <enrica@apple.com>
3134
3135         REGRESSION: "Copy image" fails...copies image URL instead.
3136         https://bugs.webkit.org/show_bug.cgi?id=78723
3137         <rdar://problem/10869104>
3138
3139         During the refactoring of the Pasteboard class some code was lost.
3140         When placing an NSImage in the NSPasteboard as NSTIFFPboardType, we need
3141         to use the its TIFF representation.
3142         
3143         Reviewed by Andy Estes.
3144
3145         * platform/mac/PasteboardMac.mm:
3146         (WebCore::Pasteboard::writeImage):
3147
3148 2012-01-31  Raphael Kubo da Costa  <kubo@profusion.mobi>
3149
3150         [soup] Add support for multiple SoupSessions.
3151         https://bugs.webkit.org/show_bug.cgi?id=77341
3152
3153         Reviewed by Gustavo Noronha Silva.
3154
3155         Make the libsoup network backend support multiple SoupSessions. This is
3156         accomplished by using the NetworkingContext classes, which now have a
3157         `soupSession()' method when the libsoup backend is being used.
3158
3159         libsoup's ResourceHandle implementation now retrieves the SoupSession
3160         via the NetworkingContext it receives instead of relying on
3161         defaultSession(). defaultSession() is still used when a null
3162         NetworkingContext is passed to ResourceHandle::start (for example, via
3163         webkit_download_start).
3164
3165         The CookieJar implementation retrieves the SoupSession from the
3166         NetworkingContext as much as possible as well -- the functions used by
3167         WebKit2 could not be converted, though, as they seem to assume there is
3168         only one shared cookie jar.
3169
3170         No new tests, covered by the existing ones.
3171
3172         * platform/network/NetworkingContext.h:
3173         (NetworkingContext): Add soupSession() method if USE(SOUP) is set.
3174         * platform/network/ResourceHandleInternal.h:
3175         (ResourceHandleInternal):
3176         * platform/network/soup/CookieJarSoup.cpp:
3177         (WebCore::cookieJarForDocument):
3178         (WebCore):
3179         (WebCore::defaultCookieJar):
3180         (WebCore::setCookies):
3181         (WebCore::cookies):
3182         (WebCore::cookieRequestHeaderFieldValue):
3183         (WebCore::cookiesEnabled):
3184         * platform/network/soup/ResourceHandleSoup.cpp:
3185         (WebCore::ResourceHandleInternal::soupSession): Add method to retrieve
3186         a SoupSession from a NetworkingContext and fallback to defaultSession()
3187         if there's no valid NetworkingContext.
3188         (WebCore):
3189         (WebCore::ensureSessionIsInitialized): Only change or use the default
3190         cookie jar if the SoupSession being changed is the default one.
3191         (WebCore::sendRequestCallback):
3192         (WebCore::startHTTPRequest):
3193         (WebCore::ResourceHandle::cancel):
3194         (WebCore::startNonHTTPRequest):
3195
3196 2012-02-15  Anders Carlsson  <andersca@apple.com>
3197
3198         The TileCache object should be deallocated on the main thread
3199         https://bugs.webkit.org/show_bug.cgi?id=78757
3200         <rdar://problem/10866161>
3201
3202         Reviewed by Sam Weinig.
3203
3204         Since the WebTileCacheLayer can be deleted on the scrolling thread, we need to make sure that the underlying
3205         TileCache object is actually destroyed on the main thread.
3206
3207         * platform/graphics/ca/mac/TileCache.h:
3208         * platform/graphics/ca/mac/TileCache.mm:
3209         (WebCore::TileCache::~TileCache):
3210         Assert that this object is being destroyed on the main thread.
3211
3212         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
3213         (-[WebTileCacheLayer dealloc]):
3214         If dealloc is being called from a non-main thread, make sure to delete the tile cache object on the main thread.
3215
3216 2012-02-15  Anders Carlsson  <andersca@apple.com>
3217
3218         Scrolling Coordinator must be deleted on the main thread
3219         https://bugs.webkit.org/show_bug.cgi?id=78756
3220         <rdar://problem/10866167>
3221
3222         Reviewed by Sam Weinig.
3223
3224         ScrollingTree::invalidate will finish breaking the cycle between the scrolling coordinator and the
3225         scrolling tree by dereffing the scrolling coordinator. We need to make sure that this happens on the main
3226         thread because the scrolling coordinator expects to be destroyed from there.
3227
3228         * page/scrolling/ScrollingTree.cpp:
3229         (WebCore::derefScrollingCoordinator):
3230         (WebCore):
3231         (WebCore::ScrollingTree::invalidate):
3232
3233 2012-02-15  Anders Carlsson  <andersca@apple.com>
3234
3235         Scrolling coordinator should handle pages being restored from the page cache
3236         https://bugs.webkit.org/show_bug.cgi?id=78753
3237         <rdar://problem/10866171>
3238
3239         Reviewed by Sam Weinig.
3240
3241         Replace ScrollingCoordinator::frameViewScrollLayerDidChange with a new member function,
3242         ScrollingCoordinator::frameViewRootLayerDidChange which is called whenever the root layer
3243         of the frame view changes (which happens on back/forward navigation as well).
3244
3245         In this function, reset the scrolling tree state from the frame view.
3246
3247         * page/scrolling/ScrollingCoordinator.cpp:
3248         (WebCore::scrollLayerForFrameView):
3249         Add a helper function.
3250
3251         (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
3252         Reset the entire scrolling tree state.
3253
3254         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
3255         Call the newly added helper function.
3256
3257         * page/scrolling/ScrollingCoordinator.h:
3258         (ScrollingCoordinator):
3259         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3260         Remove frameViewScrollLayerDidChange.
3261
3262         * rendering/RenderLayerCompositor.cpp:
3263         (WebCore::RenderLayerCompositor::ensureRootLayer):
3264         Remove call to ScrollingCoordinator::frameViewScrollLayerDidChange.
3265
3266         (WebCore::RenderLayerCompositor::attachRootLayer):
3267         Call ScrollingCoordinator::frameViewRootLayerDidChange.
3268
3269 2012-02-15  Enrica Casucci  <enrica@apple.com>
3270
3271         Refactor ClipboardMac class to use PlatformStrategies.
3272         https://bugs.webkit.org/show_bug.cgi?id=78554
3273
3274         Reviewed by Anders Carlsson.
3275
3276         No new tests. No change in behavior.
3277
3278         * WebCore.exp.in: Added new exported methods of the PlatformPasteboard class
3279         * editing/mac/EditorMac.mm:
3280         (WebCore::Editor::newGeneralClipboard): Use name based pasteboard references.
3281         * page/DragClient.h:
3282         (WebCore::DragClient::declareAndWriteDragImage): Ditto.
3283         * page/mac/EventHandlerMac.mm:
3284         (WebCore::EventHandler::createDraggingClipboard): Ditto.
3285         * platform/PasteboardStrategy.h: Added new methods to get a unique pasteboard name
3286         and the pasteboard change count.
3287         * platform/PlatformPasteboard.h: Ditto.
3288         * platform/mac/ClipboardMac.h:
3289         (WebCore::ClipboardMac::create): Using name based pasteboard.
3290         (WebCore::ClipboardMac::pasteboardName): Replacing the old pasteboard() method.
3291         * platform/mac/ClipboardMac.mm: All the methods below have been modified to avoid
3292         using Objective-C types and direct access to NSPasteboard object.
3293         (WebCore::Clipboard::create):
3294         (WebCore::ClipboardMac::ClipboardMac):
3295         (WebCore::ClipboardMac::hasData):
3296         (WebCore::cocoaTypeFromHTMLClipboardType):
3297         (WebCore::utiTypeFromCocoaType):
3298         (WebCore::addHTMLClipboardTypesForCocoaType):
3299         (WebCore::ClipboardMac::clearData):
3300         (WebCore::ClipboardMac::clearAllData):
3301         (WebCore::absoluteURLsFromPasteboardFilenames):
3302         (WebCore::absoluteURLsFromPasteboard):
3303         (WebCore::ClipboardMac::getData):
3304         (WebCore::ClipboardMac::setData):
3305         (WebCore::ClipboardMac::types):
3306         (WebCore::ClipboardMac::files):
3307         (WebCore::ClipboardMac::setDragImage):
3308         (WebCore::ClipboardMac::writeRange):
3309         (WebCore::ClipboardMac::writePlainText):
3310         (WebCore::ClipboardMac::writeURL):
3311         (WebCore::ClipboardMac::declareAndWriteDragImage):
3312         * platform/mac/PasteboardMac.mm:
3313         (WebCore::Pasteboard::writeClipboard): Using name based pasteboard reference.
3314         * platform/mac/PlatformPasteboardMac.mm:
3315         (WebCore::PlatformPasteboard::getPathnamesForType): Fixed to support NSArray and NString content.
3316         (WebCore::PlatformPasteboard::changeCount): Added.
3317         (WebCore::PlatformPasteboard::uniqueName): Added.
3318
3319 2012-02-15  Anders Carlsson  <andersca@apple.com>
3320
3321         TileCache needs to support setting the contents scale
3322         https://bugs.webkit.org/show_bug.cgi?id=78741
3323         <rdar://problem/10710773>
3324
3325         Reviewed by Sam Weinig.
3326
3327         * platform/graphics/ca/mac/TileCache.h:
3328         * platform/graphics/ca/mac/TileCache.mm:
3329         (WebCore::TileCache::setContentsScale):
3330         Update the contents scale of all the tiles and then revalidate the tile cache since tiles
3331         might have come and gone as a result of setting the contents scale.
3332         
3333         (WebCore::TileCache::createTileLayer):
3334         Set the contents scale of the tile layer.
3335
3336         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
3337         (-[WebTileCacheLayer setContentsScale:]):
3338         Call TileCache::setContentsScale.
3339
3340 2012-02-15  Anders Carlsson  <andersca@apple.com>
3341
3342         Try to fix the Chromium build and remove a snarky comment in the process.
3343
3344         * platform/chromium/PopupListBox.cpp:
3345         (WebCore::PopupListBox::handleWheelEvent):
3346
3347 2012-02-15  Anders Carlsson  <andersca@apple.com>
3348
3349         Wheel events should be re-dispatched to the scrolling thread
3350         https://bugs.webkit.org/show_bug.cgi?id=78731
3351         <rdar://problem/10866144>
3352
3353         Reviewed by Sam Weinig.
3354
3355         When threaded scrolling is enabled, all the state is assumed to be kept in the scrolling tree,
3356         on the scrolling thread. This means that even if we do end up processing an event on the main thread
3357         (because of wheel event handlers for example), we still have to dispatch the wheel event back to the
3358         scrolling thread.
3359
3360         * page/FrameView.cpp:
3361         (WebCore::FrameView::wheelEvent):
3362         Move wheelEvent from ScrollView and ask the scrolling coordinator to handle the wheel event.
3363
3364         * page/scrolling/ScrollingCoordinator.cpp:
3365         (WebCore::ScrollingCoordinator::handleWheelEvent):
3366         Dispatch the event to the scrolling thread, unless it will start a gesture. In that case we'll return false
3367         so that information will be passed back to the UI process.
3368         
3369         (ScrollingCoordinator):
3370         * platform/ScrollView.cpp:
3371         * platform/ScrollView.h:
3372         Move wheelEvent to FrameView.
3373
3374 >>>>>>> .r108008
3375 2012-02-15  Mark Hahnenberg  <mhahnenberg@apple.com>
3376
3377         RootObject::finalize can cause a crash in object->invalidate()
3378         https://bugs.webkit.org/show_bug.cgi?id=78645
3379
3380         Reviewed by Geoffrey Garen.
3381
3382         No new tests.
3383
3384         * bridge/runtime_root.cpp:
3385         (JSC::Bindings::RootObject::finalize): Added a stack-allocated RefPtr to protect the RootObject
3386         during the call to invalidate().
3387
3388 2012-02-15  Dan Bernstein  <mitz@apple.com>
3389
3390         <rdar://problem/10870238> Box shadow drawing takes an unnecessarily slow code path in some single-shadow, opaque-background cases
3391         https://bugs.webkit.org/show_bug.cgi?id=78728
3392
3393         In some cases, when there is only one normal box shadow, and the box has an opaque background,
3394         it is possible to draw the box shadow by having the background cast it directly. This appears
3395         to be faster than the generic code path that uses a separate drawing pass to cast the shadow,
3396         clipping out the border box and the shadow-casting box.
3397
3398         Reviewed by Dave Hyatt.
3399
3400         No new tests, because behavior is unchanged.
3401
3402         * rendering/InlineFlowBox.cpp:
3403         (WebCore::InlineFlowBox::paintBoxDecorations): Changed to not paint normal box shadows if
3404         they are going to be cast by the background.
3405         * rendering/RenderBox.cpp:
3406         (WebCore::RenderBox::paintBoxDecorations): Ditto.
3407         * rendering/RenderBox.h: Made determineBackgroundBleedAvoidance() protected.
3408         * rendering/RenderBoxModelObject.cpp:
3409         (WebCore::applyBoxShadowForBackground): Added this helper function, which applies the first
3410         normal shadow from the given RenderStyle to the given GraphicsContext.
3411         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Added calls to
3412         applyBoxShadowForBackground() before drawing the background color when needed.
3413         (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Added. Returns true
3414         in some of the cases where the box shadow can be cast by the background directly.
3415         * rendering/RenderBoxModelObject.h:
3416         * rendering/RenderFieldset.cpp:
3417         (WebCore::RenderFieldset::paintBoxDecorations): Changed to not paint normal box shadows if
3418         they are going to be cast by the background.
3419         * rendering/RenderTable.cpp:
3420         (WebCore::RenderTable::paintBoxDecorations): Ditto.
3421         * rendering/RenderTableCell.cpp:
3422         (WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground): Added this override that
3423         always returns false, because table cells sometimes apply a clip before drawing the background.
3424         * rendering/RenderTableCell.h:
3425
3426 2012-02-15  Ojan Vafai  <ojan@chromium.org>
3427
3428         getComputedStyle of flex-item-align:auto should resolve to it's parent's flex-align value
3429         https://bugs.webkit.org/show_bug.cgi?id=76326
3430
3431         Reviewed by Tony Chang.
3432
3433         * css/CSSComputedStyleDeclaration.cpp:
3434         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3435
3436 2012-02-15  Sadrul Habib Chowdhury  <sadrul@chromium.org>
3437
3438         Notify ChromeClient when touch-event handlers are installed/removed.
3439         https://bugs.webkit.org/show_bug.cgi?id=77440
3440
3441         Reviewed by Darin Fisher and Ryosuke Niwa.
3442
3443         Keep a count of the number of touch-event handlers and notify the
3444         embedder when the count changes. Depending on the count, the embedder
3445         can decide whether or not to dispatch touch events to webkit.
3446
3447         * dom/Document.cpp:
3448         (WebCore::Document::Document):
3449         (WebCore::Document::didAddTouchEventHandler):
3450         (WebCore):
3451         (WebCore::Document::didRemoveTouchEventHandler):
3452         * dom/Document.h:
3453         (WebCore::Document::touchEventHandlerCount):
3454         (Document):
3455         * dom/Node.cpp:
3456         (WebCore::isTouchEventType):
3457         (WebCore::tryAddEventListener):
3458         (WebCore::tryRemoveEventListener):
3459         * loader/EmptyClients.h:
3460         (WebCore::EmptyChromeClient::numTouchEventHandlersChanged):
3461         * page/ChromeClient.h:
3462         (ChromeClient):
3463         * page/Frame.cpp:
3464         (WebCore::Frame::notifyChromeClientWheelEventHandlerCountChanged):
3465         (WebCore::Frame::notifyChromeClientTouchEventHandlerCountChanged):
3466         (WebCore):
3467         * page/Frame.h:
3468         (Frame):
3469
3470 2012-02-15  Eric Carlson  <eric.carlson@apple.com>
3471
3472         Unset the active flag when TextTrackCues go away
3473         https://bugs.webkit.org/show_bug.cgi?id=72552
3474
3475         Reviewed by Maciej Stachowiak.
3476
3477         Test: media/track/track-active-cues.html
3478
3479         * html/HTMLMediaElement.cpp:
3480         (WebCore::HTMLMediaElement::loadTimerFired): Configure new text tracks before preparing to load
3481             so we know about all tracks when resource selection begins.
3482         (WebCore::HTMLMediaElement::prepareForLoad): Call updateActiveTextTrackCues after setting
3483             to m_readyState is HAVE_NOTHING so all cues get deactivated. Don't build list of 
3484             available text tracks because resource selection won't actually start until after the load timer fires.
3485         (WebCore::HTMLMediaElement::loadInternal): Build list of non-disabled tracks.
3486         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):  Clear the active flag on all cues
3487             when m_readyState is HAVE_NOTHING or m_player is 0.
3488         (WebCore::HTMLMediaElement::setReadyState): Don't update m_readyState when tracks which haven't
3489             loaded yet will prevent events from firing. Call updateActiveTextTrackCues to ensure that the
3490             first cue(s) are shown as soon as possible.
3491         (WebCore::HTMLMediaElement::userCancelledLoad): Call updateActiveTextTrackCues when when m_readyState 
3492             is HAVE_NOTHING so all cues get deactivated.
3493
3494 2012-02-15  Jessie Berlin  <jberlin@apple.com>
3495
3496         WebCore build exceeds address space on 32-bit Windows builders (again).
3497</