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