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