2011-04-26 Leo Yang <leo.yang@torchmobile.com.cn>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-04-26  Leo Yang  <leo.yang@torchmobile.com.cn>
2
3         Reviewed by Nikolas Zimmermann.
4
5         ASSERT failure in SVGUseElement
6         https://bugs.webkit.org/show_bug.cgi?id=59313
7
8         In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
9         was wrong because the document may not be well-formed.
10
11         This patch asserts the element is not pending on resource or the
12         document is not well-formed.
13
14         Test: svg/custom/use-crash-in-non-wellformed-document.svg
15
16         * svg/SVGUseElement.cpp:
17         (WebCore::isWellFormedDocument):
18         (WebCore::SVGUseElement::insertedIntoDocument):
19
20 2011-04-26  Mikhail Naganov  <mnaganov@chromium.org>
21
22         Reviewed by Pavel Feldman.
23
24         Web Inspector: [Chromium] Fix columns resizing in the detailed heap snapshot grids.
25         https://bugs.webkit.org/show_bug.cgi?id=59438
26
27         * inspector/front-end/DetailedHeapshotView.js:
28         (WebInspector.DetailedHeapshotView.prototype._changeView):
29
30 2011-04-26  David Levin  <levin@chromium.org>
31
32         Reviewed by Adam Barth.
33
34         Fix a few OwnPtr strict errors in WebCore headers.
35         https://bugs.webkit.org/show_bug.cgi?id=59431
36
37         * bindings/js/ScheduledAction.cpp:
38         (WebCore::ScheduledAction::create):
39         * css/MediaQueryMatcher.cpp:
40         (WebCore::MediaQueryMatcher::prepareEvaluator):
41         * dom/NodeRareData.h:
42         (WebCore::NodeListsNodeData::create):
43         * dom/ScriptRunner.h:
44         (WebCore::ScriptRunner::create):
45         * inspector/WorkerInspectorController.cpp:
46         (WebCore::WorkerInspectorController::connectFrontend):
47         * loader/icon/IconDatabase.h:
48         (WebCore::IconDatabase::create):
49         * platform/graphics/SimpleFontData.cpp:
50         (WebCore::SimpleFontData::verticalRightOrientationFontData):
51         (WebCore::SimpleFontData::uprightOrientationFontData):
52         (WebCore::SimpleFontData::brokenIdeographFontData):
53         * rendering/style/StyleRareInheritedData.cpp:
54         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
55         * rendering/svg/SVGResources.h:
56         (WebCore::SVGResources::ClipperFilterMaskerData::create):
57         (WebCore::SVGResources::MarkerData::create):
58         (WebCore::SVGResources::FillStrokeData::create):
59         * storage/StorageSyncManager.cpp:
60         (WebCore::StorageSyncManager::close):
61         * workers/WorkerContext.cpp:
62         (WebCore::CloseWorkerContextTask::create):
63         * workers/WorkerMessagingProxy.cpp:
64         (WebCore::MessageWorkerContextTask::create):
65         (WebCore::MessageWorkerTask::create):
66         (WebCore::WorkerExceptionTask::create):
67         (WebCore::WorkerContextDestroyedTask::create):
68         (WebCore::WorkerTerminateTask::create):
69         (WebCore::WorkerThreadActivityReportTask::create):
70         * workers/WorkerRunLoop.cpp:
71         (WebCore::WorkerRunLoop::Task::create):
72         * workers/WorkerThread.cpp:
73         (WebCore::WorkerThreadStartupData::create):
74         (WebCore::WorkerThreadShutdownFinishTask::create):
75         (WebCore::WorkerThreadShutdownStartTask::create):
76
77 2011-04-26  Adam Klein  <adamk@chromium.org>
78
79         Reviewed by Adam Barth.
80
81         Fix last strict OwnPtr violation under svg/...
82         https://bugs.webkit.org/show_bug.cgi?id=59429
83
84         * svg/SVGDocumentExtensions.cpp:
85         (WebCore::SVGDocumentExtensions::removePendingResource):
86
87 2011-04-26  Adam Barth  <abarth@webkit.org>
88
89         Reviewed by David Levin.
90
91         Fix more strict OwnPtr violations in WebCore
92         https://bugs.webkit.org/show_bug.cgi?id=59433
93
94         These manifest in the Chromium build.
95
96         * bindings/v8/ScriptController.cpp:
97         (WebCore::ScriptController::ScriptController):
98         * bindings/v8/ScriptDebugServer.cpp:
99         (WebCore::ScriptDebugServer::editScriptSource):
100         * bindings/v8/V8DOMMap.cpp:
101         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
102         * bindings/v8/V8Proxy.cpp:
103         (WebCore::V8Proxy::precompileScript):
104         * bindings/v8/WorkerScriptController.cpp:
105         (WebCore::WorkerScriptController::WorkerScriptController):
106         * page/Page.cpp:
107         (WebCore::Page::Page):
108         (WebCore::Page::speechInput):
109         * platform/PlatformGestureRecognizer.cpp:
110         (WebCore::PlatformGestureRecognizer::create):
111         * platform/PlatformGestureRecognizer.h:
112         * platform/graphics/chromium/DrawingBufferChromium.cpp:
113         (WebCore::DrawingBuffer::DrawingBuffer):
114         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
115         (WebCore::CCLayerImpl::CCLayerImpl):
116         * platform/graphics/gpu/Texture.cpp:
117         (WebCore::Texture::create):
118         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
119         (WebCore::BMPImageDecoder::decodeHelper):
120         * platform/image-decoders/gif/GIFImageDecoder.cpp:
121         (WebCore::GIFImageDecoder::decode):
122         * platform/image-decoders/ico/ICOImageDecoder.cpp:
123         (WebCore::ICOImageDecoder::decodeAtIndex):
124         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
125         (WebCore::JPEGImageDecoder::decode):
126         * platform/image-decoders/png/PNGImageDecoder.cpp:
127         (WebCore::PNGImageDecoder::decode):
128         * storage/chromium/DatabaseTrackerChromium.cpp:
129         (WebCore::DatabaseTracker::addOpenDatabase):
130
131 2011-04-25  David Levin  <levin@chromium.org>
132
133         Reviewed by Adam Barth.
134
135         Fix OwnPtr strict errors in CrossThreadTask.h
136         https://bugs.webkit.org/show_bug.cgi?id=59427
137
138         * dom/CrossThreadTask.h:
139         (WebCore::CrossThreadTask1::create):
140         (WebCore::CrossThreadTask2::create):
141         (WebCore::CrossThreadTask3::create):
142         (WebCore::CrossThreadTask4::create):
143         (WebCore::CrossThreadTask5::create):
144         (WebCore::CrossThreadTask6::create):
145         (WebCore::CrossThreadTask7::create):
146         (WebCore::CrossThreadTask8::create):
147
148 2011-04-25  Mark Rowe  <mrowe@apple.com>
149
150         Reviewed by Dan Bernstein.
151
152         <rdar://problem/9330337> Leak of 'WebCore::ApplyPropertyFillLayer<WebCore::FillSize>'
153
154         * css/CSSStyleApplyProperty.cpp:
155         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Don't initialize CSSPropertyWebkitMaskSize twice.
156         * css/CSSStyleApplyProperty.h:
157         (WebCore::CSSStyleApplyProperty::setPropertyValue): Add some asserts to catch this class of leak.
158
159 2011-04-25  Levi Weintraub  <leviw@chromium.org>
160
161         Reviewed by Ryosuke Niwa.
162
163         REGRESSION: a character appears after tab span when typing immediately before the tab span
164         https://bugs.webkit.org/show_bug.cgi?id=58132
165
166         Correcting the order of operations we use to avoid inserting into invalid positions in
167         ReplaceSelectionCommand to avoid inserting into tab-spans.
168
169         Test: editing/pasteboard/paste-before-tab-span.html
170
171         * editing/ReplaceSelectionCommand.cpp:
172         (WebCore::ReplaceSelectionCommand::doApply): Moving positionOutsideTabSpan to after
173         positionAvoidingPrecedingNodes, since that function could once again put our position
174         inside a tab span.
175
176 2011-04-25  David Levin  <levin@chromium.org>
177
178         Reviewed by Adam Barth.
179
180         Fix OwnPtr strict error in ImageBuffer.h
181         https://bugs.webkit.org/show_bug.cgi?id=59422
182
183         * platform/graphics/ImageBuffer.h:
184         (WebCore::ImageBuffer::create):
185
186 2011-04-25  Adam Barth  <abarth@webkit.org>
187
188         Reviewed by David Levin.
189
190         Fix strict OwnPtr violations and whitelist known-tricky files
191         https://bugs.webkit.org/show_bug.cgi?id=59421
192
193         With this patch, WebCore builds cleanly with strict OwnPtrs.
194
195         * dom/MessagePort.cpp:
196         (WebCore::MessagePort::MessagePort):
197         * dom/XMLDocumentParserLibxml2.cpp:
198         * page/ContextMenuController.cpp:
199         (WebCore::ContextMenuController::ContextMenuController):
200         (WebCore::ContextMenuController::clearContextMenu):
201         * page/PluginHalter.cpp:
202         * platform/graphics/MediaPlayer.cpp:
203         * platform/network/ResourceRequestBase.cpp:
204         (WebCore::ResourceRequestBase::adopt):
205         (WebCore::ResourceRequestBase::copyData):
206         * svg/SVGDocumentExtensions.cpp:
207
208 2011-04-25  David Levin  <levin@chromium.org>
209
210         Reviewed by Adam Barth.
211
212         Fix OwnPtr strict errors in DatasetDOMStringMap.h.
213         https://bugs.webkit.org/show_bug.cgi?id=59419
214
215         * dom/DatasetDOMStringMap.h:
216         (WebCore::DatasetDOMStringMap::create):
217
218 2011-04-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
219
220         Reviewed by Eric Seidel.
221
222         KeyboardEvent.cpp should work with strict OwnPtrs.
223         https://bugs.webkit.org/show_bug.cgi?id=59403
224
225         * dom/KeyboardEvent.cpp:
226         (WebCore::KeyboardEvent::KeyboardEvent):
227
228 2011-04-25  James Robinson  <jamesr@chromium.org>
229
230         Reviewed by Eric Seidel.
231
232         Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
233         https://bugs.webkit.org/show_bug.cgi?id=59377
234
235         * css/CSSStyleSelector.cpp:
236         (WebCore::CSSStyleSelector::applyProperty):
237         * page/animation/AnimationBase.cpp:
238         (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
239         (WebCore::PropertyWrapperShadow::blend):
240         * rendering/style/RenderStyle.cpp:
241         (WebCore::RenderStyle::setTextShadow):
242         (WebCore::RenderStyle::setBoxShadow):
243         * rendering/style/RenderStyle.h:
244         (WebCore::InheritedFlags::textShadow):
245         * rendering/style/StyleRareInheritedData.cpp:
246         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
247         (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
248         * rendering/style/StyleRareInheritedData.h:
249         * rendering/style/StyleRareNonInheritedData.cpp:
250         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
251
252 2011-04-25  Sheriff Bot  <webkit.review.bot@gmail.com>
253
254         Unreviewed, rolling out r84864.
255         http://trac.webkit.org/changeset/84864
256         https://bugs.webkit.org/show_bug.cgi?id=59413
257
258         Expect result of use-crash-in-non-wellformed-document.svg is
259         platform dependent (Requested by leoyang on #webkit).
260
261         * svg/SVGUseElement.cpp:
262         (WebCore::SVGUseElement::insertedIntoDocument):
263
264 2011-04-25  Leo Yang  <leo.yang@torchmobile.com.cn>
265
266         Reviewed by Nikolas Zimmermann.
267
268         ASSERT failure in SVGUseElement
269         https://bugs.webkit.org/show_bug.cgi?id=59313
270
271         In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
272         was wrong because the document may not be well-formed.
273
274         This patch asserts the element is not pending on resource or the
275         document is not well-formed.
276
277         Test: svg/custom/use-crash-in-non-wellformed-document.svg
278
279         * svg/SVGUseElement.cpp:
280         (WebCore::isWellFormedDocument):
281         (WebCore::SVGUseElement::insertedIntoDocument):
282
283 2011-04-25  Igor Oliveira  <igor.oliveira@openbossa.org>
284
285         Reviewed by Tony Chang.
286
287         Move complexity from DataTransferItemsChromium and DataTransferItemChromium for base class
288         https://bugs.webkit.org/show_bug.cgi?id=59028
289
290         The DataTransferItemsChromium and DataTransferItemChromium code can be reused by other platforms.
291         Moving the code for base class we can reduce the efforts to support DataTransferItems
292         element in different platforms.
293
294         * Android.mk:
295         * CMakeLists.txt:
296         * GNUmakefile.list.am:
297         * WebCore.gypi:
298         * WebCore.pro:
299         * WebCore.vcproj/WebCore.vcproj:
300         * WebCore.xcodeproj/project.pbxproj:
301         * dom/DataTransferItem.cpp:
302         (WebCore::DataTransferItem::DataTransferItem):
303         (WebCore::DataTransferItem::owner):
304         (WebCore::DataTransferItem::kind):
305         (WebCore::DataTransferItem::type):
306         * dom/DataTransferItem.h:
307         * dom/DataTransferItems.cpp: Copied from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
308         (WebCore::DataTransferItems::DataTransferItems):
309         (WebCore::DataTransferItems::length):
310         (WebCore::DataTransferItems::item):
311         (WebCore::DataTransferItems::deleteItem):
312         (WebCore::DataTransferItems::clear):
313         (WebCore::DataTransferItems::add):
314         * dom/DataTransferItems.h:
315         * platform/chromium/DataTransferItemChromium.cpp:
316         (WebCore::DataTransferItem::create):
317         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
318         (WebCore::DataTransferItemChromium::getAsString):
319         (WebCore::DataTransferItemChromium::getAsFile):
320         * platform/chromium/DataTransferItemChromium.h:
321         * platform/chromium/DataTransferItemsChromium.cpp:
322         (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
323         * platform/chromium/DataTransferItemsChromium.h:
324
325 2011-04-25  Chris Marrin  <cmarrin@apple.com>
326
327         Reviewed by Simon Fraser.
328
329         REGRESSION(75137): directly composited images are double-drawn sometimes
330         https://bugs.webkit.org/show_bug.cgi?id=58632
331
332         Depending on the order of operations (layout, creating compositing 
333         layers and creating simple image layers) a layer can have both image
334         content and have m_drawsContent=true. In this case 2 copies of the image
335         are drawn in the layer. If the image has alpha, it looks wrong.
336
337         I added an updateDrawsContent() call after setting the image contents
338         to make sure it's correct.
339
340         I couldn't create a test case that shows the problem because layerTreeAsText()
341         doesn't emit enough info to show this level of detail. I've opened
342         https://bugs.webkit.org/show_bug.cgi?id=59352 to fix that.
343
344         * rendering/RenderLayerBacking.cpp:
345         (WebCore::RenderLayerBacking::updateImageContents):
346
347 2011-04-25  Kenneth Russell  <kbr@google.com>
348
349         Reviewed by David Levin.
350
351         Fix OwnPtr strict errors in InlineFlowBox.cpp
352         https://bugs.webkit.org/show_bug.cgi?id=59392
353
354         * rendering/InlineFlowBox.cpp:
355         (WebCore::InlineFlowBox::setLayoutOverflow):
356         (WebCore::InlineFlowBox::setVisualOverflow):
357
358 2011-04-25  Kenneth Russell  <kbr@google.com>
359
360         Reviewed by David Levin.
361
362         Fix OwnPtr strict errors in TransformState.cpp
363         https://bugs.webkit.org/show_bug.cgi?id=59380
364
365         * rendering/TransformState.cpp:
366         (WebCore::TransformState::applyTransform):
367
368 2011-04-25  Adam Barth  <abarth@webkit.org>
369
370         Reviewed by James Robinson.
371
372         DOMWindow.cpp should work with strict OwnPtrs
373         https://bugs.webkit.org/show_bug.cgi?id=59356
374
375         * page/DOMWindow.cpp:
376         (WebCore::PostMessageTimer::fired):
377         (WebCore::DOMWindow::postMessageTimerFired):
378         * page/DOMWindow.h:
379
380 2011-04-25  Adam Klein  <adamk@chromium.org>
381
382         Reviewed by James Robinson.
383
384         Fix OwnPtr strict errors in some SVG classes.
385         https://bugs.webkit.org/show_bug.cgi?id=59395
386
387         * rendering/style/SVGRenderStyleDefs.cpp:
388         (WebCore::StyleShadowSVGData::StyleShadowSVGData):
389         * svg/SVGSVGElement.cpp:
390         (WebCore::SVGSVGElement::SVGSVGElement):
391         * svg/SVGStyledTransformableElement.cpp:
392         (WebCore::SVGStyledTransformableElement::supplementalTransform):
393         * svg/SVGTextElement.cpp:
394         (WebCore::SVGTextElement::supplementalTransform):
395         * svg/graphics/SVGImage.cpp:
396         (WebCore::SVGImage::dataChanged):
397
398 2011-04-25  Adam Barth  <abarth@webkit.org>
399
400         Re-land changes to ValidationMessage.
401
402         * html/ValidationMessage.cpp:
403         (WebCore::ValidationMessage::setMessage):
404         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
405         (WebCore::ValidationMessage::requestToHideMessage):
406
407 2011-04-25  Ojan Vafai  <ojan@chromium.org>
408
409         Reviewed by James Robinson.
410
411         fix OwnPtr strict error in FrameView.cpp
412         https://bugs.webkit.org/show_bug.cgi?id=59402
413
414         * page/FrameView.cpp:
415         (WebCore::FrameView::FrameView):
416         (WebCore::FrameView::addWidgetToUpdate):
417
418 2011-04-25  Adam Klein  <adamk@chromium.org>
419
420         Unreviewed, rolling out r84844.
421         http://trac.webkit.org/changeset/84844
422         https://bugs.webkit.org/show_bug.cgi?id=59395
423
424         Checked in too much.
425
426         * rendering/style/SVGRenderStyleDefs.cpp:
427         (WebCore::StyleShadowSVGData::StyleShadowSVGData):
428         * svg/SVGDocumentExtensions.cpp:
429         (WebCore::SVGDocumentExtensions::removePendingResource):
430         * svg/SVGSVGElement.cpp:
431         (WebCore::SVGSVGElement::SVGSVGElement):
432         * svg/SVGStyledTransformableElement.cpp:
433         (WebCore::SVGStyledTransformableElement::supplementalTransform):
434         * svg/SVGTextElement.cpp:
435         (WebCore::SVGTextElement::supplementalTransform):
436         * svg/graphics/SVGImage.cpp:
437         (WebCore::SVGImage::dataChanged):
438
439 2011-04-25  Adrienne Walker  <enne@google.com>
440
441         Reviewed by David Levin.
442
443         Make ActiveDOMCallback play nice with OwnPtr strict mode
444         https://bugs.webkit.org/show_bug.cgi?id=59398
445
446         * bindings/generic/ActiveDOMCallback.cpp:
447         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
448
449 2011-04-25  Adam Klein  <adamk@chromium.org>
450
451         Reviewed by James Robinson.
452
453         Fix OwnPtr strict errors in some SVG classes.
454         https://bugs.webkit.org/show_bug.cgi?id=59395
455
456         * rendering/style/SVGRenderStyleDefs.cpp:
457         (WebCore::StyleShadowSVGData::StyleShadowSVGData):
458         * svg/SVGSVGElement.cpp:
459         (WebCore::SVGSVGElement::SVGSVGElement):
460         * svg/SVGStyledTransformableElement.cpp:
461         (WebCore::SVGStyledTransformableElement::supplementalTransform):
462         * svg/SVGTextElement.cpp:
463         (WebCore::SVGTextElement::supplementalTransform):
464         * svg/graphics/SVGImage.cpp:
465         (WebCore::SVGImage::dataChanged):
466
467 2011-04-25  James Robinson  <jamesr@chromium.org>
468
469         Unreviewed, rolling out r84835.
470         http://trac.webkit.org/changeset/84835
471         https://bugs.webkit.org/show_bug.cgi?id=59394
472
473         Breaks compile because Deque<OwnPtr> doesn't work
474
475         * dom/XMLDocumentParserLibxml2.cpp:
476         (WebCore::PendingCallbacks::~PendingCallbacks):
477         (WebCore::PendingCallbacks::appendStartElementNSCallback):
478         (WebCore::PendingCallbacks::appendEndElementNSCallback):
479         (WebCore::PendingCallbacks::appendCharactersCallback):
480         (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
481         (WebCore::PendingCallbacks::appendCDATABlockCallback):
482         (WebCore::PendingCallbacks::appendCommentCallback):
483         (WebCore::PendingCallbacks::appendInternalSubsetCallback):
484         (WebCore::PendingCallbacks::appendErrorCallback):
485         (WebCore::XMLDocumentParser::XMLDocumentParser):
486         * html/ValidationMessage.cpp:
487         (WebCore::ValidationMessage::setMessage):
488         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
489         (WebCore::ValidationMessage::requestToHideMessage):
490
491 2011-04-25  James Robinson  <jamesr@chromium.org>
492
493         Reviewed by Sam Weinig.
494
495         Fix OwnPtr strict mode violation in ImageBufferCG
496         https://bugs.webkit.org/show_bug.cgi?id=59396
497
498         * platform/graphics/cg/ImageBufferCG.cpp:
499         (WebCore::ImageBuffer::ImageBuffer):
500
501 2011-04-25  Huang Dongsung  <luxtella@company100.net>
502
503         Reviewed by Dirk Schulze.
504
505         [Skia] Remove an unused local variable in PlatformContextSkia::readbackHardwareToSoftware().
506         https://bugs.webkit.org/show_bug.cgi?id=59308
507
508         An unused local variable is created and even allocates heap memory.
509
510         * platform/graphics/skia/PlatformContextSkia.cpp:
511         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
512
513 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
514
515         Qt build fix: Updated files not used by other ports for rename.
516
517         * bindings/js/JSTouchCustom.cpp:
518         (WebCore::toJSNewlyCreated):
519         * bindings/js/JSTouchListCustom.cpp:
520         (WebCore::toJSNewlyCreated):
521
522 2011-04-25  Adrienne Walker  <enne@google.com>
523
524         Reviewed by David Levin.
525
526         WebCore/css/CSS* files should play nice with strict OwnPtrs
527         https://bugs.webkit.org/show_bug.cgi?id=59382
528
529         * css/CSSFontFaceSource.cpp:
530         (WebCore::CSSFontFaceSource::getFontData):
531         * css/CSSParser.cpp:
532         (WebCore::CSSParser::addProperty):
533         (WebCore::CSSParser::parseValue):
534
535 2011-04-25  Adam Barth  <abarth@webkit.org>
536
537         Reviewed by James Robinson.
538
539         ValidationMessage and XMLDocumentParserLibxml2 should play nice with strict OwnPtrs
540         https://bugs.webkit.org/show_bug.cgi?id=59394
541
542         * dom/XMLDocumentParserLibxml2.cpp:
543         (WebCore::PendingCallbacks::PendingCallbacks):
544         (WebCore::PendingCallbacks::appendStartElementNSCallback):
545         (WebCore::PendingCallbacks::appendEndElementNSCallback):
546         (WebCore::PendingCallbacks::appendCharactersCallback):
547         (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
548         (WebCore::PendingCallbacks::appendCDATABlockCallback):
549         (WebCore::PendingCallbacks::appendCommentCallback):
550         (WebCore::PendingCallbacks::appendInternalSubsetCallback):
551         (WebCore::PendingCallbacks::appendErrorCallback):
552         (WebCore::XMLDocumentParser::XMLDocumentParser):
553         * html/ValidationMessage.cpp:
554         (WebCore::ValidationMessage::setMessage):
555         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
556         (WebCore::ValidationMessage::requestToHideMessage):
557
558 2011-04-25  James Robinson  <jamesr@chromium.org>
559
560         Reviewed by Adam Barth.
561
562         Fix OwnPtr strictness issues in WebCore/inspector/
563         https://bugs.webkit.org/show_bug.cgi?id=59387
564
565         * inspector/InspectorAgent.cpp:
566         (WebCore::InspectorAgent::InspectorAgent):
567         * inspector/InspectorController.cpp:
568         (WebCore::InspectorController::InspectorController):
569         * inspector/InspectorStyleSheet.cpp:
570         (WebCore::InspectorStyleSheet::ensureSourceData):
571
572 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
573
574         Reviewed by Beth Dakin.
575
576         Removed XPathNamespace because it was unused
577         https://bugs.webkit.org/show_bug.cgi?id=59381
578         
579         This allows us to make Node::ownerDocument() non-virtual, though it has
580         the unhappy side-effect of rebuilding the world.
581
582         * CMakeLists.txt:
583         * GNUmakefile.list.am:
584         * WebCore.gypi:
585         * WebCore.pro:
586         * WebCore.vcproj/WebCore.vcproj:
587         * WebCore.xcodeproj/project.pbxproj: Bye bye dead code.
588
589         * dom/Node.h: Hello fast code!
590
591         * xml/XPathNamespace.cpp: Removed.
592         * xml/XPathNamespace.h: Removed.
593
594 2011-04-25  Adam Barth  <abarth@webkit.org>
595
596         Reviewed by Darin Adler.
597
598         HistoryItemMac should play nice with OwnPtrs
599         https://bugs.webkit.org/show_bug.cgi?id=59388
600
601         * history/mac/HistoryItemMac.mm:
602         (WebCore::HistoryItem::setTransientProperty):
603
604 2011-04-25  David Levin  <levin@chromium.org>
605
606         Reviewed by Kenneth Russell.
607
608         Fix strict OwnPtrs in ContextMenuController.cpp
609         https://bugs.webkit.org/show_bug.cgi?id=59375
610
611         * page/ContextMenuController.cpp:
612         (WebCore::ContextMenuController::createContextMenu):
613         (WebCore::separatorItem):
614
615 2011-04-25  Adam Barth  <abarth@webkit.org>
616
617         Reviewed by Darin Adler.
618
619         CheckedRadioButton should play nice with strict OwnPtr
620         https://bugs.webkit.org/show_bug.cgi?id=59386
621
622         * dom/CheckedRadioButtons.cpp:
623         (WebCore::CheckedRadioButtons::addButton):
624
625 2011-04-25  Adam Barth  <abarth@webkit.org>
626
627         Reviewed by David Levin.
628
629         Resource*.cpp should play nice with strict OwnPtrs
630         https://bugs.webkit.org/show_bug.cgi?id=59383
631
632         * bridge/runtime_method.cpp:
633         (JSC::RuntimeMethod::RuntimeMethod):
634         * platform/network/ResourceHandle.cpp:
635         (WebCore::ResourceHandle::ResourceHandle):
636         * platform/network/ResourceResponseBase.cpp:
637         (WebCore::ResourceResponseBase::adopt):
638         (WebCore::ResourceResponseBase::copyData):
639
640 2011-04-25  Adam Barth  <abarth@webkit.org>
641
642         Reviewed by David Levin.
643
644         Page*.cpp and objc_runtime.mm should play nice with strict OwnPtrs
645         https://bugs.webkit.org/show_bug.cgi?id=59374
646
647         * bridge/objc/objc_runtime.mm:
648         (JSC::Bindings::callObjCFallbackObject):
649         * page/Page.cpp:
650         (WebCore::Page::Page):
651         (WebCore::Page::initGroup):
652         * page/PageGroup.cpp:
653         (WebCore::PageGroup::addUserScriptToWorld):
654         (WebCore::PageGroup::addUserStyleSheetToWorld):
655         * page/mac/PageMac.cpp:
656         (WebCore::Page::addSchedulePair):
657
658 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
659
660         Build fix: This time for sure!
661         
662         * dom/make_names.pl:
663
664 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
665
666         Build fix: Let's edit the script instead of the autogenrated file. That
667         way, our change will stand the test of time.
668
669         * dom/make_names.pl:
670
671 2011-04-25  Adam Barth  <abarth@webkit.org>
672
673         Reviewed by David Levin.
674
675         Fix strict OwnPtrs in HTMLMediaElement and HTTPHeaderMap
676         https://bugs.webkit.org/show_bug.cgi?id=59368
677
678         * html/HTMLMediaElement.cpp:
679         (WebCore::HTMLMediaElement::HTMLMediaElement):
680         * platform/network/HTTPHeaderMap.cpp:
681         (WebCore::HTTPHeaderMap::copyData):
682
683 2011-04-25  James Robinson  <jamesr@chromium.org>
684
685         Reviewed by Adam Barth.
686
687         Fix strict OwnPtr violations in Render*.cpp
688         https://bugs.webkit.org/show_bug.cgi?id=59361
689
690         * rendering/RenderBlock.cpp:
691         (WebCore::RenderBlock::RenderBlock):
692         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
693         * rendering/RenderBox.cpp:
694         (WebCore::RenderBox::addLayoutOverflow):
695         (WebCore::RenderBox::addVisualOverflow):
696         * rendering/RenderButton.cpp:
697         (WebCore::RenderButton::styleDidChange):
698         * rendering/RenderLayer.cpp:
699         (WebCore::RenderLayer::updateTransform):
700         (WebCore::RenderLayer::paintChildLayerIntoColumns):
701         (WebCore::RenderLayer::hitTestChildLayerColumns):
702         (WebCore::RenderLayer::ensureBacking):
703         * rendering/RenderTable.cpp:
704         (WebCore::RenderTable::styleDidChange):
705         * rendering/RenderView.cpp:
706         (WebCore::RenderView::compositor):
707         * rendering/style/RenderStyle.cpp:
708         (WebCore::RenderStyle::addCachedPseudoStyle):
709         (WebCore::RenderStyle::accessCounterDirectives):
710         (WebCore::RenderStyle::accessAnimations):
711         (WebCore::RenderStyle::accessTransitions):
712         * rendering/svg/RenderSVGResourceFilter.cpp:
713         (WebCore::RenderSVGResourceFilter::applyResource):
714         * rendering/svg/SVGResources.cpp:
715         (WebCore::SVGResources::SVGResources):
716
717 2011-04-25  Adam Barth  <abarth@webkit.org>
718
719         Attempt to fix the compile.
720
721         * platform/graphics/MediaPlayer.cpp:
722         (WebCore::MediaPlayer::loadWithNextMediaEngine):
723
724 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
725
726         Rubber-stamped by Beth Dakin.
727
728         Merged CREATE_DOM_NODE_WRAPPER and CREATE_DOM_OBJECT_WRAPPER into 
729         CREATE_DOM_WRAPPER because there's no meaningful difference between
730         them anymore.
731
732         * bindings/js/JSCDATASectionCustom.cpp:
733         (WebCore::toJSNewlyCreated):
734         * bindings/js/JSCSSRuleCustom.cpp:
735         (WebCore::toJS):
736         * bindings/js/JSCSSValueCustom.cpp:
737         (WebCore::toJS):
738         * bindings/js/JSDOMBinding.h:
739         * bindings/js/JSDocumentCustom.cpp:
740         (WebCore::toJS):
741         * bindings/js/JSElementCustom.cpp:
742         (WebCore::toJSNewlyCreated):
743         * bindings/js/JSEventCustom.cpp:
744         (WebCore::toJS):
745         * bindings/js/JSHTMLCollectionCustom.cpp:
746         (WebCore::toJS):
747         * bindings/js/JSImageDataCustom.cpp:
748         (WebCore::toJS):
749         * bindings/js/JSNodeCustom.cpp:
750         (WebCore::createWrapperInline):
751         * bindings/js/JSSVGPathSegCustom.cpp:
752         (WebCore::toJS):
753         * bindings/js/JSStyleSheetCustom.cpp:
754         (WebCore::toJS):
755         * bindings/js/JSTextCustom.cpp:
756         (WebCore::toJSNewlyCreated):
757         * bindings/js/JSWebKitCSSMatrixCustom.cpp:
758         (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
759         * bindings/js/JSWebSocketCustom.cpp:
760         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
761         * bindings/js/JSXMLHttpRequestCustom.cpp:
762         (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
763         * bindings/js/JSXSLTProcessorCustom.cpp:
764         (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
765
766 2011-04-25  Adam Barth  <abarth@webkit.org>
767
768         Reviewed by James Robinson.
769
770         HTMLDocumentParser should play nice with OwnPtrs
771         https://bugs.webkit.org/show_bug.cgi?id=59363
772
773         * html/parser/HTMLDocumentParser.cpp:
774         (WebCore::HTMLDocumentParser::pumpTokenizer):
775
776 2011-04-25  Adam Barth  <abarth@webkit.org>
777
778         Reviewed by James Robinson.
779
780         Frame.cpp should work with strict OwnPtrs
781         https://bugs.webkit.org/show_bug.cgi?id=59360
782
783         * page/Frame.cpp:
784         (WebCore::createRegExpForLabels):
785
786 2011-04-25  Adam Barth  <abarth@webkit.org>
787
788         Reviewed by David Levin.
789
790         Fix strict OwnPtr in Element.cpp
791         https://bugs.webkit.org/show_bug.cgi?id=59357
792
793         * dom/NodeRareData.h:
794         (WebCore::NodeRareData::ensureEventTargetData):
795
796 2011-04-25  Adam Barth  <abarth@webkit.org>
797
798         Reviewed by David Levin.
799
800         Fix strict OwnPtr issues in Media*.cpp
801         https://bugs.webkit.org/show_bug.cgi?id=59354
802
803         There's still a tricky case in MediaPlayer.cpp, but we'll worry about
804         that later.
805
806         * css/MediaQueryMatcher.cpp:
807         (WebCore::MediaQueryMatcher::addListener):
808         * dom/Document.cpp:
809         * platform/graphics/MediaPlayer.cpp:
810         (WebCore::createNullMediaPlayer):
811
812 2011-04-25  James Robinson  <jamesr@chromium.org>
813
814         Reviewed by David Levin.
815
816         Fix strict OwnPtr violations in ListHashSet and RenderLayerCompositor
817         https://bugs.webkit.org/show_bug.cgi?id=59353
818
819         * rendering/RenderLayerCompositor.cpp:
820         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
821
822 2011-04-25  Adam Barth  <abarth@webkit.org>
823
824         Reviewed by James Robinson.
825
826         Worker*.cpp should work with strict OwnPtrs
827         https://bugs.webkit.org/show_bug.cgi?id=59346
828
829         * inspector/WorkerInspectorController.cpp:
830         (WebCore::WorkerInspectorController::WorkerInspectorController):
831         * workers/WorkerContext.cpp:
832         (WebCore::WorkerContext::WorkerContext):
833         * workers/WorkerRunLoop.cpp:
834         (WebCore::WorkerRunLoop::WorkerRunLoop):
835         * workers/WorkerScriptLoader.cpp:
836         (WebCore::WorkerScriptLoader::createResourceRequest):
837
838 2011-04-25  James Robinson  <jamesr@chromium.org>
839
840         Reviewed by Adam Barth.
841
842         Remove bad use of OwnPtr::set() in IconDatabase.cpp
843         https://bugs.webkit.org/show_bug.cgi?id=59344
844
845         Needed for strict OwnPtr compliance.
846
847         * loader/icon/IconDatabase.cpp:
848         (WebCore::readySQLiteStatement):
849
850 2011-04-25  Adam Barth  <abarth@webkit.org>
851
852         Reviewed by Maciej Stachowiak.
853
854         ImageBuffer.h should work with strict OwnPtrs
855         https://bugs.webkit.org/show_bug.cgi?id=59341
856
857         This patch is to prepare for the strict OwnPtr hack-a-thon.
858
859         * platform/graphics/ImageBuffer.h:
860         (WebCore::ImageBuffer::create):
861
862 2011-04-25  Steve Falkenburg  <sfalken@apple.com>
863
864         Reviewed by Brian Weinstein.
865
866         WebCore build on Windows should include windows.h in its precompiled header to speed builds
867         https://bugs.webkit.org/show_bug.cgi?id=59339
868
869         windows.h is included by several of the underlying wtf headers, including Atomics.h and
870         ThreadingPrimitives.h anyway, so include it in the WebCorePrefix.h to speed up compilation.
871         
872         On my 8 core Mac Pro, this reduces a clean rebuild of debug WebCore from 8 minutes to 7 minutes
873         (a 12% speedup).
874
875         * WebCorePrefix.h: Include windows.h
876
877 2011-04-25  Martin Robinson  <mrobinson@igalia.com>
878
879         Reviewed by Xan Lopez.
880
881         [GTK] Crash in WebCore::FrameView::notifyPageThatContentAreaWillPaint()
882         https://bugs.webkit.org/show_bug.cgi?id=59311
883
884         * platform/gtk/MainFrameScrollbarGtk.cpp:
885         (MainFrameScrollbarGtk::attachAdjustment): Before connecting an adjustment to a scrollbar
886         disconnect any lingering signal handlers. This prevents an adjustment from controlling the
887         active ScrollView and some zombie ScrollView.
888
889 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
890
891         Another shot at fixing the EFL build.
892
893         * UseJSC.cmake:
894         * bindings/js/JSDOMBinding.cpp:
895
896 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
897
898         Try to fix EFL build.
899
900         * UseJSC.cmake: Added a missing file.
901
902 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
903
904         Reviewed by Oliver Hunt.
905
906         Removed a use of markDOMObjectWrapper: ActiveDOMObjects, Workers, and MessagePorts
907         https://bugs.webkit.org/show_bug.cgi?id=59333
908
909         * WebCore.xcodeproj/project.pbxproj: Added .idl files for easier editing.
910
911         * bindings/js/JSDOMBinding.cpp:
912         * bindings/js/JSDOMBinding.h:
913         * bindings/js/JSDocumentCustom.cpp:
914         * bindings/js/JSWorkerContextCustom.cpp:
915         (WebCore::JSWorkerContext::visitChildren): Removed now-unused functions.
916
917         * bindings/scripts/CodeGeneratorJS.pm: Added support for ActiveDOMObject
918         lifetime management.
919
920         * dom/Document.idl: No need for a custom mark function anymore, since
921         ActiveDOMObjets now manage their own lifetimes.
922
923         * dom/MessagePort.cpp:
924         (WebCore::MessagePort::hasPendingActivity): Correctly report that we
925         have pending activity when we're remotely entangled, instead of relying
926         on our clients to know this about us and do the check for us.
927
928         * dom/MessagePort.h: FIXME!
929
930         * dom/MessagePort.idl:
931         * fileapi/DOMFileSystem.idl:
932         * fileapi/FileReader.idl:
933         * fileapi/FileWriter.idl:
934         * notifications/Notification.idl:
935         * notifications/NotificationCenter.idl:
936         * page/EventSource.idl:
937         * storage/IDBDatabase.idl:
938         * storage/IDBRequest.idl:
939         * storage/IDBTransaction.idl:
940         * webaudio/AudioContext.idl:
941         * websockets/WebSocket.idl:
942         * workers/AbstractWorker.idl:
943         * workers/SharedWorker.idl:
944         * workers/Worker.idl: Opt in to ActiveDOMObject lifetime management.
945
946         * workers/WorkerContext.cpp:
947         (WebCore::WorkerContext::hasPendingActivity): No need to make up for
948         MessagePort::hasPendingActivity being wrong anymore, since it's now right.
949
950         * xml/XMLHttpRequest.idl: Opt in to ActiveDOMObject lifetime management.
951
952 2011-04-25  Yury Semikhatsky  <yurys@chromium.org>
953
954         Reviewed by Pavel Feldman.
955
956         Web Inspector: worker messages should be routed to corresponding worker front-end
957         https://bugs.webkit.org/show_bug.cgi?id=59323
958
959         Added WorkerManager which is responsible for routing messages between
960         Page inspector front-end and Worker inspector front-ends.
961
962         * WebCore.gypi:
963         * inspector/front-end/WebKit.qrc:
964         * inspector/front-end/WorkerManager.js: Added.
965         (WebInspector.WorkerManager):
966         (WebInspector.WorkerManager.loaded.InspectorFrontendHost.sendMessageToBackend):
967         (WebInspector.WorkerManager.loaded.InspectorFrontendHost.loaded):
968         (WebInspector.WorkerManager.loaded):
969         (WebInspector.WorkerFrontendStub):
970         (WebInspector.WorkerFrontendStub.prototype._receiveMessage):
971         (WebInspector.WorkerDispatcher):
972         (WebInspector.WorkerDispatcher.prototype._receiveMessage):
973         (WebInspector.WorkerDispatcher.prototype.workerCreated):
974         (WebInspector.WorkerDispatcher.prototype.dispatchMessageFromWorker):
975         * inspector/front-end/inspector.html:
976         * inspector/front-end/inspector.js:
977         (WebInspector.loaded):
978
979 2011-04-25  Annie Sullivan  <sullivan@chromium.org>
980
981         Reviewed by Pavel Feldman.
982
983         Web Inspector: [Resources panel] Should be easy to copy data.
984         https://bugs.webkit.org/show_bug.cgi?id=45662
985
986         Adds context menu items to copy resource location, resource request headers, and resource response headers.
987
988         * inspector/front-end/NetworkPanel.js:
989         (WebInspector.NetworkPanel.prototype._contextMenu): Add new items to context menu.
990         (WebInspector.NetworkPanel.prototype._exportLocation): Copy resource location to clipboard.
991         (WebInspector.NetworkPanel.prototype._exportRequestHeaders): Copy resource request headers to clipboard.
992         (WebInspector.NetworkPanel.prototype._exportResponseHeaders): Copy resource response headers to clipboard.
993         * inspector/front-end/Resource.js:
994         (WebInspector.Resource.prototype.get requestHeadersText): If _requestHeadersText is undefined, generate it from requestHeaders.
995         (WebInspector.Resource.prototype.get responseHeadersText): If _responseHeadersText is undefined, generate it form responseHeaders.
996
997 2011-04-25  Alexander Pavlov  <apavlov@chromium.org>
998
999         Reviewed by Yury Semikhatsky.
1000
1001         Web Inspector: CSS is parsed improperly when saved in UTF-8 with a BOM
1002         https://bugs.webkit.org/show_bug.cgi?id=59322
1003
1004         Use TextResourceDecoder to determine external stylesheet charsets correctly.
1005
1006         Test: inspector/styles/parse-utf8-bom.html
1007
1008         * inspector/InspectorStyleSheet.cpp:
1009         (WebCore::InspectorStyleSheet::originalStyleSheetText):
1010
1011 2011-04-25  Pavel Feldman  <pfeldman@google.com>
1012
1013         Not reviewed: Inspector.json cleanup.
1014
1015         * inspector/Inspector.json:
1016
1017 2011-04-25  Yury Semikhatsky  <yurys@chromium.org>
1018
1019         Reviewed by Pavel Feldman.
1020
1021         Web Inspector: introduce InspectorWorkerAgent
1022         https://bugs.webkit.org/show_bug.cgi?id=59320
1023
1024         InspectorWorkerAgent is responsible for routing inspector messages
1025         between worker context inspector agents and corresponding worker
1026         inspector front-end.
1027
1028         * CMakeLists.txt:
1029         * GNUmakefile.list.am:
1030         * WebCore.gypi:
1031         * WebCore.pro:
1032         * WebCore.vcproj/WebCore.vcproj:
1033         * WebCore.xcodeproj/project.pbxproj:
1034         * inspector/CodeGeneratorInspector.pm:
1035         * inspector/Inspector.json:
1036         * inspector/InspectorAgent.cpp:
1037         (WebCore::InspectorAgent::InspectorAgent):
1038         (WebCore::InspectorAgent::setFrontend):
1039         (WebCore::InspectorAgent::disconnectFrontend):
1040         * inspector/InspectorAgent.h:
1041         (WebCore::InspectorAgent::workerAgent):
1042         * inspector/InspectorController.cpp:
1043         (WebCore::InspectorController::connectFrontend):
1044         (WebCore::InspectorController::disconnectFrontend):
1045         * inspector/InspectorInstrumentation.cpp:
1046         (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
1047         * inspector/InspectorInstrumentation.h:
1048         (WebCore::InspectorInstrumentation::willStartWorkerContext):
1049         (WebCore::InspectorInstrumentation::didStartWorkerContext):
1050         * inspector/InspectorWorkerAgent.cpp: Added.
1051         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
1052         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
1053         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::id):
1054         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::inspectorProxy):
1055         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::sendMessageToFrontend):
1056         (WebCore::InspectorWorkerAgent::create):
1057         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
1058         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
1059         (WebCore::InspectorWorkerAgent::setFrontend):
1060         (WebCore::InspectorWorkerAgent::clearFrontend):
1061         (WebCore::InspectorWorkerAgent::dispatchMessageOnWorkerInspector):
1062         (WebCore::InspectorWorkerAgent::didStartWorkerContext):
1063         * inspector/InspectorWorkerAgent.h: Added.
1064         * inspector/InstrumentingAgents.h:
1065         (WebCore::InstrumentingAgents::InstrumentingAgents):
1066         (WebCore::InstrumentingAgents::inspectorWorkerAgent):
1067         (WebCore::InstrumentingAgents::setInspectorWorkerAgent):
1068         * inspector/WorkerInspectorController.cpp:
1069         (WebCore::WorkerInspectorController::connectFrontend):
1070         * inspector/generate-inspector-idl:
1071         * workers/Worker.cpp:
1072         (WebCore::Worker::notifyFinished):
1073         * workers/WorkerContextInspectorProxy.h: Added. Platform-specific transport for inspector
1074         messages sent from the inspected page worker agent to the worker context inspector agents.
1075         (WebCore::WorkerContextInspectorProxy::connectFrontend):
1076         (WebCore::WorkerContextInspectorProxy::disconnectFrontend):
1077         (WebCore::WorkerContextInspectorProxy::sendMessageToWorkerContextInspector):
1078         (WebCore::WorkerContextInspectorProxy::~WorkerContextInspectorProxy):
1079         * workers/WorkerContextProxy.h:
1080         (WebCore::WorkerContextProxy::inspectorProxy):
1081
1082 2011-04-25  Pavel Feldman  <pfeldman@google.com>
1083
1084         Reviewed by Yury Semikhatsky.
1085
1086         Web Inspector: move Frame and Resource Tree management into the Page agent.
1087         https://bugs.webkit.org/show_bug.cgi?id=59321
1088
1089         Network agent should only handle network-related activities.
1090         Frame structure should be managed by the Page agent instead.
1091
1092         * inspector/Inspector.json:
1093         * inspector/InspectorAgent.cpp:
1094         (WebCore::InspectorAgent::InspectorAgent):
1095         * inspector/InspectorDOMAgent.cpp:
1096         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1097         (WebCore::InspectorDOMAgent::setFrontend):
1098         (WebCore::InspectorDOMAgent::restore):
1099         (WebCore::InspectorDOMAgent::highlightFrame):
1100         * inspector/InspectorDOMAgent.h:
1101         (WebCore::InspectorDOMAgent::create):
1102         * inspector/InspectorInstrumentation.cpp:
1103         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
1104         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
1105         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
1106         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1107         * inspector/InspectorPageAgent.cpp:
1108         (WebCore::InspectorPageAgent::create):
1109         (WebCore::InspectorPageAgent::resourceContent):
1110         (WebCore::InspectorPageAgent::resourceContentBase64):
1111         (WebCore::InspectorPageAgent::resourceData):
1112         (WebCore::InspectorPageAgent::cachedResource):
1113         (WebCore::InspectorPageAgent::resourceTypeString):
1114         (WebCore::InspectorPageAgent::cachedResourceType):
1115         (WebCore::InspectorPageAgent::cachedResourceTypeString):
1116         (WebCore::InspectorPageAgent::InspectorPageAgent):
1117         (WebCore::InspectorPageAgent::setFrontend):
1118         (WebCore::InspectorPageAgent::reload):
1119         (WebCore::InspectorPageAgent::open):
1120         (WebCore::InspectorPageAgent::getCookies):
1121         (WebCore::InspectorPageAgent::deleteCookie):
1122         (WebCore::InspectorPageAgent::getResourceTree):
1123         (WebCore::InspectorPageAgent::getResourceContent):
1124         (WebCore::InspectorPageAgent::restore):
1125         (WebCore::InspectorPageAgent::domContentEventFired):
1126         (WebCore::InspectorPageAgent::loadEventFired):
1127         (WebCore::InspectorPageAgent::frameNavigated):
1128         (WebCore::InspectorPageAgent::frameDetached):
1129         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
1130         (WebCore::InspectorPageAgent::mainFrame):
1131         (WebCore::pointerAsId):
1132         (WebCore::InspectorPageAgent::frameForId):
1133         (WebCore::InspectorPageAgent::frameId):
1134         (WebCore::InspectorPageAgent::loaderId):
1135         (WebCore::InspectorPageAgent::buildObjectForFrame):
1136         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
1137         * inspector/InspectorPageAgent.h:
1138         * inspector/InspectorResourceAgent.cpp:
1139         (WebCore::buildObjectForCachedResource):
1140         (WebCore::InspectorResourceAgent::willSendRequest):
1141         (WebCore::InspectorResourceAgent::didReceiveResponse):
1142         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1143         (WebCore::InspectorResourceAgent::setInitialScriptContent):
1144         (WebCore::InspectorResourceAgent::setInitialXHRContent):
1145         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
1146         * inspector/InspectorResourceAgent.h:
1147         (WebCore::InspectorResourceAgent::create):
1148         * inspector/InspectorStyleSheet.cpp:
1149         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1150         * inspector/front-end/NetworkManager.js:
1151         (WebInspector.NetworkManager.prototype.requestContent):
1152         * inspector/front-end/NetworkPanel.js:
1153         (WebInspector.NetworkPanel):
1154         (WebInspector.NetworkPanel.prototype.frameNavigated):
1155         * inspector/front-end/ResourceTreeModel.js:
1156         (WebInspector.ResourceTreeModel):
1157         (WebInspector.ResourceTreeModel.prototype.frontendReused):
1158         (WebInspector.ResourceTreeModel.prototype.frameNavigated):
1159         (WebInspector.ResourceTreeModel.prototype.frameDetached):
1160         * inspector/front-end/inspector.js:
1161         (WebInspector.domContentEventFired):
1162         (WebInspector.loadEventFired):
1163         (WebInspector.frameNavigated):
1164         (WebInspector.frameDetached):
1165
1166 2011-04-25  Pavel Feldman  <pfeldman@google.com>
1167
1168         Reviewed by Yury Semikhatsky.
1169
1170         Web Inspector: few protocol improvements.
1171         https://bugs.webkit.org/show_bug.cgi?id=59319
1172
1173         - Page domain is documented
1174         - setUserAgentOverride is moved to the Network agent
1175         - setSearchingForNode -> setInspectModeEnabled
1176         - highlightDOMNode -> highlightNode
1177         - reloadPage -> reload
1178         - openInNewWindow -> open with optional parameter
1179
1180         * inspector/Inspector.json:
1181         * inspector/InspectorDOMAgent.cpp:
1182         (WebCore::InspectorDOMAgent::setInspectModeEnabled):
1183         (WebCore::InspectorDOMAgent::highlightNode):
1184         * inspector/InspectorDOMAgent.h:
1185         (WebCore::InspectorDOMAgent::hideNodeHighlight):
1186         * inspector/InspectorInstrumentation.cpp:
1187         (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
1188         * inspector/InspectorPageAgent.cpp:
1189         (WebCore::InspectorPageAgent::clearFrontend):
1190         (WebCore::InspectorPageAgent::reload):
1191         (WebCore::InspectorPageAgent::open):
1192         * inspector/InspectorPageAgent.h:
1193         * inspector/InspectorResourceAgent.cpp:
1194         (WebCore::InspectorResourceAgent::clearFrontend):
1195         (WebCore::InspectorResourceAgent::applyUserAgentOverride):
1196         (WebCore::InspectorResourceAgent::setUserAgentOverride):
1197         * inspector/InspectorResourceAgent.h:
1198         * inspector/front-end/AuditsPanel.js:
1199         (WebInspector.AuditsPanel.prototype._reloadResources):
1200         * inspector/front-end/ElementsPanel.js:
1201         (WebInspector.ElementsPanel.prototype.setSearchingForNode):
1202         * inspector/front-end/ExtensionServer.js:
1203         (WebInspector.ExtensionServer.prototype._onReload):
1204         * inspector/front-end/NetworkPanel.js:
1205         (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
1206         * inspector/front-end/ResourcesPanel.js:
1207         (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
1208         * inspector/front-end/inspector.js:
1209         (WebInspector.highlightDOMNode):
1210         (WebInspector.openResource):
1211         (WebInspector.documentKeyDown):
1212
1213 2011-04-25  Jon Lee  <jonlee@apple.com>
1214
1215         Reviewed by Maciej Stachowiak.
1216
1217         Overlay scroller hard to see on pages with dark background (59183)
1218         https://bugs.webkit.org/show_bug.cgi?id=59183
1219         <rdar://problem/8975367>
1220
1221         Switch the scrollbar's overlay style depending on its frame's background color.
1222         This refactors the getDocumentBackgroundColor method needed for gestures. The style
1223         is determined and set on every paint() call to the Mac scrollbar theme.
1224
1225         * WebCore.exp.in: adding method to allow changing style
1226         * page/Frame.cpp:
1227         (WebCore::Frame::getDocumentBackgroundColor): moving code from WebFrame for reuse by FrameView
1228         * page/Frame.h:
1229         * page/FrameView.cpp:
1230         (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
1231         * page/FrameView.h:
1232         * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
1233         * platform/ScrollableArea.h:
1234         (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
1235         * platform/mac/ScrollbarThemeMac.mm:
1236         (WebCore::ScrollbarThemeMac::paint):
1237         * platform/mac/WebCoreSystemInterface.h:
1238         * platform/mac/WebCoreSystemInterface.mm:
1239
1240 2011-04-25  Dan Bernstein  <mitz@apple.com>
1241
1242         Reviewed by Maciej Stachowiak.
1243
1244         <rdar://problem/9113516> REGRESSION (WK2): Holding down Option while dragging scrollbar thumb has no effect (should make scroll distance equal mouse translation)
1245         https://bugs.webkit.org/show_bug.cgi?id=59315
1246
1247         * platform/Scrollbar.cpp:
1248         (WebCore::Scrollbar::Scrollbar): Initialize new member variables.
1249         (WebCore::Scrollbar::moveThumb): Added a boolean draggingDocument parameter. When true, the document
1250         is scrolled a distance equal to the change in the mouse position.
1251         (WebCore::Scrollbar::mouseMoved): Check with the theme whether the mouse move event should drag
1252         the document rather than the thumb, and pass the result to moveThumb.
1253         (WebCore::Scrollbar::mouseUp): Reset m_draggingDocument.
1254         * platform/Scrollbar.h:
1255         * platform/ScrollbarTheme.h:
1256         (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb): Added. The base class implementation
1257         returns false.
1258         * platform/mac/ScrollbarThemeMac.h:
1259         * platform/mac/ScrollbarThemeMac.mm:
1260         (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb): Overridden to return true if the
1261         Option key is down.
1262
1263 2011-04-24  Geoffrey Garen  <ggaren@apple.com>
1264
1265         Reviewed by Sam Weinig.
1266
1267         Removed a use of markDOMObjectWrapper: WebGL, XHR, workers; plus, more autogeneration
1268         https://bugs.webkit.org/show_bug.cgi?id=59307
1269
1270         * WebCore.xcodeproj/project.pbxproj: Added Blob.idl, so it's easier to edit.
1271
1272         * bindings/js/JSCSSRuleCustom.cpp:
1273         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1274         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1275         * bindings/js/JSDOMApplicationCacheCustom.cpp: Autogenerate these instead
1276         of hand-coding them.
1277
1278         * bindings/js/JSDOMBinding.h:
1279         (WebCore::root): Moved some GC helpers here from JSNodeCustom.h, because
1280         they're reasonably generic.
1281
1282         * bindings/js/JSDOMImplementationCustom.cpp:
1283         * bindings/js/JSDOMStringMapCustom.cpp:
1284         * bindings/js/JSDOMTokenListCustom.cpp:
1285         * bindings/js/JSHTMLCollectionCustom.cpp:
1286         * bindings/js/JSMediaListCustom.cpp: Autogenerate these instead of
1287         hand-coding them.
1288
1289         * bindings/js/JSMessageChannelCustom.cpp:
1290         (WebCore::JSMessageChannel::visitChildren):
1291         * bindings/js/JSMessagePortCustom.cpp:
1292         (WebCore::JSMessagePort::visitChildren): Use addOpaqueRoot instead of
1293         markDOMObjectWrapper. This is one of the few cases where a DOM object is
1294         considered a stand-alone root. It's not as efficient as the shared root
1295         case, but workers and message ports are very rare objects, so it's no
1296         big deal.
1297
1298         * bindings/js/JSNamedNodeMapCustom.cpp: Autogenerate!
1299
1300         * bindings/js/JSNodeCustom.h: Moved to JSDOMBinding.h.
1301
1302         * bindings/js/JSSharedWorkerCustom.cpp:
1303         (WebCore::JSSharedWorker::visitChildren): Use addOpaqueRoot instead of
1304         markDOMObjectWrapper, as above. Once again, a stand-alone root.
1305
1306         * bindings/js/JSStyleSheetCustom.cpp:
1307         * bindings/js/JSStyleSheetListCustom.cpp: Autogenerate!
1308
1309         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1310         (WebCore::JSWebGLRenderingContext::visitChildren): Use the opaque roots
1311         system for marking WebGL contexts and their associated satellite objects.
1312
1313         * bindings/js/JSWorkerContextCustom.cpp:
1314         (WebCore::JSWorkerContext::visitChildren):
1315         * bindings/js/JSXMLHttpRequestCustom.cpp: Use addOpaqueRoot instead of
1316         markDOMObjectWrapper, as above. Once again, stand-alone roots.
1317
1318         (WebCore::JSXMLHttpRequest::visitChildren):
1319         * bindings/js/JSXMLHttpRequestUploadCustom.cpp: No need to mark our owner
1320         XHR because it is not reachable from us.
1321
1322         * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration support for a
1323         bunch of repetitive cases of isReachableFromOpaqueRoots callbacks.
1324
1325         * css/CSSRule.idl:
1326         * css/CSSStyleDeclaration.idl:
1327         * css/MediaList.idl:
1328         * css/StyleMedia.idl:
1329         * css/StyleSheet.idl:
1330         * css/StyleSheetList.idl:
1331         * dom/DOMImplementation.idl:
1332         * dom/DOMStringMap.idl:
1333         * dom/MessagePort.idl:
1334         * dom/NamedNodeMap.idl:
1335         * fileapi/Blob.idl:
1336         * html/DOMTokenList.idl: Opt in to autogeneration.
1337
1338         * html/HTMLCanvasElement.cpp:
1339         (WebCore::HTMLCanvasElement::getContext): Standardized on PassOwnPtr/OwnPtr
1340         usage, to reduce human error and make ownership rules more obvious.
1341
1342         * html/HTMLCollection.idl:
1343         * html/canvas/ArrayBuffer.idl: Opt in to autogeneration.
1344
1345         * html/canvas/CanvasRenderingContext.cpp:
1346         * html/canvas/CanvasRenderingContext.h:
1347         (WebCore::CanvasRenderingContext::ref):
1348         (WebCore::CanvasRenderingContext::deref):
1349         * html/canvas/CanvasRenderingContext2D.h:
1350         (WebCore::CanvasRenderingContext2D::create):
1351         (WebCore::CanvasRenderingContext2D::state): Standardized on PassOwnPtr/OwnPtr
1352         usage, to reduce human error and make ownership rules more obvious.
1353         
1354         Inlined some functions to match our standard idiom and to make the code
1355         in the header document itself.
1356
1357         * html/canvas/CanvasRenderingContext.idl: Opt in to autogeneration.
1358
1359         * html/canvas/OESStandardDerivatives.cpp:
1360         (WebCore::OESStandardDerivatives::OESStandardDerivatives):
1361         (WebCore::OESStandardDerivatives::create):
1362         * html/canvas/OESStandardDerivatives.h:
1363         * html/canvas/OESStandardDerivatives.idl:
1364         * html/canvas/OESTextureFloat.cpp:
1365         (WebCore::OESTextureFloat::OESTextureFloat):
1366         (WebCore::OESTextureFloat::create):
1367         * html/canvas/OESTextureFloat.h:
1368         * html/canvas/OESTextureFloat.idl:
1369         * html/canvas/OESVertexArrayObject.cpp:
1370         (WebCore::OESVertexArrayObject::OESVertexArrayObject):
1371         (WebCore::OESVertexArrayObject::create):
1372         * html/canvas/OESVertexArrayObject.h:
1373         * html/canvas/OESVertexArrayObject.idl:
1374         * html/canvas/WebGLExtension.cpp:
1375         (WebCore::WebGLExtension::WebGLExtension):
1376         * html/canvas/WebGLExtension.h:
1377         (WebCore::WebGLExtension::ref):
1378         (WebCore::WebGLExtension::deref):
1379         (WebCore::WebGLExtension::context):
1380         * html/canvas/WebGLRenderingContext.cpp:
1381         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
1382         (WebCore::WebGLRenderingContext::getExtension):
1383         * html/canvas/WebGLRenderingContext.h:
1384         * html/canvas/WebKitLoseContext.cpp:
1385         (WebCore::WebKitLoseContext::WebKitLoseContext):
1386         (WebCore::WebKitLoseContext::create):
1387         (WebCore::WebKitLoseContext::loseContext):
1388         * html/canvas/WebKitLoseContext.h:
1389         * html/canvas/WebKitLoseContext.idl: Updated the ownership model for WebGL
1390         canavs rendering contexts to match the model for 2D canvas rendering
1391         contexts. This makes garbage collection a lot more straightforward, but
1392         it also makes the behavior of these objects more reliable. (Previously,
1393         satellite objects would magically stop working when the last reference
1394         to their owner object was dropped. Now, satellite objects keep their owner
1395         alive through reference counting.)
1396
1397         * loader/appcache/DOMApplicationCache.idl:
1398         * page/BarInfo.idl:
1399         * page/Console.idl:
1400         * page/DOMSelection.idl:
1401         * page/Geolocation.idl:
1402         * page/History.idl:
1403         * page/Location.idl:
1404         * page/Navigator.idl:
1405         * page/Screen.idl:
1406         * page/WorkerNavigator.idl:
1407         * plugins/DOMMimeTypeArray.h:
1408         (WebCore::DOMMimeTypeArray::frame):
1409         * plugins/DOMMimeTypeArray.idl:
1410         * plugins/DOMPluginArray.h:
1411         (WebCore::DOMPluginArray::frame):
1412         * plugins/DOMPluginArray.idl:
1413         * storage/Storage.idl:
1414         * workers/WorkerLocation.idl: Opt in to autogeneration.
1415
1416         * xml/XMLHttpRequest.cpp:
1417         (WebCore::XMLHttpRequest::~XMLHttpRequest):
1418         * xml/XMLHttpRequest.h:
1419         * xml/XMLHttpRequestUpload.cpp:
1420         (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
1421         * xml/XMLHttpRequestUpload.h:
1422         (WebCore::XMLHttpRequestUpload::create):
1423         (WebCore::XMLHttpRequestUpload::ref):
1424         (WebCore::XMLHttpRequestUpload::deref):
1425         (WebCore::XMLHttpRequestUpload::xmlHttpRequest):
1426         (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
1427         * xml/XMLHttpRequestUpload.idl: Updated the ownership model for XHR and
1428         its associated upload object to match the model for canvas. This makes
1429         garbage collection a lot more straightforward, but it also makes the
1430         behavior of these objects more reliable.
1431
1432 2011-04-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1433
1434         Unreviewed, rolling out r84759.
1435         http://trac.webkit.org/changeset/84759
1436         https://bugs.webkit.org/show_bug.cgi?id=59306
1437
1438         Caused gc-shadow.html to start crashing in V8. (Requested by
1439         dglazkov|away on #webkit).
1440
1441         * dom/Node.cpp:
1442         (WebCore::NodeRendererFactory::createRendererAndStyle):
1443         (WebCore::Node::styleForRenderer):
1444
1445 2011-04-24  Maciej Stachowiak  <mjs@apple.com>
1446
1447         Reviewed by George Staikos.
1448
1449         Handling of URLs like http:/example.com/ is incorrect
1450         https://bugs.webkit.org/show_bug.cgi?id=59300
1451         <rdar://problem/9231956>
1452
1453         URLs like http:/example.com/ or http:example.com/ are now correctly
1454         canonicalized as http://example.com/
1455         
1456         The code still doesn't quite match other browsers - at least some
1457         other browsers seem to base parsing behavior on whether they
1458         recongize a scheme from a fixed list, and ignore whether // is
1459         present in the URL or not.
1460         
1461         * platform/KURL.cpp:
1462         (WebCore::isNonFileHierarchicalScheme): New helper function.
1463         (WebCore::KURL::parse): For a particular list of whitelisted schemes,
1464         assume they are hierarchical and need an authority even if there is no //
1465         after the :/
1466
1467 2011-04-24  Dan Bernstein  <mitz@apple.com>
1468
1469         LLVM Compiler build fix.
1470
1471         * page/ContentSecurityPolicy.cpp: Removed an unused function.
1472
1473 2011-04-24  Dominic Cooney  <dominicc@chromium.org>
1474
1475         Reviewed by Dimitri Glazkov.
1476
1477         Crash when adding a text node to a shadow root
1478         https://bugs.webkit.org/show_bug.cgi?id=59304
1479
1480         Text nodes need to consult their host element for style.
1481
1482         Test: fast/dom/shadow/append-child-text.html
1483
1484         * dom/Node.cpp:
1485         (WebCore::NodeRendererFactory::styleForRenderer):
1486         (WebCore::NodeRendererFactory::createRendererAndStyle):
1487         (WebCore::Node::styleForRenderer): forward to NodeRendererFactory
1488
1489 2011-04-24  Adam Barth  <abarth@webkit.org>
1490
1491         Reviewed by Eric Seidel.
1492
1493         Update Content-Security-Policy syntax to match new version of spec
1494         https://bugs.webkit.org/show_bug.cgi?id=59291
1495
1496         Brandon removed disable-xss-protection in favor of unsafe-inline and
1497         allow-eval in favor of unsafe-eval.  This change in syntax also means
1498         the options directive no longer exists.
1499
1500         * page/ContentSecurityPolicy.cpp:
1501         (WebCore::CSPSourceList::allowInline):
1502         (WebCore::CSPSourceList::allowEval):
1503         (WebCore::CSPSourceList::CSPSourceList):
1504         (WebCore::CSPSourceList::parseSource):
1505         (WebCore::CSPSourceList::addSourceUnsafeInline):
1506         (WebCore::CSPSourceList::addSourceUnsafeEval):
1507         (WebCore::CSPDirective::allowInline):
1508         (WebCore::CSPDirective::allowEval):
1509         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
1510         (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
1511         (WebCore::ContentSecurityPolicy::allowInlineScript):
1512         (WebCore::ContentSecurityPolicy::allowEval):
1513         (WebCore::ContentSecurityPolicy::addDirective):
1514         * page/ContentSecurityPolicy.h:
1515
1516 2011-04-24  Dan Bernstein  <mitz@apple.com>
1517
1518         Reviewed by Maciej Stachowiak.
1519
1520         Manual test for <rdar://problem/9329741> Reproducible crash in WebChromeClient::invalidateContentsAndWindow() on simonscat.com
1521         https://bugs.webkit.org/show_bug.cgi?id=59299
1522
1523         * manual-tests/back-from-document-with-scrollbar.html: Added.
1524
1525 2011-04-24  Rik Cabanier  <cabanier@adobe.com>
1526
1527         Reviewed by Simon Fraser.
1528
1529         Tables are not rendered correctly
1530         https://bugs.webkit.org/show_bug.cgi?id=59138
1531
1532         Test: fast/table/auto-100-percent-width.html
1533
1534         * rendering/AutoTableLayout.cpp:
1535         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
1536
1537 2011-04-23  Simon Fraser  <simon.fraser@apple.com>
1538
1539         Fix Windows build, which complains about unreachable code.
1540
1541         * platform/ScrollableArea.cpp:
1542         (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
1543         (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
1544         (WebCore::ScrollableArea::hasLayerForScrollCorner):
1545
1546 2011-04-23  Simon Fraser  <simon.fraser@apple.com>
1547
1548         Reviewed by Dan Bernstein.
1549
1550         Area under composited scrollbars not repainted in WebKit2 on scrolling
1551         https://bugs.webkit.org/show_bug.cgi?id=59294
1552         <rdar://problem/9299062>
1553         
1554         When computing the rect that can be copied on scrolling, we normally
1555         exclude the areas occupied by overlay scrollbars to avoid smeared scrollbars;
1556         the assumption is that other code will repaint these areas. However, when
1557         scrollbars are in their own compositing layers, we can, and should
1558         copy the entire area.
1559
1560         Not testable in DRT because it does not allow tests to use overlay scrollbars.
1561
1562         * platform/ScrollView.h:
1563         * platform/ScrollView.cpp:
1564         (WebCore::ScrollView::rectToCopyOnScroll):
1565         New method, with code moved from scrollContents and fixed to look
1566         for scrollbars in layers.
1567         (WebCore::ScrollView::scrollContents):
1568         Call rectToCopyOnScroll().
1569         
1570         * platform/ScrollableArea.h:
1571         * platform/ScrollableArea.cpp:
1572         (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
1573         (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
1574         (WebCore::ScrollableArea::hasLayerForScrollCorner):
1575         Methods we can call outside of the ACCELERATED_COMPOSITING #ifdef.
1576
1577 2011-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1578
1579         Unreviewed, rolling out r84740.
1580         http://trac.webkit.org/changeset/84740
1581         https://bugs.webkit.org/show_bug.cgi?id=59290
1582
1583         change breaks apple internal builds and is incorrect
1584         (Requested by smfr on #webkit).
1585
1586         * WebCore.exp.in:
1587         * page/FrameView.cpp:
1588         * page/FrameView.h:
1589         * platform/ScrollTypes.h:
1590         * platform/ScrollableArea.h:
1591         * platform/mac/ScrollbarThemeMac.mm:
1592         (WebCore::ScrollbarThemeMac::paint):
1593         * platform/mac/WebCoreSystemInterface.h:
1594         * platform/mac/WebCoreSystemInterface.mm:
1595
1596 2011-04-23  Dan Bernstein  <mitz@apple.com>
1597
1598         Reviewed by Simon Fraser.
1599
1600         <rdar://problem/8970549> WebFindOptionsAtWordStarts fails with Japanese words
1601         https://bugs.webkit.org/show_bug.cgi?id=59288
1602
1603         * platform/text/mac/TextBoundaries.mm:
1604         (WebCore::wordStringTokenizer): Added this helper function.
1605         (WebCore::findNextWordFromIndex): Changed to use a CFStringTokenizer with kCFStringTokenizerUnitWord,
1606         whose behavior is not locale-dependent.
1607
1608 2011-04-23  Dominic Cooney  <dominicc@chromium.org>
1609
1610         Reviewed by Dimitri Glazkov.
1611
1612         [V8] Nodes in shadow DOM should not be GCed while their hosts are alive
1613         https://bugs.webkit.org/show_bug.cgi?id=59284
1614
1615         Test: fast/dom/shadow/gc-shadow.html
1616
1617         * bindings/v8/V8GCController.cpp:
1618         (WebCore::calculateGroupId): group shadow nodes with their hosts
1619
1620 2011-04-23  MORITA Hajime <morrita@google.com>
1621
1622         Reviewed by Dimitri Glazkov.
1623
1624         [Refactoring] NodeRenderParentDetector should be NodeRenderFactory
1625         https://bugs.webkit.org/show_bug.cgi?id=59280
1626         
1627         - Rename NodeRenderParentDetector to NodeRendererFactory
1628         - move createRendererAndStyle() and createRendererIfNeeded to
1629           NodeRendererFactory
1630
1631         No new test, no behavioral change.
1632         
1633         * dom/Node.cpp:
1634         (WebCore::NodeRendererFactory::NodeRendererFactory):
1635         (WebCore::NodeRendererFactory::document):
1636         (WebCore::NodeRendererFactory::nextRenderer):
1637         (WebCore::NodeRendererFactory::findVisualParent):
1638         (WebCore::NodeRendererFactory::shouldCreateRenderer):
1639         (WebCore::NodeRendererFactory::createRendererAndStyle):
1640         (WebCore::NodeRendererFactory::createRendererIfNeeded):
1641         (WebCore::Node::parentNodeForRenderingAndStyle):
1642         (WebCore::Node::createRendererIfNeeded):
1643         * dom/Node.h:
1644         * html/HTMLDetailsElement.cpp:
1645         (WebCore::DetailsSummaryElement::detailsElement): Added const_cast due to the chage on parentNodeForRenderingAndStyle() 
1646
1647 2011-04-23  MORITA Hajime  <morrita@google.com>
1648
1649         Reviewed by Kent Tamura.
1650
1651         REGRESSION: (non-Mac) <meter>'s bar part isn't rendered for with -webkit-writing-mode: vertical-lr from r82899
1652         https://bugs.webkit.org/show_bug.cgi?id=59281
1653
1654         Styles for -webkit-meter-bar and -webkit-progress-bar missed width property, which caused unexpected layout results
1655         for vertical writing modes. This fix added a width property for each of them.
1656         
1657         Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html
1658                fast/dom/HTMLProgressElement/progress-writing-mode.html
1659
1660         * css/html.css:
1661         (meter::-webkit-meter-bar):
1662         (progress::-webkit-progress-bar):
1663
1664 2011-04-23  Kevin Ollivier  <kevino@theolliviers.com>
1665
1666         [wx] Unreviewed build fix. Added missing header.
1667         
1668         * platform/graphics/filters/FEDropShadow.h:
1669
1670 2011-04-23  Alexey Proskuryakov  <ap@apple.com>
1671
1672         Reviewed by Maciej Stachowiak.
1673
1674         REGRESSION (r80812): window.print();window.close() doesn't work in WebKit2
1675         https://bugs.webkit.org/show_bug.cgi?id=59241
1676         <rdar://problem/9150861>
1677
1678         Covered by manual-tests/print-after-window-close.html.
1679
1680         Re-fixing <https://bugs.webkit.org/show_bug.cgi?id=51357> in a way that doesn't cause the
1681         regression.
1682
1683         * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::didCancel): We shouldn't be
1684         doing complicated work while the loader is half-canceled.
1685
1686         * manual-tests/print-after-window-close.html: Extended to actually print a non-empty page,
1687         thus being more practical.
1688
1689         * page/Chrome.cpp: (WebCore::Chrome::print): Added a FIXME about a need for PageGroupLoadDeferrer.
1690         It's too scary for me to try now.
1691
1692         * page/DOMWindow.cpp:
1693         (WebCore::DOMWindow::DOMWindow):
1694         (WebCore::DOMWindow::finishedLoading):
1695         * page/DOMWindow.h:
1696         Reverted the previous fix for <https://bugs.webkit.org/show_bug.cgi?id=51357>.
1697
1698 2011-04-19  Vitaly Repeshko  <vitalyr@chromium.org>
1699
1700         Reviewed by Adam Barth.
1701
1702         [V8] Use implicit references for V8 listeners on DOM nodes.
1703         https://bugs.webkit.org/show_bug.cgi?id=58953
1704
1705         Instead of allocating an auxiliary V8 array referencing V8
1706         listener objects associated with a DOM node and using an extra
1707         pointer in every DOM node wrapper, we can register implicit
1708         references between nodes and their listeners during GC. This also
1709         makes V8 bindings more aligned with JSC bindings.
1710
1711         No new tests because this is a refactoring.
1712
1713         * bindings/scripts/CodeGeneratorV8.pm: Stopped generating the
1714         listener cache internal field for DOM nodes.
1715         * bindings/v8/V8AbstractEventListener.h: Exposed the lister handle
1716         to the GC.
1717         (WebCore::V8AbstractEventListener::existingListenerObjectPeristentHandle):
1718         * bindings/v8/V8GCController.cpp: Started using implicit references.
1719         (WebCore::GrouperVisitor::visitDOMWrapper):
1720         * dom/EventTarget.h: Implemented an iterator over all listeners.
1721         (WebCore::EventListenerIterator):
1722
1723 2011-04-22  Jon Lee  <jonlee@apple.com>
1724
1725         Reviewed by Beth Dakin.
1726
1727         Overlay scroller hard to see on pages with dark background (59183)
1728         https://bugs.webkit.org/show_bug.cgi?id=59183
1729         <rdar://problem/8975367>
1730
1731         * WebCore.exp.in: adding method to allow changing style
1732         * page/FrameView.cpp:
1733         (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
1734         * page/FrameView.h:
1735         * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
1736         * platform/ScrollableArea.cpp:
1737         (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
1738         * platform/ScrollableArea.h:
1739         * platform/mac/ScrollbarThemeMac.mm:
1740         (WebCore::ScrollbarThemeMac::paint):
1741         * platform/mac/WebCoreSystemInterface.h:
1742         * platform/mac/WebCoreSystemInterface.mm:
1743
1744 2011-04-22  Chris Evans  <cevans@chromium.org>
1745
1746         Reviewed by Adam Barth.
1747
1748         Upgrade CSS loads from mixed content warning (displayed) to mixed
1749         content error (ran)
1750         https://bugs.webkit.org/show_bug.cgi?id=59056
1751
1752         Test: http/tests/security/mixedContent/insecure-css-in-iframe.html
1753         Test: http/tests/security/mixedContent/insecure-css-in-main-frame.html
1754
1755         * loader/cache/CachedResourceLoader.cpp:
1756         (WebCore::CachedResourceLoader::canRequest): CSS loads are running rather than displaying content.
1757
1758 2011-04-22  Geoffrey Garen  <ggaren@apple.com>
1759
1760         Fixed an upside-down conditional in my last check-in.
1761
1762         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1763         (WebCore::isObservable):
1764
1765 2011-04-22  Geoffrey Garen  <ggaren@apple.com>
1766         
1767         Rolled back in r84725 and r84728 with appcache crash fixed.
1768
1769         Reviewed by Oliver Hunt.
1770
1771         Removed a use of markDOMObjectWrapper: DOMWindow
1772         https://bugs.webkit.org/show_bug.cgi?id=59260
1773
1774         * bindings/js/JSDOMWindowCustom.cpp:
1775         (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
1776         we use the opaque roots system now.
1777
1778         * bindings/js/JSNavigatorCustom.cpp: Ditto.
1779
1780         * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
1781         whose opaque roots are frames.
1782
1783         * css/StyleMedia.h:
1784         (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.
1785
1786         * css/StyleMedia.idl:
1787         * loader/appcache/DOMApplicationCache.idl:
1788         * page/BarInfo.idl:
1789         * page/Console.idl:
1790         * page/DOMSelection.idl:
1791         * page/Geolocation.idl:
1792         * page/History.idl:
1793         * page/Location.idl:
1794         * page/Navigator.idl:
1795         * page/Screen.idl:
1796         * storage/Storage.idl: Updated to use the opaque roots system.
1797
1798 2011-04-22  Nate Chapin  <japhet@chromium.org>
1799
1800         Reviewed by Adam Barth.
1801
1802         Don't use XMLTreeViewer when script is disabled (it uses Javascript
1803         to build a prettified version of the xml document).
1804         https://bugs.webkit.org/show_bug.cgi?id=59113
1805
1806         * xml/XMLTreeViewer.cpp:
1807         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
1808
1809 2011-04-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1810
1811         Unreviewed, rolling out r84725 and r84728.
1812         http://trac.webkit.org/changeset/84725
1813         http://trac.webkit.org/changeset/84728
1814         https://bugs.webkit.org/show_bug.cgi?id=59270
1815
1816         It broke http/tests/appcache tests (Requested by Ossy on
1817         #webkit).
1818
1819         * bindings/js/JSDOMWindowCustom.cpp:
1820         (WebCore::JSDOMWindow::visitChildren):
1821         * bindings/js/JSNavigatorCustom.cpp:
1822         (WebCore::JSNavigator::visitChildren):
1823         * bindings/scripts/CodeGeneratorJS.pm:
1824         * css/StyleMedia.h:
1825         * css/StyleMedia.idl:
1826         * loader/appcache/DOMApplicationCache.idl:
1827         * page/BarInfo.idl:
1828         * page/Console.idl:
1829         * page/DOMSelection.idl:
1830         * page/DOMWindow.h:
1831         (WebCore::DOMWindow::optionalScreen):
1832         (WebCore::DOMWindow::optionalSelection):
1833         (WebCore::DOMWindow::optionalHistory):
1834         (WebCore::DOMWindow::optionalCrypto):
1835         (WebCore::DOMWindow::optionalLocationbar):
1836         (WebCore::DOMWindow::optionalMenubar):
1837         (WebCore::DOMWindow::optionalPersonalbar):
1838         (WebCore::DOMWindow::optionalScrollbars):
1839         (WebCore::DOMWindow::optionalStatusbar):
1840         (WebCore::DOMWindow::optionalToolbar):
1841         (WebCore::DOMWindow::optionalConsole):
1842         (WebCore::DOMWindow::optionalNavigator):
1843         (WebCore::DOMWindow::optionalLocation):
1844         (WebCore::DOMWindow::optionalMedia):
1845         (WebCore::DOMWindow::optionalSessionStorage):
1846         (WebCore::DOMWindow::optionalLocalStorage):
1847         (WebCore::DOMWindow::optionalPerformance):
1848         * page/Geolocation.idl:
1849         * page/History.idl:
1850         * page/Location.idl:
1851         * page/Navigator.h:
1852         (WebCore::Navigator::optionalGeolocation):
1853         * page/Navigator.idl:
1854         * page/Screen.idl:
1855         * storage/Storage.idl:
1856
1857 2011-04-22  Dimitri Glazkov  <dglazkov@chromium.org>
1858
1859         Reviewed by Kent Tamura.
1860
1861         Change SVG-related shadow root checks to use isSVGShadowRoot.
1862         https://bugs.webkit.org/show_bug.cgi?id=59237
1863
1864         Covered by existing tests, no behavior change.
1865
1866         * css/CSSStyleSelector.cpp:
1867         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Use isSVGShadowRoot.
1868         * svg/SVGUseElement.cpp:
1869         (WebCore::ShadowTreeUpdateBlocker::while): Ditto.
1870         * svg/animation/SVGSMILElement.cpp:
1871         (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
1872
1873 2011-04-22  Geoffrey Garen  <ggaren@apple.com>
1874
1875         Mac build fix.
1876
1877         * page/DOMWindow.h:
1878         (WebCore::DOMWindow::optionalApplicationCache): Restored this function,
1879         which is used after all.
1880
1881 2011-04-22  Geoffrey Garen  <ggaren@apple.com>
1882
1883         Mac build fix.
1884
1885         * page/DOMWindow.h:
1886         (WebCore::DOMWindow::optionalApplicationCache): Restored this function,
1887         which is used after all.
1888
1889 2011-04-22  Geoffrey Garen  <ggaren@apple.com>
1890
1891         Reviewed by Oliver Hunt.
1892
1893         Removed a use of markDOMObjectWrapper: DOMWindow
1894         https://bugs.webkit.org/show_bug.cgi?id=59260
1895
1896         * bindings/js/JSDOMWindowCustom.cpp:
1897         (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
1898         we use the opaque roots system now.
1899
1900         * bindings/js/JSNavigatorCustom.cpp: Ditto.
1901
1902         * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
1903         whose opaque roots are frames.
1904
1905         * css/StyleMedia.h:
1906         (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.
1907
1908         * css/StyleMedia.idl:
1909         * loader/appcache/DOMApplicationCache.idl:
1910         * page/BarInfo.idl:
1911         * page/Console.idl:
1912         * page/DOMSelection.idl:
1913         * page/Geolocation.idl:
1914         * page/History.idl:
1915         * page/Location.idl:
1916         * page/Navigator.idl:
1917         * page/Screen.idl:
1918         * storage/Storage.idl: Updated to use the opaque roots system.
1919
1920 2011-04-22  Xiaomei Ji  <xji@chromium.org>
1921
1922         Reviewed by Ryosuke Niwa.
1923
1924         move caret by word in visual order returns wrong result when caret itself is at word boundary.
1925         https://bugs.webkit.org/show_bug.cgi?id=58504.
1926
1927         positionBeforeNextWord should take care that the current position is after current word.
1928         positionAfterPreviousWord should take care that the current positin is before current word.
1929
1930         * editing/visible_units.cpp:
1931         (WebCore::positionBeforeNextWord):
1932         (WebCore::positionAfterPreviousWord):
1933
1934 2011-04-19  Jer Noble  <jer.noble@apple.com>
1935
1936         Reviewed by Daniel Bates.
1937
1938         Full Screen from within an <iframe> does not cause <iframe> to resize.
1939         https://bugs.webkit.org/show_bug.cgi?id=58638
1940
1941         Tests: fullscreen/full-screen-frameset.html
1942
1943         * css/CSSStyleSelector.cpp:
1944         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Add the 
1945             -webkit-full-screen pseudo class to frame elements which contain
1946             full screen elements.
1947         * css/fullscreen.css:
1948         (iframe:-webkit-full-screen): Add iframe-specific styling rules.
1949         * dom/Document.cpp:
1950         (WebCore::Document::setContainsFullScreenElementRecursively): Added.  Walk up each
1951             successive document owner element, calling setContainsFullScreenElement() if 
1952             owner is a frame element.
1953         (WebCore::Document::fullScreenIsAllowedForElement): Use the new Element::isFrameElementBase
1954             call instead of checking the element's tag name.
1955         (WebCore::Document::webkitWillEnterFullScreenForElement): Mark any containing
1956             iframes as containing a full screen element.
1957         (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
1958         * dom/Element.h:
1959         (WebCore::Element::isFrameElementBase): Added.
1960         * html/HTMLFrameElement.h:
1961         (WebCore::HTMLFrameElement::allowFullScreen): Disable full screen from within
1962             HTMLFrameElements.
1963         * html/HTMLFrameElementBase.cpp:
1964         (WebCore::HTMLFrameElementBase::setContainsFullScreenElement): Added.
1965         * html/HTMLFrameElementBase.h:
1966         (WebCore::HTMLFrameElementBase::containsFullScreenElement): Added.
1967         (WebCore::HTMLFrameElementBase::isFrameElementBase): Added.
1968
1969 2011-04-22  Michael Saboff  <msaboff@apple.com>
1970
1971         Reviewed by Maciej Stachowiak.
1972
1973         Creating copy of ContainerNode's when inserting or removing is inefficient
1974         https://bugs.webkit.org/show_bug.cgi?id=58695
1975
1976         Eliminated node copying in willRemove() and insertedIntoDocument().
1977
1978         No new tests as this is a more efficient implementation of
1979         existing code that is covered by existing tests.
1980
1981         * dom/ContainerNode.cpp:
1982         (WebCore::ContainerNode::willRemove): Changed method to use
1983         RefPtr<> to protect against modification during removal.
1984         (WebCore::ContainerNode::insertedIntoDocument): Changed method to use
1985         RefPtr<> and two other deletion checks to protect against 
1986         modification during insertion.
1987
1988 2011-04-22  Geoffrey Garen  <ggaren@apple.com>
1989
1990         Reviewed by Sam Weinig.
1991
1992         We have an autogenerator, so use it
1993         https://bugs.webkit.org/show_bug.cgi?id=59247
1994
1995         * bindings/js/JSCSSRuleCustom.cpp:
1996         * bindings/js/JSCSSRuleListCustom.cpp:
1997         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1998         * bindings/js/JSCSSValueCustom.cpp:
1999         * bindings/js/JSCanvasRenderingContextCustom.cpp:
2000         * bindings/js/JSDOMImplementationCustom.cpp:
2001         * bindings/js/JSDOMStringMapCustom.cpp:
2002         * bindings/js/JSHTMLCollectionCustom.cpp:
2003         * bindings/js/JSNamedNodeMapCustom.cpp:
2004         * bindings/js/JSNodeCustom.h:
2005         * bindings/js/JSNodeListCustom.cpp:
2006         * bindings/js/JSStyleSheetCustom.cpp:
2007         * bindings/js/JSStyleSheetListCustom.cpp: Removed repetitive hand-written code.
2008
2009         * bindings/scripts/CodeGeneratorJS.pm: Augmented autogenerator to do the job.
2010
2011         * css/CSSRule.idl:
2012         * css/CSSRuleList.idl:
2013         * css/CSSStyleDeclaration.idl:
2014         * css/CSSValue.idl:
2015         * css/MediaList.idl:
2016         * css/StyleSheet.idl:
2017         * css/StyleSheetList.idl:
2018         * dom/DOMImplementation.idl:
2019         * dom/DOMStringMap.idl:
2020         * dom/NamedNodeMap.idl:
2021         * dom/Node.idl:
2022         * dom/NodeList.idl:
2023         * html/DOMTokenList.idl:
2024         * html/HTMLCollection.idl:
2025         * html/canvas/CanvasRenderingContext.idl: Updated attributes to plug into
2026         the autogenerator.
2027
2028 2011-04-22  Beth Dakin  <bdakin@apple.com>
2029
2030         Reviewed by Maciej Stachowiak.
2031
2032         https://bugs.webkit.org/show_bug.cgi?id=59223
2033         REGRESSION (r82185): iframe not displayed after navigation back to cached page
2034
2035         Manual test added.
2036         * manual-tests/frame-layout-on-back.html: Added.
2037         * manual-tests/resources/empty-document-goes-back.html: Added.
2038         * manual-tests/resources/simple-iframe.html: Added.
2039
2040 2011-04-22  Yael Aharon  <yael.aharon@nokia.com>
2041
2042         Reviewed by Sam Weinig.
2043
2044         HTMLFormControlElement::labels should allow custom attributes.
2045         https://bugs.webkit.org/show_bug.cgi?id=59128
2046
2047         Cache the labels list when it is created and keep using it for future
2048         labels calls.
2049
2050         Test: fast/forms/labels-custom-property.html
2051
2052         * html/HTMLFormControlElement.cpp:
2053         (WebCore::HTMLFormControlElement::labels):
2054
2055 2011-04-22  Adrienne Walker  <enne@google.com>
2056
2057         Reviewed by James Robinson.
2058
2059         [chromium] Remove minimum texture size for compositor tiling
2060         https://bugs.webkit.org/show_bug.cgi?id=59236
2061
2062         This was mistakenly committed in r83915 and causes bad filtering
2063         on very small textures.
2064
2065         Tests: compositing/images/content-image-change.html
2066
2067         * platform/graphics/chromium/LayerTilerChromium.cpp:
2068         (WebCore::LayerTilerChromium::setTileSize):
2069
2070 2011-04-22  Beth Dakin  <bdakin@apple.com>
2071
2072         Reviewed by Maciej Stachowiak.
2073
2074         https://bugs.webkit.org/show_bug.cgi?id=59223
2075         REGRESSION (r82185): iframe not displayed after navigation back to cached page
2076         -and corresponding-
2077         <rdar://problem/9323763>
2078
2079         Cache the scroll position in Document::setInPageCache() instead of 
2080         FrameView::resetScrollbarsAndClearContentsSize(), and only clear the contents size 
2081         for the mainFrame(). Still resetScrollbars() for other frames, which matches pre-
2082         r82185 code.
2083         * dom/Document.cpp:
2084         (WebCore::Document::setInPageCache):
2085         * page/FrameView.cpp:
2086         (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
2087
2088 2011-04-22  Joseph Pecoraro  <joepeck@webkit.org>
2089
2090         Reviewed by Kent Tamura.
2091
2092         Let the RenderTheme decide if an input type should have a spinner
2093         https://bugs.webkit.org/show_bug.cgi?id=59246
2094
2095         Whether an input should have a spinner or not should
2096         be a UI decision made by the RenderTheme. Remove
2097         WebCore's default hasSpinButton values and defer
2098         to the RenderTheme.
2099
2100         No change in functionality, covered by existing tests.
2101
2102         * html/HTMLInputElement.cpp:
2103         (WebCore::HTMLInputElement::isRangeControl): expose isRangeControl
2104         for possible RenderTheme queries.
2105         * html/HTMLInputElement.h:
2106
2107         * rendering/RenderTextControlSingleLine.cpp:
2108         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
2109         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
2110         For both of these ask the render theme if the input should
2111         have a spinner.
2112
2113         * rendering/RenderTheme.cpp:
2114         (WebCore::RenderTheme::shouldHaveSpinButtonForInputElement):
2115         Steppable inputs (number, date, and range) but not range
2116         should have spinners. This does not change existing behavior.
2117         * rendering/RenderTheme.h:
2118
2119         * dom/InputElement.h:
2120         * html/BaseDateAndTimeInputType.cpp: remove hasSpinButton.
2121         * html/BaseDateAndTimeInputType.h: remove hasSpinButton.
2122         * html/InputType.cpp: remove hasSpinButton.
2123         * html/InputType.h: remove hasSpinButton.
2124         * html/NumberInputType.cpp: remove hasSpinButton.
2125         * html/NumberInputType.h: remove hasSpinButton.
2126
2127 2011-04-22  Joseph Pecoraro  <joepeck@webkit.org>
2128
2129         Reviewed by Kent Tamura.
2130
2131         Don't rely on hasSpinButton to check if an input type can be stepped
2132         https://bugs.webkit.org/show_bug.cgi?id=59224
2133
2134         Add isSteppable to know for certain if an input type can
2135         be stepped or not. Previously we were checking if the input
2136         has a spin control or is the range input type. These are UI
2137         details, but the step functionality does not require there
2138         to be a UI.
2139
2140         No change in behavior, covered by existing tests.
2141
2142         * html/BaseDateAndTimeInputType.cpp:
2143         (WebCore::BaseDateAndTimeInputType::isSteppable):
2144         * html/BaseDateAndTimeInputType.h:
2145         * html/HTMLInputElement.cpp:
2146         (WebCore::HTMLInputElement::isSteppable):
2147         (WebCore::HTMLInputElement::stepUpFromRenderer): remove the
2148         check for a spinner and range control and instead ASSERT
2149         that the type is steppable.
2150         * html/HTMLInputElement.h:
2151         * html/InputType.cpp:
2152         (WebCore::InputType::isSteppable):
2153         * html/InputType.h:
2154         * html/NumberInputType.cpp:
2155         (WebCore::NumberInputType::isSteppable):
2156         * html/NumberInputType.h:
2157         * html/RangeInputType.cpp:
2158         (WebCore::RangeInputType::isSteppable):
2159         * html/RangeInputType.h:
2160
2161 2011-04-22  Adam Barth  <abarth@webkit.org>
2162
2163         Reviewed by Eric Seidel.
2164
2165         CSP frame-src is missing
2166         https://bugs.webkit.org/show_bug.cgi?id=58643
2167
2168         In this patch, I've audited all the callers to
2169         SecurityOrigin::canDisplay to make sure they all the appropriate
2170         Content-Security-Policy method as well.  I'm not sure how to test all
2171         these cases, but making this changes fixed the frame-src test.
2172
2173         * loader/SubframeLoader.cpp:
2174         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
2175         (WebCore::SubframeLoader::createJavaAppletWidget):
2176         (WebCore::SubframeLoader::loadSubframe):
2177         (WebCore::SubframeLoader::loadPlugin):
2178         * loader/SubresourceLoader.cpp:
2179         (WebCore::SubresourceLoader::create):
2180         * loader/cache/CachedResourceLoader.cpp:
2181         (WebCore::CachedResourceLoader::canRequest):
2182         (WebCore::CachedResourceLoader::requestResource):
2183             - While I was understanding this code, I fixed the FIXME here.
2184         * loader/cache/CachedResourceLoader.h:
2185
2186 2011-04-22  Adrienne Walker  <enne@google.com>
2187
2188         Reviewed by Simon Fraser.
2189
2190         Clear shared graphics context when destroying CanvasRenderingContext2D.
2191         https://bugs.webkit.org/show_bug.cgi?id=59212
2192
2193         * html/canvas/CanvasRenderingContext2D.cpp:
2194         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
2195
2196 2011-04-22  Levi Weintraub  <leviw@chromium.org>
2197
2198         Reviewed by Ryosuke Niwa.
2199
2200         End/Home keys do not work in a contentEditable element
2201         https://bugs.webkit.org/show_bug.cgi?id=50564
2202
2203         Changing logical[Start/End]OfLine to return a valid VisiblePosition for for editable contexts that are
2204         inline and share a line with non-editable content.
2205
2206         Test: editing/selection/modify-by-lineboundary-in-inline-editable-contexts.html
2207
2208         * editing/visible_units.cpp:
2209         (WebCore::logicalStartOfLine):
2210         (WebCore::logicalEndOfLine):
2211
2212 2011-04-22  Dimitri Glazkov  <dglazkov@chromium.org>
2213
2214         Reviewed by Kent Tamura.
2215
2216         Make showTree/showTreeForThis aware of the shadow DOM
2217         https://bugs.webkit.org/show_bug.cgi?id=52965
2218
2219         No new tests, because this code is only compiled in DEBUG.
2220
2221         * dom/Node.cpp:
2222         (WebCore::traverseTreeAndMark): Moved tree traversal logic here, adding
2223             recursive sub-traversal of the shadow tree.
2224         (WebCore::Node::showTreeAndMark): Changed to use the new tree traversal function.
2225
2226 2011-04-22  Sam Weinig  <sam@webkit.org>
2227
2228         Reviewed by Gavin Barraclough and Oliver Hunt.
2229
2230         Arrays should participate in global object forwarding fun
2231         https://bugs.webkit.org/show_bug.cgi?id=59215
2232
2233         Change callers of constructArray to use the new variant that takes
2234         a global object.
2235
2236         * bindings/js/JSClipboardCustom.cpp:
2237         (WebCore::JSClipboard::types):
2238         * bindings/js/JSConsoleCustom.cpp:
2239         (WebCore::JSConsole::profiles):
2240         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2241         (WebCore::JSJavaScriptCallFrame::scopeChain):
2242         * bindings/js/JSMessageEventCustom.cpp:
2243         (WebCore::JSMessageEvent::ports):
2244         * bindings/js/JSScriptProfileNodeCustom.cpp:
2245         (WebCore::JSScriptProfileNode::children):
2246         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2247         (WebCore::toJS):
2248         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
2249         (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
2250
2251 2011-04-22  Csaba Osztrogon√°c  <ossy@webkit.org>
2252
2253         [Qt] Unreviewed typo fix after r84522.
2254
2255         * WebCore.pro:
2256
2257 2011-04-22  Daniel Bates  <dbates@rim.com>
2258
2259         Fix misspelled word in comment; tagets => targets.
2260
2261         * page/EventHandler.cpp:
2262         (WebCore::EventHandler::handleTouchEvent):
2263
2264 2011-04-21  Geoffrey Garen  <ggaren@apple.com>
2265
2266         Reviewed by Oliver Hunt.
2267
2268         Removed a use of markDOMObjectWrapper: Element and Document
2269         https://bugs.webkit.org/show_bug.cgi?id=59178
2270
2271         * GNUmakefile.list.am:
2272         * UseJSC.cmake:
2273         * WebCore.gypi:
2274         * WebCore.pro:
2275         * WebCore.vcproj/WebCore.vcproj:
2276         * WebCore.xcodeproj/project.pbxproj:
2277         * bindings/js/JSBindingsAllInOne.cpp: Build!
2278
2279         * bindings/js/JSDOMImplementationCustom.cpp:
2280         (WebCore::JSDOMImplementationOwner::isReachableFromOpaqueRoots):
2281         (WebCore::JSDOMImplementationOwner::finalize):
2282         (WebCore::wrapperOwner):
2283         (WebCore::wrapperContext):
2284         (WebCore::toJS): Use the opaque roots system for DOMImplementation. Also,
2285         DOMImplementation does not need to keep its document wrapper alive, since
2286         there's no DOM API for getting a DOMImplementation's document.
2287
2288         * bindings/js/JSDOMStringMapCustom.cpp:
2289         (WebCore::JSDOMStringMapOwner::isReachableFromOpaqueRoots):
2290         (WebCore::JSDOMStringMapOwner::finalize):
2291         (WebCore::wrapperOwner):
2292         (WebCore::wrapperContext):
2293         (WebCore::toJS): Use the opaque roots system for DOMStringMap.
2294
2295         * bindings/js/JSDOMTokenListCustom.cpp: Added.
2296         (WebCore::JSDOMTokenListOwner::isReachableFromOpaqueRoots):
2297         (WebCore::JSDOMTokenListOwner::finalize):
2298         (WebCore::wrapperOwner):
2299         (WebCore::wrapperContext):
2300         (WebCore::toJS): Use the opaque roots system for DOMTokenList.
2301
2302         * bindings/js/JSDocumentCustom.cpp:
2303         (WebCore::JSDocument::visitChildren):
2304         * bindings/js/JSElementCustom.cpp: No more need for explicit marking.
2305
2306         * bindings/scripts/CodeGeneratorV8.pm: Boo on whoever made this design decision.
2307
2308         * dom/DOMImplementation.cpp:
2309         (WebCore::DOMImplementation::DOMImplementation):
2310         (WebCore::DOMImplementation::createDocument):
2311         (WebCore::DOMImplementation::createHTMLDocument):
2312         * dom/DOMImplementation.h:
2313         (WebCore::DOMImplementation::create):
2314         (WebCore::DOMImplementation::ref):
2315         (WebCore::DOMImplementation::deref):
2316         (WebCore::DOMImplementation::document): Fixed the DOMImplementation
2317         ownership model to match other satellite objects in the DOM. This was
2318         necessary to fix some crashes due to incorrect reference counting.
2319
2320         * dom/DOMImplementation.idl:
2321         * dom/DOMStringMap.idl:
2322         * dom/Document.cpp:
2323         (WebCore::Document::~Document):
2324         * dom/Document.h:
2325         * dom/Element.cpp:
2326         * dom/Element.h:
2327         * dom/Element.idl:
2328         * html/DOMTokenList.idl: Updated to match changes above.
2329
2330 2011-04-22  Simon Fraser  <simon.fraser@apple.com>
2331
2332         Reviewed by Dan Bernstein.
2333
2334         Rounded corners don't looks smooth when background-image is a gradient
2335         https://bugs.webkit.org/show_bug.cgi?id=59213
2336         
2337         Add the "shrink background" behavior to the slow background
2338         drawing code path.
2339
2340         Test: fast/backgrounds/gradient-background-leakage.html
2341
2342         * rendering/RenderBoxModelObject.cpp:
2343         (WebCore::backgroundRectAdjustedForBleedAvoidance):
2344         Utility function that returns a shrunk border rect based
2345         on the context scale.
2346         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2347         Use backgroundRectAdjustedForBleedAvoidance() in both the fast
2348         and slow paths.
2349
2350 2011-04-22  Xiaomei Ji  <xji@chromium.org>
2351
2352         Reviewed by David Hyatt.
2353
2354         Local caret rectangle calculation should be relative to its containing block.
2355         https://bugs.webkit.org/show_bug.cgi?id=49508.
2356
2357         InlineBox and caret rectangle are positioned relative to its containing block.
2358         So its left and right edge value should be relative to its containing block as well. 
2359
2360         Test: fast/forms/cursor-at-editable-content-boundary.html
2361
2362         * rendering/RenderText.cpp:
2363         (WebCore::RenderText::localCaretRect):
2364
2365 2011-04-22  Levi Weintraub  <leviw@chromium.org>
2366
2367         Reviewed by Darin Fisher.
2368
2369         REGRESSION: left property broken with position:fixed elements in RTL documents
2370         https://bugs.webkit.org/show_bug.cgi?id=59204
2371         http://code.google.com/p/chromium/issues/detail?id=80216
2372
2373         Test: fast/block/positioning/rtl-fixed-positioning.html
2374               fast/block/positioning/vertical-rl/fixed-positioning.html
2375
2376         Returning the proper scroll offsets for fixed position content in RTL documents.
2377         We regressed to X and Y offsets not updating while scrolling when we clamped to zero,
2378         but RTL documents scroll in negative space.
2379
2380         * page/FrameView.cpp:
2381         (WebCore::FrameView::scrollXForFixedPosition): Properly handling RTL documents where
2382         the scroll origin and offsets are negative.
2383         (WebCore::FrameView::scrollYForFixedPosition): Properly handling vertical writing-
2384         mode RTL documents, like above.
2385         * platform/ScrollView.h:
2386         (WebCore::ScrollView::scrollOrigin): Changing this accessor to const.
2387
2388 2011-04-22  Justin Schuh  <jschuh@chromium.org>
2389
2390         Reviewed by Eric Seidel.
2391
2392         Should assert on invalid type in FEComponentTransfer::apply
2393         https://bugs.webkit.org/show_bug.cgi?id=57959
2394
2395         No functional change. No new tests needed.
2396
2397         * platform/graphics/filters/FEComponentTransfer.cpp:
2398         (WebCore::FEComponentTransfer::apply):
2399
2400 2011-04-22  MORITA Hajime  <morrita@google.com>
2401
2402         Unreviewed crash fix.
2403
2404         * html/HTMLDetailsElement.cpp:
2405         (WebCore::DetailsSummaryElement::shouldInclude):
2406
2407 2011-04-22  Dan Bernstein  <mitz@apple.com>
2408
2409         Reviewed by Sam Weinig.
2410
2411         Exclude scrollbars from the dirty rect passed to the document
2412         https://bugs.webkit.org/show_bug.cgi?id=59206
2413
2414         No test added because functionality is unchanged.
2415
2416         * platform/ScrollView.cpp:
2417         (WebCore::ScrollView::paint): Compute a clip rectangle (analogous to the frame of the clip view
2418         in an NSScrollView) by subtracting non-overlay scrollbars, and intersect the document dirty rect
2419         with it. If the result is empty, avoid calling paintContents().
2420
2421 2011-04-22  Jer Noble  <jer.noble@apple.com>
2422
2423         Reviewed by Maciej Stachowiak.
2424
2425         Disable MediaPlayerPrivateAVFoundation when using old full screen mode.
2426         https://bugs.webkit.org/show_bug.cgi?id=59147
2427
2428         Add a new isAVFoundationEnabled setting and check it before adding 
2429         MediaPlayerPrivateAVFoundationObjC to the media engine registry.
2430
2431         * WebCore.exp.in:
2432         * page/Settings.cpp:
2433         * page/Settings.h:
2434         (WebCore::Settings::setAVFoundationEnabled): Added.
2435         (WebCore::Settings::isAVFoundationEnabled): Added.
2436         * platform/graphics/MediaPlayer.cpp:
2437         (WebCore::installedMediaEngines): Check the settings added above.
2438
2439 2011-04-22  Sam Weinig  <sam@webkit.org>
2440
2441         Reviewed by Gavin Barraclough.
2442
2443         Remove remaining uses of deprecated version of toJS
2444         https://bugs.webkit.org/show_bug.cgi?id=59170
2445
2446         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2447         (WebCore::toJS):
2448         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
2449         (WebCore::JSCanvasRenderingContext2D::fillStyle):
2450         (WebCore::JSCanvasRenderingContext2D::createPattern):
2451         * bindings/js/JSConsoleCustom.cpp:
2452         (WebCore::JSConsole::profiles):
2453         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2454         (WebCore::JSSQLStatementErrorCallback::handleEvent):
2455         * bindings/js/JSDOMBinding.h:
2456         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
2457         (WebCore::JSDOMMimeTypeArray::nameGetter):
2458         * bindings/js/JSDOMPluginArrayCustom.cpp:
2459         (WebCore::JSDOMPluginArray::nameGetter):
2460         * bindings/js/JSDOMPluginCustom.cpp:
2461         (WebCore::JSDOMPlugin::nameGetter):
2462         * bindings/js/JSDOMWindowCustom.cpp:
2463         (WebCore::namedItemGetter):
2464         (WebCore::JSDOMWindow::event):
2465         * bindings/js/JSEventTarget.cpp:
2466         (WebCore::toJS):
2467         * bindings/js/JSInjectedScriptHostCustom.cpp:
2468         Propagate stored global object down access chain.
2469
2470         (WebCore::InjectedScriptHost::nodeAsScriptValue):
2471         Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype.
2472
2473         (WebCore::JSInjectedScriptHost::currentCallFrame):
2474         (WebCore::JSInjectedScriptHost::inspectedNode):
2475         * bindings/js/JSNamedNodeMapCustom.cpp:
2476         (WebCore::JSNamedNodeMap::nameGetter):
2477         * bindings/js/JSNodeListCustom.cpp:
2478         (WebCore::callNodeList):
2479         (WebCore::JSNodeList::nameGetter):
2480         * bindings/js/JSScriptProfileNodeCustom.cpp:
2481         (WebCore::JSScriptProfileNode::children):
2482         * bindings/js/JSStyleSheetListCustom.cpp:
2483         (WebCore::JSStyleSheetList::nameGetter):
2484         * bindings/js/JSXSLTProcessorCustom.cpp:
2485         (WebCore::JSXSLTProcessor::transformToFragment):
2486         (WebCore::JSXSLTProcessor::transformToDocument):
2487         * bindings/scripts/CodeGeneratorJS.pm:
2488         Propagate stored global object down access chain.
2489
2490         * css/MediaQueryListListener.cpp:
2491         (WebCore::MediaQueryListListener::queryChanged):
2492         Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype,
2493         we will want refactor this to match other callbacks so we can remove this.
2494
2495 2011-04-22  Naoki Takano  <takano.naoki@gmail.com>
2496
2497         Reviewed by Eric Seidel.
2498
2499         [Chromium]Mac UI polish to add left/right padding space for autofill popup window.
2500         https://bugs.webkit.org/show_bug.cgi?id=58960
2501         http://code.google.com/p/chromium/issues/detail?id=51077
2502
2503         No new test because Chromium Autofill popup window doesn't have any test framework.
2504         This assumes only AutofillPopupMenuClient gives TexFieldPart appearance.
2505         Only if Autofill popup window has right/left padding.
2506         The code should be removed after Autofill popup window logic is separated from WebKit to Chromium.
2507
2508         * rendering/RenderThemeChromiumMac.h: Add popupInternalPaddingRight() and popupInternalPaddingLeft().
2509         * rendering/RenderThemeChromiumMac.mm:
2510         (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft): Return padding size only if TextFieldPart is specified.
2511         (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight): Return padding size only if TextFieldPart is specified.
2512
2513 2011-04-21  Adam Roben  <aroben@apple.com>
2514
2515         Add code to enumerate all the functions imported by a particular Windows binary
2516
2517         PEImage is where all the logic starts. It represents a single Portable Executable (PE)
2518         binary. The various enumerator classes are used in conjunction with PEImage to enumerate the
2519         modules and functions imported by that image.
2520
2521         I couldn't figure out how to write a test for this. :-(
2522
2523         Part of <http://webkit.org/b/51063> <rdar://problem/8769281> REGRESSION (WebKit2): No
2524         context menu appears when right-clicking on windowless Flash plugin
2525
2526         Reviewed by Sam Weinig, and given a good once-over by Jeff Miller.
2527
2528         * WebCore.vcproj/WebCore.vcproj: Added the new files.
2529
2530         * platform/win/PEImage.cpp: Added.
2531         (WebCore::PEImage::PEImage): Checks that the module contains the expected magic numbers,
2532         then initializes m_ntHeaders using the module.
2533         (WebCore::PEImage::convertRVAToAddress): Converts a relative virtual address (RVA) to a
2534         non-relative address, which can then be dereferenced. (The PE format uses RVAs in lots of
2535         places.)
2536         (WebCore::PEImage::dataDirectoryEntryAddress): Returns the address of the data associated
2537         with the given entry in the image's DataDirectory.
2538
2539         * platform/win/PEImage.h: Added.
2540         (WebCore::PEImage::isValid): We're a valid image if the validation code in our constructor
2541         succeeded, in which case m_ntHeaders will be set.
2542
2543         * platform/win/ImportedFunctionsEnumerator.cpp: Added. This class enumerates all the
2544         functions imported by the image from a single module by walking the Import Name Table (INT)
2545         and Import Address Table (IAT).
2546         (WebCore::ImportedFunctionsEnumerator::ImportedFunctionsEnumerator): Initialize our members.
2547         (WebCore::ImportedFunctionsEnumerator::isAtEnd): The INT and IAT are both 0-terminated
2548         arrays.
2549         (WebCore::ImportedFunctionsEnumerator::next): Step to the next entries in the INT and IAT.
2550         (WebCore::ImportedFunctionsEnumerator::currentFunctionName): Gets the address of the
2551         function's name, if possible, using the INT.
2552         (WebCore::ImportedFunctionsEnumerator::addressOfCurrentFunctionPointer): Returns the address
2553         of the function pointer for the current function. This function pointer is used whenever
2554         code in m_image calls the current function. (A future patch will take advantage of this by
2555         overwriting this function pointer with another, thereby redirecting calls to that function.)
2556
2557         * platform/win/ImportedFunctionsEnumerator.h: Added.
2558
2559         * platform/win/ImportedModulesEnumeratorBase.h: Added. This base class is used by
2560         ImportedModulesEnumerator and DelayLoadedModulesEnumerator, and allows code to be written
2561         that works with either one.
2562
2563         * platform/win/ImportedModulesEnumerator.cpp: Added. This class enumerates all the
2564         non-delay-loaded modules imported by the image by walking the image's import array.
2565         (WebCore::ImportedModulesEnumerator::ImportedModulesEnumerator): Module import information
2566         is stored in the IMAGE_DIRECTORY_ENTRY_IMPORT entry of the image's DataDirectory.
2567         (WebCore::ImportedModulesEnumerator::isAtEnd): The import array is 0-terminated.
2568         (WebCore::ImportedModulesEnumerator::next): Steps along the import array.
2569         (WebCore::ImportedModulesEnumerator::currentModuleName): Gets the address of the module's
2570         name.
2571         (WebCore::ImportedModulesEnumerator::functionsEnumerator): Get's the addresses of the INT
2572         and IAT for this module and wraps them in an ImportedFunctionsEnumerator.
2573
2574         * platform/win/ImportedModulesEnumerator.h: Added.
2575
2576         * platform/win/DelayLoadedModulesEnumerator.cpp: Added. This class enumerates all the
2577         delay-loaded modules that are imported by the given PEImage by walking the image's
2578         ImageDelayDescr array.
2579         (WebCore::DelayLoadedModulesEnumerator::DelayLoadedModulesEnumerator): Delay-load
2580         information is stored in the IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT entry of the image's
2581         DataDirectory.
2582         (WebCore::DelayLoadedModulesEnumerator::isAtEnd): The delay-loaded modules array is
2583         0-terminated.
2584         (WebCore::DelayLoadedModulesEnumerator::next): Steps along the delay-loaded modules array.
2585         (WebCore::DelayLoadedModulesEnumerator::currentModuleName): Gets the address of the module's
2586         name out of the descriptor.
2587         (WebCore::DelayLoadedModulesEnumerator::functionsEnumerator): Gets the INT and IAT for the
2588         current module out of the descriptor and makes an ImportedFunctionsEnumerator from them.
2589         (WebCore::DelayLoadedModulesEnumerator::convertPotentialRVAToAddress): Pre-VC7.0 images
2590         stored non-relative addresses in the ImageDelayDescr structures, while VC7.0 and later
2591         images store RVAs. This function abstracts away the difference.
2592
2593         * platform/win/DelayLoadedModulesEnumerator.h: Added.
2594
2595 2011-04-21  Adam Roben  <aroben@apple.com>
2596
2597         Add a shared do-nothing window class that anyone can use
2598
2599         Fixes <http://webkit.org/b/59102> WebKit has too many dummy window classes
2600
2601         Reviewed by Anders Carlsson.
2602
2603         * WebCore.vcproj/WebCore.vcproj: Added DefWndProcWindowClass.{cpp,h}. Moved Arena.cpp out of
2604         platform/win and into platform. Let VS reorder other files.
2605
2606         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
2607         (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Changed to use the shared
2608         dummy window class instead of creating our own.
2609
2610         * platform/win/DefWndProcWindowClass.cpp: Added.
2611         (WebCore::registerClass): Register it!
2612         (WebCore::defWndProcWindowClassName): Register it and return it!
2613
2614         * platform/win/DefWndProcWindowClass.h: Added.
2615
2616 2011-04-21  MORITA Hajime  <morrita@google.com>
2617
2618         Reviewed by Dimitri Glazkov.
2619         
2620         Content of <details> should be forwarded through the shadow DOM
2621         https://bugs.webkit.org/show_bug.cgi?id=59055
2622
2623         - Made ShadowContentElement abstract and added shouldInclude() pure virtual method.
2624         - Added SummaryContentElement, DetailsContentElement, DetailsSummaryElement as
2625           subclasses of ShadowContentElement.
2626         - Gave two shadow children for HTMLDetailsElement. One is DetailsContentElement, that
2627           handles non-summary contents of <details>. Another is SummaryContentElement, that
2628           handles the main summary element.
2629         - Removed most of RenderDetails custom layout mechanism, which is replaced by
2630           ShadowContentElement subclasses.
2631
2632         Tests: fast/html/details-add-child-1.html
2633                fast/html/details-add-child-2.html
2634                fast/html/details-remove-child-1.html
2635                fast/html/details-remove-child-2.html
2636
2637         * dom/ShadowRoot.cpp:
2638         (WebCore::ShadowRoot::contentContainerFor):
2639         (WebCore::ShadowRoot::hostChildrenChanged):
2640         (WebCore::ShadowRoot::hasContentElement):
2641         * dom/ShadowRoot.h:
2642         * html/HTMLDetailsElement.cpp:
2643         (WebCore::DetailsContentElement::DetailsContentElement):
2644         (WebCore::DetailsContentElement::create):
2645         (WebCore::DetailsContentElement::shouldInclude):
2646         (WebCore::DetailsSummaryElement::DetailsSummaryElement):
2647         (WebCore::DetailsSummaryElement::create):
2648         (WebCore::DetailsSummaryElement::shouldInclude):
2649         (WebCore::HTMLDetailsElement::create):
2650         (WebCore::HTMLDetailsElement::HTMLDetailsElement):
2651         (WebCore::HTMLDetailsElement::ensureShadowSubtreeOf):
2652         (WebCore::findSummaryFor):
2653         (WebCore::HTMLDetailsElement::ensureMainSummary):
2654         (WebCore::HTMLDetailsElement::refreshMainSummary):
2655         (WebCore::HTMLDetailsElement::createShadowSubtree):
2656         * html/HTMLDetailsElement.h:
2657         * html/HTMLSummaryElement.cpp:
2658         (WebCore::SummaryContentElement::SummaryContentElement):
2659         (WebCore::SummaryContentElement::shouldInclude):
2660         (WebCore::SummaryContentElement::create):
2661         (WebCore::HTMLSummaryElement::createShadowSubtree):
2662         * html/shadow/ShadowContentElement.h:
2663         * rendering/RenderDetails.cpp:
2664         (WebCore::RenderDetails::RenderDetails):
2665         (WebCore::RenderDetails::addChild):
2666         * rendering/RenderDetails.h:
2667         * rendering/RenderSummary.cpp:
2668         * rendering/RenderSummary.h:
2669
2670 2011-04-21  Simon Fraser  <simon.fraser@apple.com>
2671
2672         Reviewed by Dan Bernstein.
2673
2674         Extra GraphicsContext::save() in InlineTextBox::paintDecoration()
2675         https://bugs.webkit.org/show_bug.cgi?id=59109
2676         
2677         Remove an extraneous GraphicsContext::save() in InlineTextBox::paintDecoration().
2678         
2679         Add an assertion that fires when a GraphicsContext() is destroyed with a non-
2680         empty state stack. Fix canvas to avoid this assertion, since bad content might
2681         trigger it.
2682         
2683         Also add an assertion that fires for mismatched begin/endTransparencyLayers.
2684
2685         Test: fast/text/multiple-text-shadow-alpha.html
2686
2687         * html/HTMLCanvasElement.cpp:
2688         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
2689         Make sure that the CanvasRenderingContext goes away before the ImageBuffer,
2690         so that CanvasRenderingContext2D has a chance to unwind the state stack in
2691         the ImageBuffer's GraphicsContext.
2692         
2693         * html/canvas/CanvasRenderingContext2D.cpp:
2694         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
2695         Balance unmatched state saves in the canvas context.
2696         
2697         * platform/graphics/GraphicsContext.cpp:
2698         (WebCore::GraphicsContext::~GraphicsContext):
2699         Assert that the stack is empty.
2700         
2701         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
2702         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2703         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2704         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
2705         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
2706         Changes to allow for asserting for unmatched transparency layer begin/ends.
2707         
2708         * rendering/InlineTextBox.cpp:
2709         (WebCore::InlineTextBox::paintDecoration):
2710         Remove an unbalanced save().
2711
2712 2011-04-22  Pavel Feldman  <pfeldman@google.com>
2713
2714         Reviewed by Yury Semikhatsky.
2715
2716         Web Inspector: add Save As context menu item to the TextViewer.
2717         https://bugs.webkit.org/show_bug.cgi?id=59196
2718
2719         * inspector/front-end/ResourceView.js:
2720         (WebInspector.ResourceSourceFrame.prototype.requestContent):
2721         (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
2722         (WebInspector.RevisionSourceFrame.prototype.requestContent):
2723         (WebInspector.RevisionSourceFrame.prototype.suggestedFileName):
2724         * inspector/front-end/ScriptsPanel.js:
2725         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2726         (WebInspector.SourceFrameDelegateForScriptsPanel):
2727         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled):
2728         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
2729         * inspector/front-end/SourceFrame.js:
2730         (WebInspector.SourceFrame.prototype._initializeTextViewer):
2731         (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
2732         (WebInspector.SourceFrame.prototype.suggestedFileName):
2733         (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled):
2734         (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
2735         * inspector/front-end/TextViewer.js:
2736         (WebInspector.TextViewer.prototype._contextMenu):
2737         (WebInspector.TextViewerDelegate.prototype.cancelEditing):
2738         (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
2739         (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
2740         (WebInspector.TextViewerDelegate.prototype.suggestedFileName):
2741
2742 2011-04-22  Mikhail Naganov  <mnaganov@chromium.org>
2743
2744         Reviewed by Pavel Feldman.
2745
2746         Web Inspector: [Chromium] Move detailed heap snapshots storage and processing into workers.
2747         https://bugs.webkit.org/show_bug.cgi?id=59094
2748
2749         * WebCore.gypi:
2750         * WebCore.vcproj/WebCore.vcproj:
2751         * gyp/streamline-inspector-source.sh:
2752         * inspector/front-end/DetailedHeapshotGridNodes.js:
2753         (WebInspector.HeapSnapshotGridNode.prototype.dispose):
2754         (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
2755         (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
2756         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
2757         (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
2758         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
2759         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
2760         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
2761         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
2762         (MixInSnapshotNodeFunctions):
2763         * inspector/front-end/DetailedHeapshotView.js:
2764         (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
2765         (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
2766         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
2767         (WebInspector.HeapSnapshotRetainingPathsList.prototype.dispose):
2768         (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths):
2769         (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
2770         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
2771         (WebInspector.HeapSnapshotRetainingPathsList.prototype.searchCancelled):
2772         (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
2773         (WebInspector.DetailedHeapshotView.prototype.dispose):
2774         (WebInspector.DetailedHeapshotView.prototype.get profileWrapper):
2775         (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper):
2776         * inspector/front-end/HeapSnapshot.js:
2777         (WebInspector.HeapSnapshotLoader):
2778         (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
2779         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
2780         (WebInspector.HeapSnapshot.prototype.pushBaseIds):
2781         (WebInspector.HeapSnapshot.prototype.createDiff):
2782         (WebInspector.HeapSnapshot.prototype._parseFilter):
2783         (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
2784         (WebInspector.HeapSnapshot.prototype.createNodesProvider):
2785         (WebInspector.HeapSnapshot.prototype.createPathFinder):
2786         (WebInspector.HeapSnapshot.prototype.updateStaticData):
2787         (WebInspector.HeapSnapshotPathFinder):
2788         (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots):
2789         (WebInspector.HeapSnapshotPathFinder.prototype._reset):
2790         * inspector/front-end/HeapSnapshotProxy.js:
2791         (WebInspector.HeapSnapshotRealWorker):
2792         (WebInspector.HeapSnapshotRealWorker.prototype._messageReceived):
2793         (WebInspector.HeapSnapshotRealWorker.prototype.postMessage):
2794         (WebInspector.HeapSnapshotRealWorker.prototype.terminate):
2795         (WebInspector.HeapSnapshotFakeWorker):
2796         (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
2797         (WebInspector.HeapSnapshotFakeWorker.prototype.terminate):
2798         (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
2799         (WebInspector.HeapSnapshotWorker):
2800         (WebInspector.HeapSnapshotWorker.prototype.createObject):
2801         (WebInspector.HeapSnapshotWorker.prototype.dispose):
2802         (WebInspector.HeapSnapshotWorker.prototype.disposeObject):
2803         (WebInspector.HeapSnapshotWorker.prototype.callGetter):
2804         (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod.wrapCallback):
2805         (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod):
2806         (WebInspector.HeapSnapshotWorker.prototype.callMethod):
2807         (WebInspector.HeapSnapshotWorker.prototype._findFunction):
2808         (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
2809         (WebInspector.HeapSnapshotWorker.prototype._postMessage):
2810         (WebInspector.HeapSnapshotProxyObject):
2811         (WebInspector.HeapSnapshotProxyObject.prototype._callWorker):
2812         (WebInspector.HeapSnapshotProxyObject.prototype.dispose):
2813         (WebInspector.HeapSnapshotProxyObject.prototype.disposeWorker):
2814         (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod):
2815         (WebInspector.HeapSnapshotProxyObject.prototype.callGetter):
2816         (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
2817         (WebInspector.HeapSnapshotLoaderProxy):
2818         (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.callLoadCallbacks):
2819         (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
2820         (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
2821         (WebInspector.HeapSnapshotLoaderProxy.prototype.get loaded):
2822         (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading):
2823         (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk):
2824         (WebInspector.HeapSnapshotProxy):
2825         (WebInspector.HeapSnapshotProxy.prototype.aggregates):
2826         (WebInspector.HeapSnapshotProxy.prototype.createDiff):
2827         (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
2828         (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
2829         (WebInspector.HeapSnapshotProxy.prototype.createPathFinder):
2830         (WebInspector.HeapSnapshotProxy.prototype.dispose):
2831         (WebInspector.HeapSnapshotProxy.prototype.finishLoading):
2832         (WebInspector.HeapSnapshotProxy.prototype.get loaded):
2833         (WebInspector.HeapSnapshotProxy.prototype.get nodeCount):
2834         (WebInspector.HeapSnapshotProxy.prototype.nodeFieldValuesByIndex):
2835         (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
2836         (WebInspector.HeapSnapshotProxy.prototype.get rootNodeIndex):
2837         (WebInspector.HeapSnapshotProxy.prototype.updateStaticData):
2838         (WebInspector.HeapSnapshotProxy.prototype.startLoading):
2839         (WebInspector.HeapSnapshotProxy.prototype.get totalSize):
2840         (WebInspector.HeapSnapshotProxy.prototype.get uid):
2841         (WebInspector.HeapSnapshotProviderProxy):
2842         (WebInspector.HeapSnapshotProviderProxy.prototype.isEmpty):
2843         (WebInspector.HeapSnapshotProviderProxy.prototype.serializeNextItems):
2844         (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):
2845         (WebInspector.HeapSnapshotPathFinderProxy):
2846         (WebInspector.HeapSnapshotPathFinderProxy.prototype.findNext):
2847         (WebInspector.HeapSnapshotPathFinderProxy.prototype.updateRoots):
2848         (WebInspector.HeapSnapshotsDiffProxy):
2849         (WebInspector.HeapSnapshotsDiffProxy.prototype.calculate):
2850         (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
2851         (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
2852         * inspector/front-end/HeapSnapshotWorker.js: Added.
2853         (WebInspector.UIString):
2854         (postMessageWrapper):
2855         * inspector/front-end/HeapSnapshotWorkerDispatcher.js: Added.
2856         (WebInspector.HeapSnapshotWorkerDispatcher):
2857         (WebInspector.HeapSnapshotWorkerDispatcher.prototype._findFunction):
2858         (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):
2859         * inspector/front-end/ProfilesPanel.js:
2860         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
2861         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed):
2862         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
2863         * inspector/front-end/WebKit.qrc:
2864         * inspector/front-end/inspector.html:
2865
2866 2011-04-22  Pavel Podivilov  <podivilov@chromium.org>
2867
2868         Reviewed by Pavel Feldman.
2869
2870         Web Inspector: fix de-obfuscation of scripts inlined in html.
2871         https://bugs.webkit.org/show_bug.cgi?id=58538
2872
2873         Use html tokenizer to find script boundaries instead of relying on scriptParsed events.
2874
2875         Test: inspector/debugger/script-formatter.html
2876
2877         * WebCore.gypi:
2878         * WebCore.vcproj/WebCore.vcproj:
2879         * inspector/front-end/JavaScriptFormatter.js: Renamed from Source/WebCore/inspector/front-end/UglifyJS/JavaScriptFormatter.js.
2880         * inspector/front-end/ScriptFormatter.js:
2881         (WebInspector.ScriptFormatter):
2882         (WebInspector.ScriptFormatter.prototype.formatContent):
2883         (WebInspector.ScriptFormatter.prototype._didFormatContent):
2884         * inspector/front-end/ScriptFormatterWorker.js:
2885         (onmessage):
2886         (formatScript):
2887         (HTMLScriptFormatter):
2888         (HTMLScriptFormatter.prototype.format):
2889         (HTMLScriptFormatter.prototype.scriptStarted):
2890         (HTMLScriptFormatter.prototype.scriptEnded):
2891         (HTMLScriptFormatter.prototype.styleSheetStarted):
2892         (HTMLScriptFormatter.prototype.styleSheetEnded):
2893         * inspector/front-end/SourceFile.js:
2894         (WebInspector.FormattedSourceFile.prototype._didRequestContent):
2895         * inspector/front-end/SourceHTMLTokenizer.js:
2896         (WebInspector.SourceHTMLTokenizer.prototype.scriptStarted):
2897         (WebInspector.SourceHTMLTokenizer.prototype.scriptEnded):
2898         (WebInspector.SourceHTMLTokenizer.prototype.styleSheetStarted):
2899         (WebInspector.SourceHTMLTokenizer.prototype.styleSheetEnded):
2900         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
2901         * inspector/front-end/SourceHTMLTokenizer.re2js:
2902         * inspector/front-end/WebKit.qrc:
2903
2904 2011-04-22  Andrey Kosyakov  <caseq@chromium.org>
2905
2906         Reviewed by Pavel Feldman.
2907
2908         Web Inspector: [Extensions API] misc API cleanup
2909         https://bugs.webkit.org/show_bug.cgi?id=59194
2910
2911         * inspector/front-end/ExtensionAPISchema.json:
2912         * inspector/front-end/ExtensionPanel.js:
2913         (WebInspector.ExtensionSidebarPane.prototype._setObject):
2914
2915 2011-04-21  Pavel Feldman  <pfeldman@google.com>
2916
2917         Reviewed by Yury Semikhatsky.
2918
2919         Web Inspector: group content scripts in the scripts panel drop down.
2920         https://bugs.webkit.org/show_bug.cgi?id=59108
2921
2922         * English.lproj/localizedStrings.js:
2923         * inspector/front-end/ScriptsPanel.js:
2924         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
2925         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
2926
2927 2011-04-22  Mike West  <mkwst@google.com>
2928
2929         Reviewed by Pavel Feldman.
2930
2931         Web Inspector: Tiny improvement to UI for adding an XHR breakpoint
2932         https://bugs.webkit.org/show_bug.cgi?id=59100
2933
2934         Improve web inspector UI around adding XHR breakpoints by adding
2935         a textual label to the input-like `span` used to specify which
2936         XHR requests the breakpoint ought to target.
2937
2938         * inspector/front-end/BreakpointsSidebarPane.js:
2939         (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
2940         (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
2941         * inspector/front-end/inspector.css:
2942         (#breakpoint-condition-input):
2943
2944 2011-04-22  Pavel Podivilov  <podivilov@chromium.org>
2945
2946         Reviewed by Pavel Feldman.
2947
2948         Web Inspector: js formatter should never insert new tokens or remove existing tokens and comments.
2949         https://bugs.webkit.org/show_bug.cgi?id=59191
2950
2951         * WebCore.gypi:
2952         * WebCore.vcproj/WebCore.vcproj:
2953         * inspector/front-end/ScriptFormatter.js:
2954         (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
2955         (WebInspector.ScriptFormatter.prototype.formatContent):
2956         * inspector/front-end/ScriptFormatterWorker.js:
2957         (onmessage):
2958         * inspector/front-end/SourceFile.js:
2959         (WebInspector.SourceFile.prototype._loadResourceContent):
2960         (WebInspector.FormattedSourceFile.prototype._didRequestContent):
2961         (WebInspector.FormattedSourceMapping):
2962         (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
2963         (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
2964         (WebInspector.FormattedSourceMapping.prototype._convertPosition):
2965         * inspector/front-end/UglifyJS/JavaScriptFormatter.js: Added.
2966         (FormattedContentBuilder): Helper class for building formatted script content.
2967         (FormattedContentBuilder.prototype.addToken):
2968         (FormattedContentBuilder.prototype.addSpace):
2969         (FormattedContentBuilder.prototype.addNewLine):
2970         (FormattedContentBuilder.prototype.increaseNestingLevel):
2971         (FormattedContentBuilder.prototype.decreaseNestingLevel):
2972         (FormattedContentBuilder.prototype.content):
2973         (FormattedContentBuilder.prototype.mapping):
2974         (Tokenizer): Wrapper class for UglifyJS tokenizer.
2975         (Tokenizer.prototype.content):
2976         (Tokenizer.prototype.next):
2977         (Tokenizer.prototype._convertUglifyToken):
2978         (JavaScriptFormatter): New formatter based on UglifyJS tokenizer.
2979         (JavaScriptFormatter.prototype.format):
2980         * inspector/front-end/UglifyJS/process.js: Removed.
2981         * inspector/front-end/WebKit.qrc:
2982
2983 2011-04-22  Mikhail Naganov  <mnaganov@chromium.org>
2984
2985         Reviewed by Pavel Feldman.
2986
2987         Web Inspector: [Chromium] Refactor code prior to moving detailed heap snapshots into workers.
2988         https://bugs.webkit.org/show_bug.cgi?id=59189
2989
2990         * WebCore.gypi:
2991         * WebCore.vcproj/WebCore.vcproj:
2992         * inspector/front-end/BinarySearch.js: Added.
2993         * inspector/front-end/DetailedHeapshotGridNodes.js:
2994         (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
2995         (WebInspector.HeapSnapshotGridNode.prototype._populate):
2996         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
2997         (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
2998         (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
2999         (WebInspector.HeapSnapshotGridNode.prototype.sort):
3000         (WebInspector.HeapSnapshotObjectNode):
3001         (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
3002         (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
3003         (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
3004         (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
3005         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
3006         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
3007         (WebInspector.HeapSnapshotDiffNode.prototype.get data):
3008         * inspector/front-end/DetailedHeapshotView.js:
3009         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.sort):
3010         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
3011         (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
3012         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
3013         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
3014         (WebInspector.HeapSnapshotContainmentDataGrid):
3015         (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.setDataSource):
3016         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
3017         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
3018         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
3019         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
3020         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
3021         (WebInspector.HeapSnapshotDominatorsDataGrid):
3022         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
3023         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
3024         (WebInspector.HeapSnapshotRetainingPathsList.prototype._performSorting):
3025         (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
3026         (WebInspector.DetailedHeapshotView.prototype._changeBase):
3027         (WebInspector.DetailedHeapshotView.prototype._changeView):
3028         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup.displayString):
3029         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
3030         * inspector/front-end/HeapSnapshot.js:
3031         (WebInspector.HeapSnapshot.prototype.dispose):
3032         (WebInspector.HeapSnapshot.prototype.pushBaseNodeIds):
3033         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
3034         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
3035         (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
3036         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
3037         (WebInspector.HeapSnapshotsDiff.prototype.calculate):
3038         (WebInspector.HeapSnapshotsDiff.prototype.pushBaseIds):
3039         (WebInspector.HeapSnapshotsDiff.prototype.pushBaseSelfSizes):
3040         * inspector/front-end/HeapSnapshotProxy.js:
3041         (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
3042         (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
3043         (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
3044         (WebInspector.HeapSnapshotProviderProxy):
3045         (WebInspector.HeapSnapshotProviderProxy.prototype.serializeNextItems):
3046         (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):
3047         (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
3048         (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
3049         * inspector/front-end/PleaseWaitMessage.js:
3050         (WebInspector.PleaseWaitMessage.prototype.showAndWaitFor):
3051         (WebInspector.PleaseWaitMessage.prototype.unlistenAndHide):
3052         * inspector/front-end/WebKit.qrc:
3053         * inspector/front-end/inspector.html:
3054         * inspector/front-end/utilities.js:
3055
3056 2011-04-22  Mikhail Naganov  <mnaganov@chromium.org>
3057
3058         Unreviewed fix after r84484 -- conditional statement was inverted incorrectly.
3059
3060         * inspector/front-end/ProfilesPanel.js:
3061         (WebInspector.ProfilesPanel.prototype.handleShortcut):
3062
3063 2011-04-22  Annie Sullivan  <sullivan@chromium.org>
3064
3065         Reviewed by Pavel Feldman.
3066
3067         Web Inspector: Timeline is too narrow
3068         https://bugs.webkit.org/show_bug.cgi?id=58399
3069
3070         Changed Network Panel widths so that Timeline is 50%.
3071         Added titles to the values in the other columns, so that a tooltip will show the value if the column is too narrow.
3072
3073         * inspector/front-end/NetworkPanel.js:
3074         (WebInspector.NetworkPanel.prototype._createTable):  Changed column widths.
3075         (WebInspector.NetworkPanel.prototype._toggleGridMode): Changed column widths.
3076         (WebInspector.NetworkDataGridNode.prototype.refreshResource): Added titles to column values.
3077         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell): Ditto
3078         (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell): Ditto
3079         (WebInspector.NetworkDataGridNode.prototype._refreshTimeCell): Ditto
3080         * inspector/front-end/utilities.js:
3081         (Element.prototype.setTextAndTitle): Added new method to set the textContent and title of an Element at the same time, so that it can have a tooltip.
3082
3083 2011-04-22  Dan Bernstein  <mitz@apple.com>
3084
3085         Reviewed by Maciej Stachowiak.
3086
3087         <rdar://problem/9322486> REGRESSION (r83397): Default controls fade out when playing audio-only media
3088         https://bugs.webkit.org/show_bug.cgi?id=59180
3089
3090         Test: media/audio-controls-do-not-fade-out.html
3091
3092         * html/HTMLMediaElement.cpp:
3093         (WebCore::HTMLMediaElement::playbackProgressTimerFired): Only start fading out the controls if there is
3094         a video track.
3095
3096 2011-04-22  Luke Macpherson   <macpherson@chromium.org>
3097
3098         Reviewed by Eric Seidel.
3099
3100         Add FontItalics and FontSmallCaps enums to be used instead of boolean values.
3101         https://bugs.webkit.org/show_bug.cgi?id=59080
3102
3103         No new tests as no new functionality added.
3104
3105         * css/CSSPrimitiveValueMappings.h:
3106         Add casts to/from FontItalics and FontSmallCaps
3107         * css/CSSStyleSelector.cpp:
3108         Use new casts defined in PrimitiveValueMappings.h
3109         * platform/graphics/Font.h:
3110         Use FontItalics enum.
3111         * platform/graphics/FontDescription.h:
3112         Define and use FontItalics and FontSmallCaps enums.
3113
3114 2011-04-21  Andrey Kosyakov  <caseq@chromium.org>
3115
3116         Reviewed by Yury Semikhatsky.
3117
3118         Web Inspector: exception in front-end when user selects resource info for resource that does not have response headers yet
3119         https://bugs.webkit.org/show_bug.cgi?id=59123
3120
3121         * inspector/front-end/ResourceCookiesView.js:
3122         (WebInspector.ResourceCookiesView):
3123         (WebInspector.ResourceCookiesView.prototype.show):
3124         (WebInspector.ResourceCookiesView.prototype.get _gotCookies):
3125         (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
3126
3127 2011-04-21  Beth Dakin  <bdakin@apple.com>
3128
3129         Reviewed by Dan Bernstein.
3130
3131         https://bugs.webkit.org/show_bug.cgi?id=57898
3132         REGRESSION (r82185): Scroll position not restored on navigation back to a page in 
3133         the page cache
3134         -and corresponding-
3135         <rdar://problem/9226652>
3136
3137         The original fix for this change broke scroll-position restore for pages that are 
3138         *not* in the page cache. This patch fixes both cached and non-cached pages by 
3139         using the cachedScrollPosition() only for cached pages.
3140         * loader/HistoryController.cpp:
3141         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
3142
3143 2011-04-21  Luke Macpherson   <macpherson@chromium.org>
3144
3145         Reviewed by Eric Seidel.
3146
3147         Remove redundant calls to RenderStyle::setDisplay()
3148         https://bugs.webkit.org/show_bug.cgi?id=59060
3149
3150         No new tests / no new functionality added.
3151
3152         * css/CSSStyleSelector.cpp:
3153         (WebCore::CSSStyleSelector::applyProperty):
3154         Remove redundant calls to RenderStyle::setDisplay()
3155
3156 2011-04-21  John Bauman  <jbauman@chromium.org>
3157
3158         Reviewed by Kenneth Russell.
3159
3160         WebGL context drawing buffer may not be cleared if FBO bound
3161         https://bugs.webkit.org/show_bug.cgi?id=58956
3162
3163         Clear the drawing buffer even if it's not currently bound, by
3164         switching between FBOs around the clear. Also, make sure that we
3165         handle depth and stencil masks properly.
3166
3167         No new tests, because testing this under DRT doesn't work.
3168
3169         * html/canvas/WebGLRenderingContext.cpp:
3170         (WebCore::WebGLRenderingContext::initializeNewContext):
3171         (WebCore::WebGLRenderingContext::clearIfComposited):
3172         (WebCore::WebGLRenderingContext::depthMask):
3173         * html/canvas/WebGLRenderingContext.h:
3174         *
3175 2011-04-21  Chris Fleizach  <cfleizach@apple.com>
3176
3177         Reviewed by Beth Dakin.
3178
3179         WebKit is erroneously modifying the DOM; adding 'aria-selected' to tables
3180         https://bugs.webkit.org/show_bug.cgi?id=59140
3181
3182         WebKit should not modify the DOM when the screen reader requests certain things be set. There is no
3183         specification that allows this behavior yet, but we are working on something for the future.
3184
3185         * accessibility/AccessibilityRenderObject.cpp:
3186         (WebCore::AccessibilityRenderObject::setARIAGrabbed):
3187         (WebCore::AccessibilityRenderObject::setIsExpanded):
3188         (WebCore::AccessibilityRenderObject::setSelected):
3189         (WebCore::AccessibilityRenderObject::setValue):
3190
3191 2011-04-21  Chris Fleizach  <cfleizach@apple.com>
3192
3193         Reviewed by Beth Dakin.
3194
3195         AX: order AccessibilityRole alphabetically
3196         https://bugs.webkit.org/show_bug.cgi?id=31524
3197
3198         * accessibility/AccessibilityObject.h:
3199
3200 2011-04-21  Jia Pu  <jpu@apple.com>
3201
3202         Reviewed by Maciej Stachowiak.
3203
3204         [Mac] correctionPanelTimerFired() crashes due to rangeToBeReplaced being cleared.
3205         https://bugs.webkit.org/show_bug.cgi?id=59155
3206         <rdar://problem/9261698>
3207
3208         Make sure the range isn't cleared before calling windowRectForRange() on it. Also removed unused functions in Editor.h,
3209         and fixed a typo in function name.
3210
3211         * editing/Editor.h:
3212         * editing/SpellingCorrectionController.cpp:
3213         (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
3214         (WebCore::SpellingCorrectionController::respondToChangedSelection):
3215         * editing/SpellingCorrectionController.h:
3216         (WebCore::SpellingCorrectionController::shouldStartTimerFor):
3217
3218 2011-04-21  Maciej Stachowiak  <mjs@apple.com>
3219
3220         Reviewed by Adam Roben.
3221
3222         Add a feature define to allow <details> and <summary> to be disabled
3223         https://bugs.webkit.org/show_bug.cgi?id=59118
3224         <rdar://problem/9257045>
3225
3226         No new tests; no behavior change.
3227
3228         * Configurations/FeatureDefines.xcconfig:
3229         * DerivedSources.make:
3230         * GNUmakefile.am:
3231         * features.pri:
3232         * html/HTMLDetailsElement.cpp:
3233         * html/HTMLSummaryElement.cpp:
3234         * html/HTMLTagNames.in:
3235         * html/shadow/DetailsMarkerControl.cpp:
3236         * rendering/RenderBlock.cpp:
3237         (WebCore::canMergeContiguousAnonymousBlocks):
3238         * rendering/RenderDetails.cpp:
3239         * rendering/RenderDetails.h:
3240         * rendering/RenderDetailsMarker.cpp:
3241         * rendering/RenderDetailsMarker.h:
3242         * rendering/RenderObject.h:
3243         * rendering/RenderSummary.cpp:
3244         * rendering/RenderSummary.h:
3245         * rendering/RenderTreeAsText.cpp:
3246         (WebCore::RenderTreeAsText::writeRenderObject):
3247
3248 2011-04-21  Dimitri Glazkov  <dglazkov@chromium.org>
3249
3250         Reviewed by Adele Peterson.
3251
3252         REGRESSION (r83386): Typing in WSJ.com search field doesn't clear placeholder text
3253         https://bugs.webkit.org/show_bug.cgi?id=59053
3254
3255         Turns out, the relatedTarget of an event could be also an ancestor of an event,
3256         not just its parent. Duh.
3257
3258         * dom/EventDispatcher.cpp:
3259         (WebCore::EventDispatcher::adjustToShadowBoundaries): Changed to use shadowHost
3260             explicitly.
3261
3262 2011-04-21  Michael Saboff  <msaboff@apple.com>
3263
3264         Reviewed by Maciej Stachowiak.
3265
3266         Qualified names used for all TagName access, yet namespace usage is rare
3267         https://bugs.webkit.org/show_bug.cgi?id=58997
3268
3269         The methods getElementsByTagName and getElementsByTagNameNS where
3270         always creating and using QualifiedNames.  QualifiedName::init
3271         was consistently in the top 3 routines when running the Dromaeo
3272         DOM-query benchmark.  Split out the functionality so that
3273         getElementsByTagName uses just the local name, an implied "*"
3274         namespace and a separate TagNodeListCache keyed by an atomic name
3275         instead of a QualifiedName.  Access to elements via
3276         getElementsByTagNameNS that have "*" namespace are forwarded to
3277         getElementsByTagName as well.  This provides ~10% speed up in that
3278         Dromaeo test.
3279
3280         No new tests added, existing tests have coverage.  The changes are
3281         an optimization of existing functionality.
3282
3283         * dom/Node.cpp:
3284         (WebCore::Node::removeCachedTagNodeList):
3285         (WebCore::Node::getElementsByTagName):
3286         (WebCore::Node::getElementsByTagNameNS):
3287         (WebCore::NodeListsNodeData::invalidateCaches):
3288         (WebCore::NodeListsNodeData::isEmpty):
3289         * dom/Node.h:
3290         * dom/NodeRareData.h:
3291         * dom/TagNodeList.cpp:
3292         (WebCore::TagNodeList::~TagNodeList):
3293
3294 2011-04-21  Geoffrey Garen  <ggaren@apple.com>
3295
3296         Reviewed by Oliver Hunt.
3297
3298         Removed a use of markDOMObjectWrapper: more style- and node-related stuff
3299         https://bugs.webkit.org/show_bug.cgi?id=59127
3300
3301         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3302         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3303         (WebCore::JSCanvasRenderingContextOwner::isReachableFromOpaqueRoots):
3304         (WebCore::JSCanvasRenderingContextOwner::finalize):
3305         (WebCore::wrapperOwner):
3306         (WebCore::wrapperContext): Use opaque roots for marking canvas rendering
3307         contexts, so JSNode isn't responsible for it.
3308
3309         * bindings/js/JSElementCustom.cpp:
3310         (WebCore::JSElement::markChildren):
3311         * bindings/js/JSHTMLCanvasElementCustom.cpp:
3312         * bindings/js/JSHTMLLinkElementCustom.cpp:
3313         * bindings/js/JSHTMLStyleElementCustom.cpp: Removed obsolete marking code.
3314
3315         * bindings/js/JSNodeCustom.cpp:
3316         (WebCore::isObservable):
3317         (WebCore::isReachableFromDOM):
3318         (WebCore::JSNodeOwner::isReachableFromOpaqueRoots): Removed a bunch of
3319         CSS object model related special cases, since the CSS object model
3320         now tracks its own lifetime through the opaque roots system. Removed
3321         canvas special case, covered above.
3322
3323         * bindings/js/JSProcessingInstructionCustom.cpp:
3324         * bindings/js/JSWebKitAnimationListCustom.cpp:
3325         * dom/ProcessingInstruction.idl:
3326         * html/HTMLCanvasElement.idl:
3327         * html/HTMLLinkElement.idl:
3328         * html/HTMLStyleElement.idl:
3329         * page/WebKitAnimationList.idl: Removed obsolete marking code.
3330
3331 2011-04-21  Vangelis Kokkevis  <vangelis@chromium.org>
3332
3333         Reviewed by James Robinson.
3334
3335         [chromium] Only update the contents of layers that are going to
3336         be drawn. Remove individual texture unreserves that happen
3337         after the layer draw calls with a single unreserve for all the
3338         textures in the texture manager.
3339         https://bugs.webkit.org/show_bug.cgi?id=59129
3340
3341         Tests: No new functionality.  Covered by existing layout tests.
3342
3343         * platform/graphics/chromium/ContentLayerChromium.cpp:
3344         (WebCore::ContentLayerChromium::draw):
3345         * platform/graphics/chromium/ContentLayerChromium.h:
3346         * platform/graphics/chromium/ImageLayerChromium.cpp:
3347         (WebCore::ImageLayerChromium::paintContentsIfDirty):
3348         (WebCore::ImageLayerChromium::updateCompositorResources):
3349         * platform/graphics/chromium/LayerRendererChromium.cpp:
3350         (WebCore::LayerRendererChromium::drawRootLayer):
3351         (WebCore::LayerRendererChromium::updateAndDrawLayers):
3352         (WebCore::LayerRendererChromium::updateLayers):
3353         (WebCore::LayerRendererChromium::paintLayerContents):
3354         * platform/graphics/chromium/LayerRendererChromium.h:
3355         * platform/graphics/chromium/LayerTexture.cpp:
3356         * platform/graphics/chromium/LayerTexture.h:
3357         * platform/graphics/chromium/LayerTilerChromium.cpp:
3358         * platform/graphics/chromium/LayerTilerChromium.h:
3359         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3360         (WebCore::RenderSurfaceChromium::drawSurface):
3361         * platform/graphics/chromium/TextureManager.cpp:
3362         (WebCore::TextureManager::unprotectAllTextures):
3363         * platform/graphics/chromium/TextureManager.h:
3364         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3365         (WebCore::CCHeadsUpDisplay::draw):
3366         * platform/graphics/chromium/cc/CCLayerImpl.h:
3367         (WebCore::CCLayerImpl::owner):
3368
3369 2011-04-21  Ryosuke Niwa  <rniwa@webkit.org>
3370
3371         Reviewed by Sam Weinig.
3372
3373         Add Frame* to the argument lists of canCopyCut and canPaste
3374         https://bugs.webkit.org/show_bug.cgi?id=59153
3375
3376         canCopyCut and canPaste now takes Frame* for which supportedCopyCut and supportedPaste are called.
3377         This allows editor client to grant copy/cut and paste permissions per origin.
3378
3379         * editing/EditorCommand.cpp:
3380         (WebCore::supportedCopyCut):
3381         (WebCore::supportedPaste):
3382         * loader/EmptyClients.h:
3383         (WebCore::EmptyEditorClient::canCopyCut):
3384         (WebCore::EmptyEditorClient::canPaste):
3385         * page/EditorClient.h:
3386
3387 2011-04-21  Oliver Hunt  <oliver@apple.com>
3388
3389         Whoops, change lost during merge
3390
3391         * bindings/js/JSEventListener.h:
3392
3393 2011-04-21  Geoffrey Garen  <ggaren@apple.com>
3394
3395         Reviewed by Sam Weinig.
3396
3397         Fixed a failure seen in fast/dom/prototype-inheritance-2.html due to
3398         wrong global object use.
3399
3400         * bindings/js/JSHTMLDocumentCustom.cpp:
3401         (WebCore::JSHTMLDocument::nameGetter):
3402         (WebCore::JSHTMLDocument::all):
3403         * bindings/js/JSHTMLFormElementCustom.cpp:
3404         (WebCore::JSHTMLFormElement::nameGetter): Use the right global object.
3405
3406 2011-04-21  Oliver Hunt  <oliver@apple.com>
3407
3408         Reviewed by Geoffrey Garen.
3409
3410         Start moving to a general visitor pattern for GC traversal
3411         https://bugs.webkit.org/show_bug.cgi?id=59141
3412
3413         This is just a rename:
3414             markChildren -> visitChildren
3415             markAggregate -> visitAggregate
3416             markStack -> visitor
3417             MarkStack -> typedef'd to SlotVisitor
3418
3419         * bindings/js/JSAttrCustom.cpp:
3420         (WebCore::JSAttr::visitChildren):
3421         * bindings/js/JSAudioConstructor.cpp:
3422         (WebCore::constructAudio):
3423         * bindings/js/JSCSSRuleCustom.cpp:
3424         (WebCore::JSCSSRule::visitChildren):
3425         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3426         (WebCore::JSCSSStyleDeclaration::visitChildren):
3427         * bindings/js/JSDOMBinding.cpp:
3428         (WebCore::visitActiveObjectsForContext):
3429         (WebCore::markDOMObjectWrapper):
3430         * bindings/js/JSDOMBinding.h:
3431         * bindings/js/JSDOMGlobalObject.cpp:
3432         (WebCore::JSDOMGlobalObject::visitChildren):
3433         * bindings/js/JSDOMGlobalObject.h:
3434         * bindings/js/JSDOMImplementationCustom.cpp:
3435         (WebCore::JSDOMImplementation::visitChildren):
3436         * bindings/js/JSDOMWindowCustom.cpp:
3437         (WebCore::JSDOMWindow::visitChildren):
3438         * bindings/js/JSDOMWindowShell.cpp:
3439         (WebCore::JSDOMWindowShell::visitChildren):
3440         * bindings/js/JSDOMWindowShell.h:
3441         * bindings/js/JSDocumentCustom.cpp:
3442         (WebCore::JSDocument::visitChildren):
3443         * bindings/js/JSElementCustom.cpp:
3444         (WebCore::JSElement::visitChildren):
3445         * bindings/js/JSEventListener.cpp:
3446         (WebCore::JSEventListener::markJSFunction):
3447         * bindings/js/JSEventListener.h:
3448         * bindings/js/JSHTMLCanvasElementCustom.cpp:
3449         (WebCore::JSHTMLCanvasElement::visitChildren):
3450         * bindings/js/JSHTMLLinkElementCustom.cpp:
3451         (WebCore::JSHTMLLinkElement::visitChildren):
3452         * bindings/js/JSHTMLStyleElementCustom.cpp:
3453         (WebCore::JSHTMLStyleElement::visitChildren):
3454         * bindings/js/JSImageConstructor.cpp:
3455         (WebCore::constructImage):
3456         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
3457         (WebCore::JSJavaScriptAudioNode::visitChildren):
3458         * bindings/js/JSMessageChannelCustom.cpp:
3459         (WebCore::JSMessageChannel::visitChildren):
3460         * bindings/js/JSMessagePortCustom.cpp:
3461         (WebCore::JSMessagePort::visitChildren):
3462         * bindings/js/JSNamedNodeMapCustom.cpp:
3463         (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots):
3464         (WebCore::JSNamedNodeMap::visitChildren):
3465         * bindings/js/JSNavigatorCustom.cpp:
3466         (WebCore::JSNavigator::visitChildren):
3467         * bindings/js/JSNodeCustom.cpp:
3468         (WebCore::isObservable):
3469         (WebCore::isReachableFromDOM):
3470         (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
3471         (WebCore::JSNode::visitChildren):
3472         * bindings/js/JSNodeCustom.h:
3473         * bindings/js/JSNodeFilterCondition.cpp:
3474         (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
3475         * bindings/js/JSNodeFilterCondition.h:
3476         * bindings/js/JSNodeFilterCustom.cpp:
3477         (WebCore::JSNodeFilter::visitChildren):
3478         * bindings/js/JSNodeIteratorCustom.cpp:
3479         (WebCore::JSNodeIterator::visitChildren):
3480         * bindings/js/JSNodeListCustom.cpp:
3481         (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
3482         * bindings/js/JSProcessingInstructionCustom.cpp:
3483         (WebCore::JSProcessingInstruction::visitChildren):
3484         * bindings/js/JSSVGElementInstanceCustom.cpp:
3485         (WebCore::JSSVGElementInstance::visitChildren):
3486         * bindings/js/JSSharedWorkerCustom.cpp:
3487         (WebCore::JSSharedWorker::visitChildren):
3488         * bindings/js/JSStyleSheetCustom.cpp:
3489         (WebCore::JSStyleSheet::visitChildren):
3490         * bindings/js/JSTreeWalkerCustom.cpp:
3491         (WebCore::JSTreeWalker::visitChildren):
3492         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3493         (WebCore::JSWebGLRenderingContext::visitChildren):
3494         * bindings/js/JSWebKitAnimationListCustom.cpp:
3495         (WebCore::JSWebKitAnimationList::visitChildren):
3496         * bindings/js/JSWorkerContextCustom.cpp:
3497         (WebCore::JSWorkerContext::visitChildren):
3498         * bindings/js/JSXMLHttpRequestCustom.cpp:
3499         (WebCore::JSXMLHttpRequest::visitChildren):
3500         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3501         (WebCore::JSXMLHttpRequestUpload::visitChildren):
3502         * bindings/scripts/CodeGeneratorJS.pm:
3503         * bridge/qt/qt_instance.cpp:
3504         (JSC::Bindings::QtRuntimeObject::visitChildren):
3505         (JSC::Bindings::QtInstance::markAggregate):
3506         * bridge/qt/qt_instance.h:
3507