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