2010-03-09 Tony Chang <tony@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-03-09  Tony Chang  <tony@chromium.org>
2
3         Reviewed by Adam Barth.
4
5         https://bugs.webkit.org/show_bug.cgi?id=21840
6         https://bugs.webkit.org/show_bug.cgi?id=23993
7
8         Fix an editing bug where replacing a selection would result in the
9         new text ending up inside nodes that were not visibly included in the
10         selection.  Instead, move our destination position out of nodes that
11         were not visibly included.
12
13         Tests: editing/deleting/backspace-avoid-preceding-style.html
14                editing/inserting/replace-at-visible-boundary.html
15
16         * editing/ReplaceSelectionCommand.cpp:
17         (WebCore::positionAvoidingPrecedingNodes):
18         (WebCore::ReplaceSelectionCommand::doApply):
19
20 2010-03-09  Brady Eidson  <beidson@apple.com>
21
22         Reviewed by Tim Hatcher.
23
24         REGRESSION: WebInspector docking busted on Windows
25         <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953
26
27         First off, a bit of settings-key related cleanup. If they're shared over multiple files, these 
28         things should be properly declared Strings, not random loose char*'s.
29
30         Along with that change, we move the "inspectorStartsAttachedSettingName" from WebKit down to the
31         InspectorController in WebCore.
32
33         Finally, when the controller is ready to show the WebInspector window, it can use this newly
34         exposed settings key to call "setWindowVisible" directly instead of relying on "showWindow" to do
35         it indirectly.
36
37         * WebCore.base.exp:
38
39         * inspector/InspectorBackend.cpp:
40         (WebCore::InspectorBackend::saveFrontendSettings):
41         * inspector/InspectorController.cpp:
42         (WebCore::InspectorController::frontendSettingsSettingName):
43         (WebCore::InspectorController::inspectorStartsAttachedSettingName):
44         (WebCore::InspectorController::scriptObjectReady): Using the new inspectorStartsAttachedSettingName
45           key and some "can I attach this?" logic, call setWindowVisible directly to display the inspector
46           window.
47         (WebCore::InspectorController::populateScriptObjects):
48         * inspector/InspectorController.h:
49
50 2010-03-09  Alexey Proskuryakov  <ap@apple.com>
51
52         Reviewed by Mark Rowe.
53
54         https://bugs.webkit.org/show_bug.cgi?id=35951
55         <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
56
57         * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): Fix Tiger code path, too.
58
59 2010-03-09  Alexey Proskuryakov  <ap@apple.com>
60
61         Reviewed by Oliver Hunt.
62
63         https://bugs.webkit.org/show_bug.cgi?id=35951
64         <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
65
66         * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): It's not correct to use object
67         personality for keys, because the key can be a mutable object, so its hash can change over its
68         lifetime.
69
70 2010-03-09  Ojan Vafai  <ojan@chromium.org>
71
72         Reviewed by Darin Adler.
73
74         Fix review comment accidentally overlooked in bug 35713
75         https://bugs.webkit.org/show_bug.cgi?id=35947
76
77         * editing/DeleteSelectionCommand.cpp:
78         (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
79         * editing/DeleteSelectionCommand.h:
80
81 2010-03-03  Ojan Vafai  <ojan@chromium.org>
82
83         Reviewed by Adam Barth.
84
85         undo after smartdelete should select the deleted space
86         https://bugs.webkit.org/show_bug.cgi?id=35713
87
88         TextEdit behavior is to select the deleted space after a smartdelete.
89
90         Tests: editing/undo/undo-smart-delete-reversed-selection.html
91                editing/undo/undo-smart-delete-word.html
92
93         * editing/DeleteSelectionCommand.cpp:
94         (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
95         (WebCore::DeleteSelectionCommand::initializePositionData):
96         * editing/DeleteSelectionCommand.h:
97         * editing/VisibleSelection.cpp:
98         (WebCore::VisibleSelection::setWithoutValidation):
99         This assert looks bogus to me. undo-smart-delete-reversed-selection.html hits it
100         but not as a result of the other changes in this patch. The granularity when
101         deleting after making a wordgranularity selection is wordgranularity, not charactergranularity.
102
103 2010-03-09  Steve Falkenburg  <sfalken@apple.com>
104
105         Rubber stamped by Adam Roben.
106
107         Load debug version of graphics library in Windows Debug_All builds.
108
109         * platform/graphics/win/WKCACFLayerRenderer.cpp:
110         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
111
112 2010-03-09  Brady Eidson  <beidson@apple.com>
113
114         Reviewed by Darin Adler.
115
116         Plug-ins don't always respect the cookie accept policy.
117         <rdar://problem/7338359> and https://bugs.webkit.org/show_bug.cgi?id=26391
118
119         The problem is that the various plug-in implementations call into a ResourceLoader
120         directly instead of filtering the request through FrameLoader. This bypassed the step
121         of adding extra fields to the requests, such as the firstPartyForCookies URL.
122
123         Since plug-in code is currently so strewn about and very platform specific, I
124         think reworking it needs to be a task for domain experts. I don't know the implications
125         of adding *all* the extra fields to plug-in requests, for example.
126
127         There's no harm in this targeted fix for the hole in our cookie accept policy until
128         plug-ins can more fundamentally change.
129
130         Test: http/tests/plugins/third-party-cookie-accept-policy.html
131
132         * loader/ResourceLoader.cpp:
133         (WebCore::ResourceLoader::load): Don't load a resource without first giving the request 
134           a firstPartyForCookies URL.
135
136 2010-03-09  Andy Estes  <aestes@apple.com>
137
138         Reviewed by Adele Peterson.
139
140         Check for null renderer in scrollNode().
141         https://bugs.webkit.org/show_bug.cgi?id=34700
142
143         Test: fast/events/remove-child-onscroll.html
144
145         * page/EventHandler.cpp:
146         (WebCore::scrollNode): Return early if node->renderer() == 0
147
148 2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
149
150         Unreviewed distcheck fix.
151
152         * GNUmakefile.am:
153
154 2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
155
156         Unreviewed build fix (only exposed by make distcheck). The
157         SharedWorkers files are not built, they need to be distributed.
158
159         * GNUmakefile.am:
160
161 2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
162
163         Reviewed by Dirk Schulze.
164
165         [GStreamer] Buffering logic is not correct, and does not work very well
166         https://bugs.webkit.org/show_bug.cgi?id=35706
167
168         Fix buffering to match GStreamer expectancies regarding the
169         pipeline state, so that videos which really need buffering to play
170         correctly also work, while maintaining the convenience of
171         on-disk-buffering. This required a bit of shuffling of state
172         change handling.
173
174         No behaviour change expected.
175
176         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
177         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
178         (WebCore::MediaPlayerPrivate::processBufferingStats):
179         (WebCore::MediaPlayerPrivate::fillTimerFired):
180         (WebCore::MediaPlayerPrivate::updateStates):
181         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
182
183 2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
184
185         Reviewed by Dirk Schulze.
186
187         [GStreamer] Buffering logic is not correct, and does not work very well
188         https://bugs.webkit.org/show_bug.cgi?id=35706
189
190         Do not call pause(), but set the GStreamer state directly. This is
191         just a GStreamer implementation detail, and this will avoid having
192         side effects in case we change the pause implementation in the
193         future.
194
195         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
196         (WebCore::MediaPlayerPrivate::load):
197
198 2010-03-09  Chris Fleizach  <cfleizach@apple.com>
199
200         Reviewed by Darin Adler.
201
202         AX: hit testing a list box doesn't work anymore
203         https://bugs.webkit.org/show_bug.cgi?id=35893
204
205         Since <option> elements don't have renderers, their hit testing needs
206         to be handled with a special case.
207
208         Test: platform/mac/accessibility/listbox-hit-test.html
209
210         * accessibility/AccessibilityRenderObject.cpp:
211         (WebCore::AccessibilityRenderObject::ariaIsHidden):
212         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
213
214 2010-03-09  Pavel Feldman  <pfeldman@chromium.org>
215
216         Reviewed by Timothy Hatcher.
217
218         Web Inspector: Refactor Audits panel presentation layer.
219         This change removes unnecessary complexity:
220           - Audit scores were not used
221           - Audit rule parameters are passed as rule constructor arguments
222           - View management aligned with the rest of the front-end
223           - Single TreeOutline is used for category results (no need to create sections for those)
224           - Rules code beautified and simplified where possible
225           - Some UI improvements applied (see attached screenshot)
226
227         https://bugs.webkit.org/show_bug.cgi?id=35860
228
229         * inspector/front-end/AuditCategories.js:
230         (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
231         (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
232         * inspector/front-end/AuditResultView.js:
233         (WebInspector.AuditResultView):
234         (WebInspector.AuditCategoryResultPane):
235         (WebInspector.AuditCategoryResultPane.prototype._appendResult):
236         * inspector/front-end/AuditRules.js:
237         (WebInspector.AuditRules.GzipRule.prototype.doRun):
238         (WebInspector.AuditRules.CombineExternalResourcesRule):
239         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
240         (WebInspector.AuditRules.CombineJsResourcesRule):
241         (WebInspector.AuditRules.CombineCssResourcesRule):
242         (WebInspector.AuditRules.MinimizeDnsLookupsRule):
243         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
244         (WebInspector.AuditRules.ParallelizeDownloadRule):
245         (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
246         (WebInspector.AuditRules.UnusedCssRule):
247         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
248         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
249         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
250         (WebInspector.AuditRules.CacheControlRule):
251         (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
252         (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
253         (WebInspector.AuditRules.BrowserCacheControlRule):
254         (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
255         (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
256         (WebInspector.AuditRules.ProxyCacheControlRule):
257         (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
258         (WebInspector.AuditRules.ImageDimensionsRule):
259         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
260         (WebInspector.AuditRules.CssInHeadRule):
261         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
262         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine):
263         (WebInspector.AuditRules.StylesScriptsOrderRule):
264         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
265         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine):
266         (WebInspector.AuditRules.CookieRuleBase):
267         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
268         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
269         (WebInspector.AuditRules.CookieSizeRule):
270         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
271         (WebInspector.AuditRules.StaticCookielessRule):
272         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
273         * inspector/front-end/AuditsPanel.js:
274         (WebInspector.AuditsPanel):
275         (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
276         (WebInspector.AuditsPanel.prototype._executeAudit):
277         (WebInspector.AuditsPanel.prototype._reloadResources):
278         (WebInspector.AuditsPanel.prototype._didMainResourceLoad):
279         (WebInspector.AuditsPanel.prototype.showResults):
280         (WebInspector.AuditsPanel.prototype.showLauncherView):
281         (WebInspector.AuditsPanel.prototype.get visibleView):
282         (WebInspector.AuditsPanel.prototype.set visibleView):
283         (WebInspector.AuditsPanel.prototype.show):
284         (WebInspector.AuditsPanel.prototype._clearButtonClicked):
285         (WebInspector.AuditCategory.prototype.addRule):
286         (WebInspector.AuditRule):
287         (WebInspector.AuditRule.prototype.set severity):
288         (WebInspector.AuditRule.prototype.run):
289         (WebInspector.AuditRule.prototype.doRun):
290         (WebInspector.AuditCategoryResult):
291         (WebInspector.AuditCategoryResult.prototype.addRuleResult):
292         (WebInspector.AuditRuleResult):
293         (WebInspector.AuditRuleResult.prototype.addChild):
294         (WebInspector.AuditRuleResult.prototype.addURL):
295         (WebInspector.AuditRuleResult.prototype.addURLs):
296         (WebInspector.AuditRuleResult.prototype.addSnippet):
297         * inspector/front-end/Settings.js:
298         * inspector/front-end/audits.css:
299         * inspector/front-end/inspector.js:
300         (WebInspector._createPanels):
301         (WebInspector.documentKeyDown):
302
303 2010-03-09  Yury Semikhatsky  <yurys@chromium.org>
304
305         Reviewed by Pavel Feldman.
306  
307         When enable resource tracking state changes use the same method as
308         location.reload for reloading inspected page.
309
310         https://bugs.webkit.org/show_bug.cgi?id=35923
311
312         * inspector/InspectorBackend.cpp:
313         (WebCore::InspectorBackend::reloadPage):
314         * inspector/InspectorController.cpp:
315         (WebCore::InspectorController::enableResourceTracking):
316
317 2010-03-09  Pavel Feldman  <pfeldman@chromium.org>
318
319         Reviewed by Timothy Hatcher.
320
321         Web Inspector: highlight text node containers while searching for node.
322
323         https://bugs.webkit.org/show_bug.cgi?id=35912
324
325         * inspector/InspectorController.cpp:
326         (WebCore::InspectorController::mouseDidMoveOverElement):
327
328 2010-03-09  Philippe Normand  <pnormand@igalia.com>
329
330         Reviewed by Gustavo Noronha Silva.
331
332         [GStreamer] player code cleanups
333         https://bugs.webkit.org/show_bug.cgi?id=35868
334
335         Cleaned up the private instance variables of the player.
336
337         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
338         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
339         (WebCore::MediaPlayerPrivate::fillTimerFired):
340         (WebCore::MediaPlayerPrivate::mediaLocationChanged):
341         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
342
343 2010-03-09  Philippe Normand  <pnormand@igalia.com>
344
345         Reviewed by Gustavo Noronha Silva.
346
347         [GStreamer] player code cleanups
348         https://bugs.webkit.org/show_bug.cgi?id=35868
349
350         Splitted GOwnPtrGtk.{cpp,h} to GOwnPtr{Soup,GStreamer}.{cpp,h}.
351
352         * GNUmakefile.am:
353         * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Added.
354         (WTF::GstElement):
355         * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Added.
356         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
357         * platform/gtk/GOwnPtrGtk.cpp: Removed.
358         * platform/gtk/GOwnPtrGtk.h: Removed.
359         * platform/network/soup/CookieJarSoup.cpp:
360         * platform/network/soup/DNSSoup.cpp:
361         * platform/network/soup/GOwnPtrSoup.cpp: Added.
362         (WTF::SoupURI):
363         * platform/network/soup/GOwnPtrSoup.h: Added.
364         * platform/network/soup/ResourceHandleSoup.cpp:
365         * platform/network/soup/ResourceRequestSoup.cpp:
366
367 2010-03-09  Shinichiro Hamaji  <hamaji@chromium.org>
368
369         Reviewed by Eric Seidel.
370
371         [Chromium] Should remove paddings of Win/Linux chromium's buttons
372         https://bugs.webkit.org/show_bug.cgi?id=35629
373
374         No new tests, but we may need to rebaseline bunch of expectation
375         images in chromium's tree.
376
377         * rendering/RenderThemeChromiumSkia.cpp:
378         * rendering/RenderThemeChromiumSkia.h:
379
380 2010-03-08  Kent Tamura  <tkent@chromium.org>
381
382         Reviewed by Adam Barth.
383
384         Implement HTML5 <hgroup> element.
385         https://bugs.webkit.org/show_bug.cgi?id=33369
386
387         <hgroup> should behave the same as <nav>, <section>, <article>, and <aside>.
388         <hgroup> has no specific parsing rules.
389
390         Test: fast/html/hgroup-element.html
391
392         * css/html.css: Add hgroup as a block element.
393         * editing/htmlediting.cpp:
394         (WebCore::validBlockTag): Add hgroupTag.
395         * html/HTMLElement.cpp:
396         (WebCore::createTagPriorityMap): Returns 5 for hgroupTag.
397         (WebCore::blockTagList): Add hgroupTag.
398         * html/HTMLParser.cpp:
399         (WebCore::HTMLParser::getNode): Add hgroupTag.
400         * html/HTMLTagNames.in: Add hgroup.
401
402 2010-03-08  Tony Chang  <tony@chromium.org>
403
404         Reviewed by Adam Barth.
405
406         https://bugs.webkit.org/show_bug.cgi?id=32131
407         Crash when inserting an ordered list.
408
409         Test: editing/execCommand/insert-ordered-list.html
410
411         * editing/CompositeEditCommand.cpp:
412         (WebCore::CompositeEditCommand::moveParagraphs):
413         * editing/TextIterator.cpp:
414         (WebCore::TextIterator::rangeFromLocationAndLength):
415
416 2010-03-08  Darin Adler  <darin@apple.com>
417
418         Reviewed by Dan Bernstein.
419
420         Added a test for crash when you quit inside an unload handler.
421         rdar://problem/6958347
422
423         * manual-tests/quit-inside-unload.html: Added.
424
425 2010-03-08  Darin Adler  <darin@apple.com>
426
427         Reviewed by Jon Honeycutt.
428
429         Don't auto-play <audio> and <video> elements loaded in background tabs
430         https://bugs.webkit.org/show_bug.cgi?id=35886
431         rdar://problem/7117745
432
433         * manual-tests/video-in-non-frontmost-tab.html: Added.
434         * manual-tests/resources/video-tab.html: Added.
435
436         * html/HTMLMediaElement.h: Added MediaCanStartListener as a base class, and
437         added the mediaCanStart function as well as a boolean,
438         m_isWaitingUntilMediaCanStart.
439
440         * html/HTMLMediaElement.cpp:
441         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize
442         m_isWaitingUntilMediaCanStart.
443         (WebCore::HTMLMediaElement::~HTMLMediaElement): Call
444         removeMediaCanStartListener if m_isWaitingUntilMediaCanStart is true. 
445         (WebCore::HTMLMediaElement::loadInternal): Set m_isWaitingUntilMediaCanStart
446         and call addMediaCanStartListener if canStartMedia is false.
447         (WebCore::HTMLMediaElement::mediaCanStart): Clear m_isWaitingUntilMediaCanStart
448         and call loadInternal.
449
450 2010-03-08  Csaba Osztrogonác  <ossy@webkit.org>
451
452         [GTK] Unreviewed buildfix after r55688.
453
454         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
455         (webKitWebSrcStart):
456
457 2010-03-08  Csaba Osztrogonác  <ossy@webkit.org>
458
459         [GTK] Unreviewed buildfix after r55688.
460
461         * platform/network/soup/ResourceHandleSoup.cpp:
462         (WebCore::):
463
464 2010-03-08  Csaba Osztrogonác  <ossy@webkit.org>
465
466         [Qt] Unreviewed buildfix after r55688.
467
468         * platform/network/qt/ResourceHandleQt.cpp:
469         (WebCore::ResourceHandle::loadResourceSynchronously):
470
471 2010-03-08  Alexey Proskuryakov  <ap@apple.com>
472
473         Reviewed by Darin Adler.
474
475         https://bugs.webkit.org/show_bug.cgi?id=35879
476         Eliminate m_mightDownloadFromHandle
477
478         It was only used on Mac, and unnecessarily complicated the code.
479
480         No change in behavior, thus no test.
481
482         * loader/MainResourceLoader.cpp:
483         (WebCore::MainResourceLoader::loadNow):
484         * loader/ResourceLoader.cpp:
485         (WebCore::ResourceLoader::load):
486         * loader/appcache/ApplicationCacheGroup.cpp:
487         (WebCore::ApplicationCacheGroup::createResourceHandle):
488         * platform/network/ResourceHandle.cpp:
489         (WebCore::ResourceHandle::ResourceHandle):
490         (WebCore::ResourceHandle::create):
491         * platform/network/ResourceHandle.h:
492         * platform/network/ResourceHandleInternal.h:
493         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
494         * platform/network/mac/ResourceHandleMac.mm:
495         (WebCore::ResourceHandle::start):
496
497 2010-03-02  Peter Kasting  <pkasting@google.com>
498
499         Reviewed by Adam Barth.
500
501         Clean up usage of m_failed in open-source image decoders, part 1.
502         https://bugs.webkit.org/show_bug.cgi?id=35411
503         
504         Makes setFailed() virtual so subclasses can override it (none do yet) to
505         do automatic cleanup on failure; makes it return a bool for easy
506         tailcalling; makes failed() the only way to access m_failed so
507         subclasses are assured setFailed() won't be bypassed.  Plus one or two
508         other tiny cleanup bits.
509
510         Overriding setFailed() is coming in a subsequent patch because it can be
511         hairy and needs close review.
512
513         No functional change, so no tests.
514
515         * platform/graphics/qt/ImageDecoderQt.cpp:
516         (WebCore::ImageDecoderQt::setData):
517         (WebCore::ImageDecoderQt::frameBufferAtIndex):
518         (WebCore::ImageDecoderQt::internalDecodeSize):
519         (WebCore::ImageDecoderQt::internalReadImage):
520         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
521         (WebCore::ImageDecoderQt::forceLoadEverything):
522         (WebCore::ImageDecoderQt::clearPointers):
523         * platform/graphics/qt/ImageDecoderQt.h:
524         * platform/image-decoders/ImageDecoder.h:
525         (WebCore::ImageDecoder::ImageDecoder):
526         (WebCore::ImageDecoder::setData):
527         (WebCore::ImageDecoder::setSize):
528         (WebCore::ImageDecoder::setFailed):
529         (WebCore::ImageDecoder::failed):
530         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
531         (WebCore::BMPImageDecoder::isSizeAvailable):
532         (WebCore::BMPImageDecoder::frameBufferAtIndex):
533         (WebCore::BMPImageDecoder::processFileHeader):
534         * platform/image-decoders/gif/GIFImageDecoder.cpp:
535         (WebCore::GIFImageDecoder::setData):
536         (WebCore::GIFImageDecoder::isSizeAvailable):
537         (WebCore::GIFImageDecoder::frameBufferAtIndex):
538         (WebCore::GIFImageDecoder::decode):
539         (WebCore::GIFImageDecoder::initFrameBuffer):
540         * platform/image-decoders/ico/ICOImageDecoder.cpp:
541         (WebCore::ICOImageDecoder::decodeAtIndex):
542         (WebCore::ICOImageDecoder::processDirectory):
543         (WebCore::ICOImageDecoder::processDirectoryEntries):
544         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
545         (WebCore::JPEGImageReader::decode):
546         (WebCore::JPEGImageDecoder::setData):
547         (WebCore::JPEGImageDecoder::isSizeAvailable):
548         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
549         (WebCore::JPEGImageDecoder::outputScanlines):
550         (WebCore::JPEGImageDecoder::decode):
551         * platform/image-decoders/png/PNGImageDecoder.cpp:
552         (WebCore::decodingFailed):
553         (WebCore::PNGImageReader::decode):
554         (WebCore::PNGImageDecoder::setData):
555         (WebCore::PNGImageDecoder::isSizeAvailable):
556         (WebCore::PNGImageDecoder::frameBufferAtIndex):
557         (WebCore::PNGImageDecoder::headerAvailable):
558         (WebCore::PNGImageDecoder::rowAvailable):
559         (WebCore::PNGImageDecoder::decode):
560         * platform/image-decoders/png/PNGImageDecoder.h:
561
562 2010-03-08  Chris Marrin  <cmarrin@apple.com>
563
564         Reviewed by Darin Adler.
565
566         Disallow WebGL when HW comp is not turned on at runtime
567         https://bugs.webkit.org/show_bug.cgi?id=35759
568
569         When HW comp is turned off with the runtime flag, WebGL would still
570         create a context, but silently fail to render. This prevents that.
571         Now if HW comp is turned off getContext('webgl') will return null.
572
573         * html/HTMLCanvasElement.cpp:
574         (WebCore::HTMLCanvasElement::getContext):
575
576 2010-03-08  Darin Adler  <darin@apple.com>
577
578         Reviewed by Jon Honeycutt.
579
580         https://bugs.webkit.org/show_bug.cgi?id=35876
581
582         Fix minor style issues in HTMLMediaElement and classes derived from it.
583         Made many public members private and protected.
584
585         * html/HTMLMediaElement.cpp:
586         (WebCore::HTMLMediaElement::screenRect): Got rid of a stray "const" and
587         retstructured the function to use early return and get rid of a local.
588
589         * html/HTMLMediaElement.h: Made lots of members private and some
590         protected. Also use private inheritance instead of public. Removed
591         some unneeded includes.
592
593         * html/HTMLVideoElement.cpp:
594         (WebCore::HTMLVideoElement::parseMappedAttribute): Use player() instead
595         of m_player; HTMLMediaElement data members are now private, not protected.
596         (WebCore::HTMLVideoElement::supportsFullscreen): Ditto.
597         (WebCore::HTMLVideoElement::videoWidth): Ditto.
598         (WebCore::HTMLVideoElement::videoHeight): Ditto.
599         (WebCore::HTMLVideoElement::hasAvailableVideoFrame): Ditto.
600         (WebCore::HTMLVideoElement::webkitEnterFullScreen): Use isFullscreen()
601         instead of m_isFullscreen; same reason.
602         (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto.
603         (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto.
604
605         * html/HTMLVideoElement.h: Removed an unneeded include. Made many
606         public functions private. Got rid of unused paint function, which was
607         replaced with paintCurrentFrameInContext a while back.
608
609 2010-03-08  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
610
611         Reviewed by Xan Lopez.
612
613         https://bugs.webkit.org/show_bug.cgi?id=30895
614         [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
615
616         Gives platforms the ability to exclude parts of an AccessibilityTable
617         from the accessible hierarchy.
618
619         * accessibility/gtk/AccessibilityObjectAtk.cpp:
620         (AccessibilityObject::accessibilityPlatformIncludesObject):
621         * accessibility/AccessibilityRenderObject.cpp:
622         (AccessibilityRenderObject::determineAccessibilityRole):
623         * accessibility/AccessibilityTable.cpp:
624         (AccessibilityTable::addChildren):
625         * accessibility/AccessibilityTableColumn.h:
626         (accessibilityIsIgnored):
627         * accessibility/AccessibilityTableHeaderContainer.h:
628         (accessibilityIsIgnored):
629         * accessibility/AccessibilityTableRow.cpp:
630         (accessibilityIsIgnored):
631
632 2010-03-08  Jian Li  <jianli@chromium.org>
633
634         No review. Fix build break on Tiger intel release.
635
636         * html/Blob.cpp:
637         * html/Blob.h:
638
639 2010-03-02  Adam Treat  <atreat@rim.com>
640
641         Reviewed by Dave Hyatt.
642
643         Refactor the HostWindow methods for repaint, scroll, invalidate and blit
644         of backingstore and window by eliminating the three bools that currently
645         exist as params of the repaint method.
646         https://bugs.webkit.org/show_bug.cgi?id=34214
647
648         I've added extra methods to provide the hosts with more semantic
649         information of what is being requested thus eliminating the need for
650         these bools.
651
652         No tests as this change should not introduce any behavior changes in any
653         of the ports.
654
655         https://bugs.webkit.org/show_bug.cgi?id=34214
656
657         * loader/EmptyClients.h:
658         (WebCore::EmptyChromeClient::invalidateContents):
659         (WebCore::EmptyChromeClient::invalidateWindow):
660         (WebCore::EmptyChromeClient::invalidateContentsAndWindow):
661         (WebCore::EmptyChromeClient::invalidateContentsForSlowScroll):
662         * page/Chrome.cpp:
663         (WebCore::Chrome::invalidateContents):
664         (WebCore::Chrome::invalidateWindow):
665         (WebCore::Chrome::invalidateContentsAndWindow):
666         (WebCore::Chrome::invalidateContentsForSlowScroll):
667         * page/Chrome.h:
668         * page/ChromeClient.h:
669         * page/FrameView.cpp:
670         (WebCore::FrameView::invalidateRect):
671         * platform/HostWindow.h:
672         * platform/ScrollView.cpp:
673         (WebCore::ScrollView::scrollContents):
674         (WebCore::ScrollView::wheelEvent):
675
676 2010-03-08  Adam Barth  <abarth@webkit.org>
677
678         Reviewed by Nate Chapin.
679
680         [V8] Block popups from inline script
681         https://bugs.webkit.org/show_bug.cgi?id=35474
682
683         Apparently, we're supposed to look at the sourceURL to figure out
684         whether we're running a script tag or a hyperlink.  This logic is
685         copied from the JSC version.
686
687         Test: http/tests/security/popup-blocked-from-window-open.html
688
689         * bindings/v8/ScriptController.cpp:
690         (WebCore::ScriptController::processingUserGesture):
691         (WebCore::ScriptController::evaluate):
692
693 2010-03-08  Stuart Morgan  <stuartmorgan@chromium.org>
694
695         Reviewed by Darin Adler.
696
697         Move the details of secure text mode into WebCore/platform.
698         Move the higher-level logic for secure text mode from Frame
699         to SelectionController.
700
701         https://bugs.webkit.org/show_bug.cgi?id=31265
702
703         No new tests: no functional changes.
704
705         * WebCore.gypi:
706         * WebCore.xcodeproj/project.pbxproj:
707         * dom/Document.cpp:
708         (WebCore::Document::setUseSecureKeyboardEntryWhenActive):
709         * editing/SelectionController.cpp:
710         (WebCore::SelectionController::focusedOrActiveStateChanged):
711         (WebCore::SelectionController::updateSecureKeyboardEntryIfActive):
712         (WebCore::SelectionController::setUseSecureKeyboardEntry):
713         * editing/SelectionController.h:
714         * page/Frame.cpp:
715         (WebCore::Frame::setDocument):
716         * page/Frame.h:
717         * platform/SecureTextInput.cpp: Added.
718         (WebCore::enableSecureTextInput):
719         (WebCore::disableSecureTextInput):
720         * platform/SecureTextInput.h: Added.
721         (WebCore::enableSecureTextInput):
722         (WebCore::disableSecureTextInput):
723
724 2010-03-08  Brady Eidson  <beidson@apple.com>
725
726         Reviewed by Anders Carlsson.
727
728         Relax the 3rd party cookie policy in cases where it won't add a new tracking vector.
729         <rdar://problem/7163012> and https://bugs.webkit.org/show_bug.cgi?id=35824
730
731         Test: http/tests/cookies/third-party-cookie-relaxing.html
732
733         If the 3rd-party domain in question already has a cookie set, allow changes
734         by setting the first party url of the request to be the url of the request itself:        
735         * platform/network/cf/ResourceHandleCFNet.cpp:
736         (WebCore::makeFinalRequest):
737
738         Ditto:
739         * platform/network/mac/ResourceHandleMac.mm:
740         (WebCore::ResourceHandle::start):
741         (WebCore::ResourceHandle::loadResourceSynchronously):
742
743         I've filed <rdar://problem/7728508> to track changing the policy in our networking layer.
744
745 2010-03-08  Jian Li  <jianli@chromium.org>
746
747         Reviewed by Dmitry Titov.
748
749         Blob.slice support.
750         https://bugs.webkit.org/show_bug.cgi?id=32993
751         
752         The following semantic is adopted per the discussions on public-webapps:
753         1) File.slice() does a synchronous IO to capture the current size and
754            modification time and cache them in the resulting Blob.
755         2) Subsequent Blob operations, like Blob.slice and Blob.size simply
756            use the cached values.
757         3) When the underlying file data are accessed, like in XHR.send(), the
758            UA will check the cached modification time against the current
759            modification time to determine if the file has been changed or not.
760            An error or exception will be thrown if needed.
761
762         Also add ENABLE_BLOB_SLICE feature define.
763
764         Test: http/tests/local/send-sliced-dragged-file.html
765
766         * Configurations/FeatureDefines.xcconfig:
767         * GNUmakefile.am:
768         * WebCore.pri:
769         * html/Blob.cpp:
770         (WebCore::Blob::Blob):
771         (WebCore::Blob::size):
772         (WebCore::Blob::slice):
773         * html/Blob.h:
774         (WebCore::Blob::start):
775         (WebCore::Blob::length):
776         (WebCore::Blob::modificationTime):
777         * html/Blob.idl:
778         * platform/network/FormData.cpp:
779         (WebCore::FormData::deepCopy):
780         (WebCore::FormData::appendFile):
781         (WebCore::FormData::appendFileRange):
782         * platform/network/FormData.h:
783         (WebCore::FormDataElement::FormDataElement):
784         (WebCore::operator==):
785         * platform/network/mac/FormDataStreamMac.mm:
786         (WebCore::advanceCurrentStream):
787         (WebCore::openNextStream):
788         (WebCore::formCreate):
789         (WebCore::formOpen):
790         (WebCore::formRead):
791         (WebCore::setHTTPBody):
792         * xml/XMLHttpRequest.cpp:
793         (WebCore::XMLHttpRequest::send):
794
795 2010-03-08  Daniel Bates  <dbates@rim.com>
796
797         Reviewed by Simon Fraser.
798
799         https://bugs.webkit.org/show_bug.cgi?id=34819
800
801         Fixes an issue where we repaint the caret rectangle even if the associated
802         selection is not in a content editable element. This is extraneous since the
803         caret is only visible when the selection is in a content editable element.
804         Hence, we should only repaint the caret rectangle when the associated selection
805         is in a content editable element.
806
807         Note, we always paint the caret when caret browsing is enabled.
808
809         Test: fast/repaint/no-caret-repaint-in-non-content-editable-element.html
810
811         * editing/SelectionController.cpp:
812         (WebCore::SelectionController::recomputeCaretRect): Modified to call method
813         SelectionController::shouldRepaintCaret.
814         (WebCore::SelectionController::shouldRepaintCaret): Added.
815         (WebCore::SelectionController::invalidateCaretRect): Modified to call method
816         SelectionController::shouldRepaintCaret.
817         * editing/SelectionController.h:
818
819 2010-03-08  Eric Carlson  <eric.carlson@apple.com>
820
821         Reviewed by Darin Adler.
822
823         YouTube HTML5 video never starts playing on Windows
824         https://bugs.webkit.org/show_bug.cgi?id=33954
825
826         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
827         (WebCore::MediaPlayerPrivate::rfc2616DateStringFromTime): New, create an rfc 2616 formatted
828         string for an absolute time value.
829         (WebCore::addCookieParam): New, add a cookie param and value to a string builder.
830         (WebCore::MediaPlayerPrivate::setUpCookiesForQuickTime): Copy cookies for the movie to
831             be loaded from CFNetwork into WinINet so they are available when QuickTime tries to
832             download the movie.
833         (WebCore::MediaPlayerPrivate::load): Call setupCookiesForQuickTime.
834         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
835
836 2010-03-08  Eric Uhrhane  <ericu@chromium.org>
837
838         Reviewed by David Levin.
839
840         Remove the now-redundant Settings fields for the Database
841         https://bugs.webkit.org/show_bug.cgi?id=35763
842
843         No new tests; this code isn't called.
844
845         * WebCore.base.exp:
846         * page/Settings.cpp:
847         (WebCore::Settings::Settings):
848         * page/Settings.h:
849
850 2010-03-04  Philippe Normand  <pnormand@igalia.com>
851
852         Reviewed by Eric Seidel.
853
854         [GStreamer] replace g_idle_add / g_timeout_add calls with Timers in the gstreamer player
855         https://bugs.webkit.org/show_bug.cgi?id=35735
856
857         Replaced g_idle_add calls with Timers immediately started once
858         only. The g_timeout_add was replaced by a periodic Timer.
859
860         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
861         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
862         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
863         (WebCore::MediaPlayerPrivate::volumeChangedTimerFired):
864         (WebCore::MediaPlayerPrivate::volumeChanged):
865         (WebCore::MediaPlayerPrivate::processBufferingStats):
866         (WebCore::MediaPlayerPrivate::fillTimerFired):
867         (WebCore::MediaPlayerPrivate::maxTimeLoaded):
868         (WebCore::MediaPlayerPrivate::updateStates):
869         (WebCore::MediaPlayerPrivate::muteChangedTimerFired):
870         (WebCore::MediaPlayerPrivate::muteChanged):
871         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
872
873 2010-03-07  David Levin  <levin@chromium.org>
874
875         Chromium Linux build fix.
876
877         * platform/graphics/chromium/FontPlatformDataLinux.h: Add "class String" since a debug
878         only method returns a String.
879
880 2010-03-07  Mark Rowe  <mrowe@apple.com>
881
882         Chromium build fix.
883
884         * platform/chromium/ClipboardChromium.cpp: Include Image.h since we're using WebCore::Image.
885
886 2010-03-07  Mark Rowe  <mrowe@apple.com>
887
888         Gtk build fix.
889
890         * platform/network/soup/ResourceHandleSoup.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
891
892 2010-03-07  Mark Rowe  <mrowe@apple.com>
893
894         Gtk build fix.
895
896         * platform/graphics/gtk/ImageGtk.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
897
898 2010-03-07  Mark Rowe  <mrowe@apple.com>
899
900         Fix builds where USE_CG_SHADING is set.
901
902         * platform/graphics/cg/GradientCG.cpp: Include wtf/RetainPtr.h since WTF::RetainPtr is used when USE_CG_SHADING is set.
903
904 2010-03-07  Mark Rowe  <mrowe@apple.com>
905
906         Windows build fix.  Add some required includes.
907
908         * platform/graphics/win/ImageCGWin.cpp:
909         * platform/network/cf/ResourceHandleCFNet.cpp:
910         * platform/win/ClipboardWin.cpp:
911
912 2010-03-07  Mark Rowe  <mrowe@apple.com>
913
914         Gtk build fix.
915
916         * platform/graphics/GraphicsContext.h: Include wtf/PassOwnPtr.h since some platforms use WTF::PassOwnPtr in this header.
917
918 2010-03-07  Mark Rowe  <mrowe@apple.com>
919
920         Qt build fix.
921
922         * platform/network/qt/ResourceHandleQt.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
923
924 2010-03-07  Mark Rowe  <mrowe@apple.com>
925
926         Gtk build fix.
927
928         * platform/gtk/ClipboardGtk.cpp: Include Image.h since we're using WebCore::Image.
929
930 2010-03-07  Mark Rowe  <mrowe@apple.com>
931
932         Rubber-stamped by Cameron Zwarich.
933
934         Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
935
936         * loader/CachedCSSStyleSheet.cpp:
937         * loader/CachedFont.cpp:
938         * loader/CachedImage.cpp:
939         * loader/CachedResource.cpp:
940         * loader/CachedResource.h:
941         * loader/CachedScript.cpp:
942         * loader/CachedXSLStyleSheet.cpp:
943         * loader/icon/IconFetcher.cpp:
944         * loader/loader.cpp:
945         * page/Page.cpp:
946         * platform/graphics/Image.cpp:
947         * platform/graphics/Image.h:
948         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
949         * platform/graphics/cg/PDFDocumentImage.cpp:
950         * platform/graphics/cg/PathCG.cpp:
951         * platform/graphics/mac/ImageMac.mm:
952
953 2010-03-07  Mark Rowe  <mrowe@apple.com>
954
955         Chromium build fix.
956
957         * platform/chromium/ChromiumDataObject.h: Include SharedBuffer.h since the inline constructor of this
958         class means that the pointed-to type of the RefPtr member must be available.
959
960 2010-03-07  Mark Rowe  <mrowe@apple.com>
961
962         Qt build fix.
963
964         * platform/network/qt/DnsPrefetchHelper.cpp: Include PlatformString.h since we're using WebCore::String.
965
966 2010-03-07  Kent Tamura  <tkent@chromium.org>
967
968         Reviewed by Eric Seidel.
969
970         Fix a bug that validity.valueMissing for a radio button with required
971         in a form element always returns true.
972         https://bugs.webkit.org/show_bug.cgi?id=35472
973
974         Test: fast/forms/ValidityState-valueMissing-radio.html
975
976         * html/HTMLInputElement.cpp:
977         (WebCore::checkedRadioButtons): Move the location to be used by valueMissing().
978         (WebCore::HTMLInputElement::valueMissing):
979           Use checkedRadioButtons() instead of document()->checkedRadioButtons().
980
981 2010-03-07  Mark Rowe  <mrowe@apple.com>
982
983         Rubber-stamped by Cameron Zwarich.
984
985         Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
986
987         * bindings/objc/DOM.mm:
988         * loader/CachedImage.h:
989         * loader/EmptyClients.h:
990         * platform/graphics/GlyphPageTreeNode.cpp:
991         * platform/text/CString.h:
992         * platform/text/String.cpp:
993         * platform/text/mac/TextCodecMac.cpp:
994         * svg/graphics/SVGResourceFilter.h:
995         * svg/graphics/filters/SVGFEImage.h:
996
997 2010-03-07  Mark Rowe  <mrowe@apple.com>
998
999         Completely remove two files that were deleted in r55635 from the Xcode project.
1000
1001         * WebCore.xcodeproj/project.pbxproj:
1002
1003 2010-03-07  Sam Weinig  <sam@webkit.org>
1004
1005         Reviewed by Dan Bernstein.
1006
1007         Remove inconsistent "Too few arguments" handling for window.atob() and window.btoa()
1008         https://bugs.webkit.org/show_bug.cgi?id=35848
1009
1010         - Take the opportunity to fully autogenerate window.atob() and window.btoa().
1011
1012         * bindings/js/JSDOMWindowCustom.cpp:
1013         * page/DOMWindow.cpp:
1014         (WebCore::DOMWindow::btoa):
1015         (WebCore::DOMWindow::atob):
1016         * page/DOMWindow.idl:
1017
1018 2010-03-07  Dan Bernstein  <mitz@apple.com>
1019
1020         Reviewed by Simon Fraser.
1021
1022         <rdar://problem/7722008> Column breaking ignores floats
1023         https://bugs.webkit.org/show_bug.cgi?id=35837
1024
1025         Test: fast/multicol/float-truncation.html
1026
1027         Introduce an earlier column-break if otherwise a float that could fit
1028         inside a single column will be split between columns.
1029
1030         It is still possible for floats to be needlessly broken if initially
1031         they fit in the column, but normal flow truncation then shortens the
1032         column.
1033
1034         * rendering/RenderBlock.cpp:
1035         (WebCore::RenderBlock::visibleTopOfHighestFloatExtendingBelow): Added.
1036         Returns the visible top of the highest descendant float that visibly
1037         extends below the given y offset, ignoring floats that are taller than
1038         the given maximum height.
1039         (WebCore::RenderBlock::layoutColumns): If the initial column height
1040         would cause a float to be split, truncate above the float.
1041         * rendering/RenderBlock.h:
1042
1043 2010-03-07  Dmitry Titov  <dimich@chromium.org>
1044
1045         Not reviewed. Revert of r55593 which caused a regression of worker-cloneports.html.
1046
1047         REGRESSION(55593?): fast/workers/worker-cloneport.html is timing out on Leopard
1048         https://bugs.webkit.org/show_bug.cgi?id=35819
1049
1050         * Android.jscbindings.mk:
1051         * Android.v8bindings.mk:
1052         * GNUmakefile.am:
1053         * WebCore.gypi:
1054         * WebCore.pro:
1055         * WebCore.vcproj/WebCore.vcproj:
1056         * WebCore.xcodeproj/project.pbxproj:
1057         * bindings/js/JSDOMWindowCustom.cpp:
1058         * bindings/js/JSDatabaseCallback.cpp: Removed.
1059         * bindings/js/JSDatabaseCallback.h: Removed.
1060         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1061         * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
1062         * bindings/v8/custom/V8DatabaseCallback.h: Removed.
1063         * dom/Document.cpp:
1064         (WebCore::Document::postTask):
1065         * page/DOMWindow.cpp:
1066         (WebCore::DOMWindow::openDatabase):
1067         * page/DOMWindow.h:
1068         * page/DOMWindow.idl:
1069         * storage/Database.cpp:
1070         (WebCore::Database::openDatabase):
1071         (WebCore::Database::Database):
1072         (WebCore::Database::performOpenAndVerify):
1073         * storage/Database.h:
1074         * storage/DatabaseCallback.h: Removed.
1075         * workers/WorkerContext.cpp:
1076         (WebCore::WorkerContext::openDatabase):
1077         * workers/WorkerContext.h:
1078
1079 2010-03-06  Mark Rowe  <mrowe@apple.com>
1080
1081         Rubber-stamped by Sam Weinig.
1082
1083         Remove unnecessary includes of wtf/Platform.h.  This is already pulled in by config.h.
1084
1085         * accessibility/AccessibilityObject.h:
1086         * dom/XMLTokenizer.cpp:
1087         * dom/XMLTokenizerLibxml2.cpp:
1088         * dom/XMLTokenizerQt.cpp:
1089         * editing/TextAffinity.h:
1090         * loader/FrameLoaderClient.h:
1091         * page/FocusController.cpp:
1092         * page/FrameTree.cpp:
1093         * page/Geolocation.h:
1094         * page/PositionCallback.h:
1095         * page/PositionErrorCallback.h:
1096         * platform/Cursor.h:
1097         * platform/FileSystem.h:
1098         * platform/FloatConversion.h:
1099         * platform/KeyboardCodes.h:
1100         * platform/PlatformKeyboardEvent.h:
1101         * platform/PlatformTouchPoint.h:
1102         * platform/SuddenTermination.h:
1103         * platform/Widget.h:
1104         * platform/graphics/Color.h:
1105         * platform/graphics/FloatPoint.h:
1106         * platform/graphics/FloatSize.h:
1107         * platform/graphics/GraphicsContext.h:
1108         * platform/graphics/IntPoint.h:
1109         * platform/graphics/IntRect.h:
1110         * platform/graphics/IntSize.h:
1111         * platform/graphics/openvg/PainterOpenVG.h:
1112         * platform/graphics/openvg/SurfaceOpenVG.h:
1113         * platform/network/ResourceHandleClient.h:
1114         * platform/text/Base64.cpp:
1115         * rendering/style/SVGRenderStyle.h:
1116         * xml/XSLTProcessor.cpp:
1117         * xml/XSLTProcessorLibxslt.cpp:
1118         * xml/XSLTProcessorQt.cpp:
1119
1120 2010-03-06  Sam Weinig  <sam@webkit.org>
1121
1122         Reviewed by Dan Bernstein.
1123
1124         Move debug only JS wrapper-set tracking code into its own file.
1125         https://bugs.webkit.org/show_bug.cgi?id=35839
1126
1127         * GNUmakefile.am: Added new files.
1128         * WebCore.gypi: Ditto.
1129         * WebCore.pro: Ditto.
1130         * WebCore.vcproj/WebCore.vcproj: Ditto.
1131         * WebCore.xcodeproj/project.pbxproj: Ditto.
1132
1133         * bindings/js/JSDOMBinding.cpp:
1134         (WebCore::cacheDOMObjectWrapper):
1135         (WebCore::forgetDOMObject):
1136         (WebCore::forgetDOMNode):
1137         (WebCore::cacheDOMNodeWrapper):
1138         (WebCore::takeWrappers):
1139         (WebCore::updateDOMNodeDocument):
1140         Updated for new signature for willCacheWrapper and didUncacheWrapper.
1141
1142         * bindings/js/JSDOMWrapper.cpp: Added.
1143         (WebCore::DOMObject::~DOMObject):
1144         (WebCore::DOMObject::defineOwnProperty):
1145         Moved from JSDOMBinding.cpp.
1146
1147         * bindings/js/JSDebugWrapperSet.cpp: Added.
1148         (WebCore::JSDebugWrapperSet::shared):
1149         (WebCore::JSDebugWrapperSet::JSDebugWrapperSet):
1150         * bindings/js/JSDebugWrapperSet.h: Added.
1151         (WebCore::JSDebugWrapperSet::add):
1152         (WebCore::JSDebugWrapperSet::remove):
1153         (WebCore::JSDebugWrapperSet::contains):
1154         (WebCore::JSDebugWrapperSet::willCacheWrapper):
1155         (WebCore::JSDebugWrapperSet::didUncacheWrapper):
1156         Moved from JSDOMBinding.cpp.
1157
1158 2010-03-06  Sam Weinig  <sam@webkit.org>
1159
1160         Rubber-stamped by Dan Bernstein.
1161
1162         Move DOMObjectHashTableMap, DOMWrapperWorld and WebCoreJSClientData into
1163         their own files.
1164
1165         * GNUmakefile.am:
1166         * WebCore.gypi:
1167         * WebCore.pro:
1168         * WebCore.vcproj/WebCore.vcproj:
1169         * WebCore.xcodeproj/project.pbxproj:
1170         * bindings/js/DOMObjectHashTableMap.cpp: Copied from bindings/js/JSDOMBinding.cpp.
1171         * bindings/js/DOMObjectHashTableMap.h: Copied from bindings/js/JSDOMBinding.h.
1172         (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
1173         (WebCore::DOMObjectHashTableMap::get):
1174         * bindings/js/DOMWrapperWorld.cpp: Copied from bindings/js/JSDOMBinding.cpp.
1175         (WebCore::forgetWorldOfDOMNodesForDocument):
1176         * bindings/js/DOMWrapperWorld.h: Copied from bindings/js/JSDOMBinding.h.
1177         (WebCore::DOMWrapperWorld::create):
1178         (WebCore::DOMWrapperWorld::rememberDocument):
1179         (WebCore::DOMWrapperWorld::forgetDocument):
1180         (WebCore::DOMWrapperWorld::isNormal):
1181         (WebCore::debuggerWorld):
1182         (WebCore::pluginWorld):
1183         (WebCore::currentWorld):
1184         (WebCore::Document::getWrapperCache):
1185         * bindings/js/JSDOMBinding.cpp:
1186         * bindings/js/JSDOMBinding.h:
1187         * bindings/js/JSDOMWindowBase.cpp:
1188         * bindings/js/ScriptController.cpp:
1189         * bindings/js/WebCoreJSClientData.h: Copied from bindings/js/JSDOMBinding.h.
1190         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
1191         (WebCore::WebCoreJSClientData::~WebCoreJSClientData):
1192         (WebCore::WebCoreJSClientData::normalWorld):
1193         (WebCore::WebCoreJSClientData::getAllWorlds):
1194         (WebCore::WebCoreJSClientData::rememberWorld):
1195         (WebCore::WebCoreJSClientData::forgetWorld):
1196         * bindings/js/WorkerScriptController.cpp:
1197
1198 2010-03-06  Dan Bernstein  <mitz@apple.com>
1199
1200         Rubber-stamped by Sam Weinig.
1201
1202         Remove an unused method.
1203
1204         * rendering/RenderBlock.cpp:
1205         (WebCore::RenderBlock::layoutBlock): Changed comment.
1206         (WebCore::RenderBlock::floatRect): Removed.
1207         * rendering/RenderBlock.h: Removed floatRect().
1208
1209 2010-03-06  Pavel Feldman  <pfeldman@chromium.org>
1210
1211         Reviewed by Timothy Hatcher.
1212
1213         Web Inspector: make timeline overview bars transparent to mouse events.
1214
1215         https://bugs.webkit.org/show_bug.cgi?id=35832
1216
1217         * inspector/front-end/inspector.css:
1218
1219 2010-03-06  Pavel Feldman  <pfeldman@chromium.org>
1220
1221         Reviewed by Jeremy Orlow.
1222
1223         Web Inspector: switching to/from Timeline Panel moves scroller.
1224         (Also added couple of record details items as I was fixing it).
1225
1226         https://bugs.webkit.org/show_bug.cgi?id=35829
1227
1228         * English.lproj/localizedStrings.js:
1229         * inspector/front-end/TimelinePanel.js:
1230         (WebInspector.TimelinePanel):
1231         (WebInspector.TimelinePanel.prototype.get defaultFocusedElement):
1232         (WebInspector.TimelinePanel.prototype.show):
1233         (WebInspector.TimelinePanel.prototype._refreshRecords):
1234         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1235
1236 2010-03-06  Patrick Gansterer  <paroga@paroga.com>
1237
1238         Reviewed by Eric Seidel.
1239
1240         Removed unnecessary WinCE file.
1241         The same functionality is provided by platform/win/SystemTimeWin.cpp.
1242         https://bugs.webkit.org/show_bug.cgi?id=35799
1243
1244         * platform/wince/SystemTimeWince.cpp: Removed.
1245
1246 2010-03-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1247
1248         Reviewed by Eric Seidel.
1249
1250         https://bugs.webkit.org/show_bug.cgi?id=30895
1251         [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
1252
1253         This completes the fixing of the Atk table hierarchy which was started
1254         in bug #35418.
1255
1256         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1257         (AccessibilityObject::accessibilityPlatformIncludesObject):
1258         * accessibility/AccessibilityRenderObject.cpp:
1259         (AccessibilityRenderObject::determineAccessibilityRole):
1260
1261 2010-03-06  MORITA Hajime  <morrita@google.com>
1262
1263         Reviewed by Darin Adler.
1264
1265         Moved implementations of window.btoa() and window.atob() from
1266         JSDOMWindow to DOMWindow, and make V8DOMWindow use DOMWindow
1267         functions instead of having a separate implementation. As a side effect, the
1268         error message has changed from "Cannot decode base64" to one that
1269         indicates DOM Exception, which is compatible to Firefox.
1270         
1271         Refactoring: window.btoa() and window.atob() should be implemented on DOMWindow
1272         https://bugs.webkit.org/show_bug.cgi?id=35723
1273
1274         No new test. No new functionality.
1275
1276         * bindings/js/JSDOMWindowCustom.cpp:
1277         (WebCore::JSDOMWindow::atob):
1278         (WebCore::JSDOMWindow::btoa):
1279         Moved conversion code to DOMWindow and invoke it. Argument
1280         checking remains here.
1281         
1282         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1283         (WebCore::V8DOMWindow::atobCallback):
1284         (WebCore::V8DOMWindow::btoaCallback):
1285         Remove conversion code and call DOMWindow APIs. Although argument
1286         checking remains here.
1287         
1288         * page/DOMWindow.cpp:
1289         (WebCore::hasMultibyteCharacters):
1290         (WebCore::DOMWindow::btoa):
1291         (WebCore::DOMWindow::atob):
1292         * page/DOMWindow.h:
1293         Moved Conversion code from JSDOMWindow, modifing to fit JSC independent.
1294
1295 2010-03-06  Yuta Kitamura  <yutak@chromium.org>
1296
1297         Reviewed by Eric Seidel.
1298
1299         Fix decoration position in search input field.
1300
1301         This patch fixes rendering of input field of "search" type, whose decoration
1302         (loupe icon and close button) was wrongly positioned when the input field was
1303         contained in a block with -webkit-transform property.
1304
1305         Chromium bug: http://crbug.com/20439
1306
1307         [Chromium] Decoration of "search" input field is wrongly rendered
1308         https://bugs.webkit.org/show_bug.cgi?id=30245
1309
1310         No new tests, since this patch fixes an existing test
1311         (fast/forms/search-transformed.html) in Chromium layout tests.
1312
1313         * rendering/RenderThemeChromiumSkia.cpp:
1314         (WebCore::RenderThemeChromiumSkia::convertToPaintingRect): Added. This method
1315         does almost the same thing as RenderThemeMac::convertToPaintingRect.
1316         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): The position
1317         of the icon should not depend on its absolute position.
1318         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): Ditto.
1319         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): Ditto.
1320         * rendering/RenderThemeChromiumSkia.h: Added new method.
1321
1322 2010-03-06  Ilya Tikhonovsky  <loislo@chromium.org>
1323
1324         Reviewed by Pavel Feldman.
1325
1326         Web Inspector: in Timeline panel, click followed with mouse move resets popover.
1327
1328         https://bugs.webkit.org/show_bug.cgi?id=35827
1329
1330         * inspector/front-end/Popover.js:
1331         (WebInspector.PopoverHelper.prototype._mouseDown):
1332         (WebInspector.PopoverHelper.prototype._mouseMove):
1333         (WebInspector.PopoverHelper.prototype._handleMouseAction):
1334
1335 2010-03-05  Tony Chang  <tony@chromium.org>
1336
1337         Reviewed by Eric Seidel.
1338
1339         https://bugs.webkit.org/show_bug.cgi?id=33247
1340         Backwards cursor movement incorrect when previous block ends with <br>.
1341
1342         If the cursor is trying to move into a node that has a height of 0,
1343         skip over it.
1344
1345         Test: editing/execCommand/move-selection-back-line.html
1346
1347         * editing/visible_units.cpp:
1348         (WebCore::previousLinePosition):
1349
1350 2010-03-05  Andrey Kosyakov  <caseq@chromium.org>
1351
1352         Reviewed by Eric Seidel.
1353
1354         Enable resource loading callback while loading worker scripts
1355         https://bugs.webkit.org/show_bug.cgi?id=35744
1356
1357         * workers/WorkerScriptLoader.cpp:
1358         (WebCore::WorkerScriptLoader::loadSynchronously):
1359         (WebCore::WorkerScriptLoader::loadAsynchronously):
1360
1361 2010-03-05  Chris Fleizach  <cfleizach@apple.com>
1362
1363         Reviewed by Eric Seidel.
1364
1365         WAI-ARIA live region doesn't appear when <div> only has a <div> child
1366         https://bugs.webkit.org/show_bug.cgi?id=35751
1367
1368         Elements should not be ignored if they carry ARIA attributes in them.
1369
1370         Test: platform/mac/accessibility/div-containing-div-with-aria.html
1371
1372         * accessibility/AccessibilityObject.cpp:
1373         (WebCore::AccessibilityObject::supportsARIAAttributes):
1374         * accessibility/AccessibilityObject.h:
1375         (WebCore::AccessibilityObject::supportsARIADropping):
1376         (WebCore::AccessibilityObject::supportsARIADragging):
1377         * accessibility/AccessibilityRenderObject.cpp:
1378         (WebCore::AccessibilityRenderObject::supportsARIADropping):
1379         (WebCore::AccessibilityRenderObject::supportsARIADragging):
1380         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1381         * accessibility/AccessibilityRenderObject.h:
1382
1383 2010-03-05  Dmitry Titov  <dimich@chromium.org>
1384
1385         Reviewed by Oliver Hunt.
1386
1387         Add a manual test for crash in DOMWindow::clearTimeout when DOMWindow is not connected to Frame
1388         https://bugs.webkit.org/show_bug.cgi?id=32353
1389
1390         * manual-tests/clearTimeout-crash-bug29832.html: Added.
1391
1392 2010-03-05  Dmitry Titov  <dimich@chromium.org>
1393
1394         Reviewed by David Levin.
1395
1396         [v8] Remove wrong assert in GC callback
1397         https://bugs.webkit.org/show_bug.cgi?id=35757
1398
1399         Test: fast/workers/wrapper-map-gc.html
1400
1401         * bindings/v8/DOMData.h:
1402         (WebCore::DOMData::handleWeakObject): remove ASSERT(isMainThread()), move another assert up to verify we are on the right thread.
1403
1404 2010-03-05  Alex Milowski  <alex@milowski.com>
1405
1406         Reviewed by Kenneth Rohde Christiansen.
1407
1408         Added support for row layout with stretchy operators and
1409         adjusted the over spacing for over and underover accordingly.
1410
1411         Tests: mathml/presentation/mo.xhtml
1412                mathml/presentation/row.xhtml
1413
1414         * WebCore.xcodeproj/project.pbxproj:
1415         * mathml/MathMLInlineContainerElement.cpp:
1416         * mathml/MathMLTextElement.cpp:
1417         * mathml/RenderMathMLMath.cpp: Added.
1418         * mathml/RenderMathMLMath.h: Added.
1419         * mathml/RenderMathMLOperator.cpp: Added.
1420         * mathml/RenderMathMLOperator.h: Added.
1421         * mathml/RenderMathMLRow.cpp: Added.
1422         * mathml/RenderMathMLRow.h: Added.
1423         * mathml/RenderMathMLUnderOver.cpp:
1424         * mathml/mathtags.in:
1425
1426 2010-03-05  Dean Jackson  <dino@apple.com>
1427
1428         Reviewed by Simon Fraser.
1429
1430         https://bugs.webkit.org/show_bug.cgi?id=35772
1431         Animation fill modes should be supported in the shorthand property
1432
1433         Add CSSPropertyWebkitAnimationFillMode to the list of properties
1434         evaluated in the -webkit-animation shorthand.
1435
1436         Test: animations/animation-shorthand.html
1437
1438         * css/CSSParser.cpp:
1439         (WebCore::CSSParser::parseAnimationShorthand):
1440
1441 2010-03-05  Dean Jackson  <dino@apple.com>
1442
1443         Reviewed by Simon Fraser
1444
1445         https://bugs.webkit.org/show_bug.cgi?id=35815
1446         Animation Fill Modes fail on Windows
1447
1448         * css/CSSComputedStyleDeclaration.cpp:
1449         * css/CSSStyleSelector.cpp:
1450         * platform/graphics/mac/GraphicsLayerCA.mm:
1451             - use new enum value
1452         * platform/animation/Animation.h:
1453             - change bitfield type
1454         * rendering/style/RenderStyleConstants.h:
1455             - add new enum for fill mode
1456
1457 2010-03-05  Csaba Osztrogonác  <ossy@webkit.org>
1458
1459         Unreviewed buildfix after r55593. (To fix Qt --minimal build.)
1460
1461         * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added.
1462
1463 2010-03-05  Simon Fraser  <simon.fraser@apple.com>
1464
1465         Reviewed by Darin Adler.
1466
1467         ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
1468         https://bugs.webkit.org/show_bug.cgi?id=34065
1469         <rdar://problem/7573509>
1470         
1471         Fix one instance of this assertion (not necessarily the one seen on hulu.com).
1472         
1473         If the layer that clippingRoot() is being called on is itself compositing,
1474         then it acts as the clipping root. Without this, calls to RenderLayer::childrenClipRect()
1475         and RenderLayer::selfClipRect() via FrameView::windowClipRectForLayer(), for plug-ins,
1476         caused the caching of an incorrect clip rects root.
1477
1478         Test: compositing/geometry/object-clip-rects-assertion.html
1479
1480         * rendering/RenderLayer.cpp:
1481         (WebCore::RenderLayer::clippingRoot):
1482
1483 2010-03-05  Simon Fraser  <simon.fraser@apple.com>
1484
1485         Reviewed by Dan Bernstein.
1486
1487         Child clipping compositing layers don't show the blue debug color
1488         https://bugs.webkit.org/show_bug.cgi?id=35807
1489
1490         Set a layer owner on the GraphicsLayers created for clipping children,
1491         so that they can get to the debug settings that give them the blue color.
1492
1493         * rendering/RenderLayerBacking.cpp:
1494         (WebCore::RenderLayerBacking::updateClippingLayers):
1495
1496 2010-03-05  Simon Fraser  <simon.fraser@apple.com>
1497
1498         Reviewed by Dan Bernstein.
1499
1500         MobileMe movie page is missing playback controls
1501         https://bugs.webkit.org/show_bug.cgi?id=35805
1502         <rdar://problem/7653169>
1503         
1504         On pages with video or plug-ins, we run overlap tests to determine which layers
1505         need to be composited. There was an ordering dependency bug in
1506         RenderLayerCompositor::computeCompositingRequirements() that caused us to fail
1507         to detect that a layer needed to be composited, resulting in page content
1508         not being visible.
1509         
1510         Specifically, layer->setHasCompositingDescendant() can change the answer
1511         to needsToBeComposited(), when a layer has to clip compositing descendants.
1512         So if we change setHasCompositingDescendant(), then we need to re-test
1513         clipsCompositingDescendants() and add the layer to the overlap map if so.
1514
1515         Test: compositing/overflow/overflow-compositing-descendant.html
1516
1517         * rendering/RenderLayerCompositor.cpp:
1518         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1519
1520 2010-03-04  Dumitru Daniliuc  <dumi@chromium.org>
1521
1522         Reviewed by Adam Barth.
1523
1524         Adding support for the optional creation callback that could be
1525         passed to openDatabase().
1526
1527         Test: storage/open-database-creation-callback.html
1528
1529         https://bugs.webkit.org/show_bug.cgi?id=34726
1530
1531         * Android.jscbindings.mk
1532         * Android.v8bindings.mk
1533         * GNUmakefile.am:
1534         * WebCore.gypi:
1535         * WebCore.pro:
1536         * WebCore.vcproj/WebCore.vcproj:
1537         * WebCore.xcodeproj/project.pbxproj:
1538         * bindings/js/JSDOMWindowCustom.cpp:
1539         (WebCore::JSDOMWindow::openDatabase):
1540         * bindings/js/JSDatabaseCallback.cpp: Added.
1541         (WebCore::JSDatabaseCallback::JSDatabaseCallback):
1542         (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
1543         (WebCore::JSDatabaseCallback::handleEvent):
1544         * bindings/js/JSDatabaseCallback.h: Added.
1545         (WebCore::JSDatabaseCallback::create):
1546         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1547         (WebCore::V8DOMWindow::openDatabaseCallback):
1548         * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
1549         (WebCore::V8DatabaseCallback::V8DatabaseCallback):
1550         (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
1551         (WebCore::V8DatabaseCallback::handleEvent):
1552         * bindings/v8/custom/V8DatabaseCallback.h: Added.
1553         (WebCore::V8DatabaseCallback::create):
1554         * page/DOMWindow.cpp:
1555         (WebCore::DOMWindow::openDatabase):
1556         * page/DOMWindow.h:
1557         * page/DOMWindow.idl:
1558         * storage/Database.cpp:
1559         (WebCore::DatabaseCreationCallbackTask::create):
1560         (WebCore::DatabaseCreationCallbackTask::performTask):
1561         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
1562         (WebCore::Database::openDatabase):
1563         (WebCore::Database::Database):
1564         (WebCore::Database::performOpenAndVerify):
1565         (WebCore::Database::performCreationCallback):
1566         * storage/Database.h:
1567         (WebCore::Database::isNew):
1568         * storage/DatabaseCallback.h: Added.
1569         (WebCore::DatabaseCallback::~DatabaseCallback):
1570         * workers/WorkerContext.cpp:
1571         (WebCore::WorkerContext::openDatabase):
1572         * workers/WorkerContext.h:
1573
1574 2010-03-05  Chris Marrin  <cmarrin@apple.com>
1575
1576         Reviewed by Simon Fraser.
1577
1578         Fixed infinite recursion of composited video on Windows
1579         https://bugs.webkit.org/show_bug.cgi?id=35798
1580         
1581         Due to a change in the way we get the platformLayer (WKCACFLayer)
1582         for video, the mediaplayer was in an infinite loop with WKCACFLayer
1583         bouncing notifySyncRequired calls back and forth. After discussion
1584         we decided it would be better to avoid notifySyncRequired entirely,
1585         which would walk up through WebCore calls and back down through
1586         WebKit calls to tell the WKCACFLayerRenderer to kick off a render cycle.
1587         
1588         I subclassed WKCACFLayer into a WKCACFRootLayer which has a pointer to
1589         the WKCACFLayerRenderer. When something changes, we get the rootLayer()
1590         by walking up the layers and make a virtual call which WKCACFRootLayer
1591         implements to tell WKCACFLayerRenderer to render.
1592         
1593         I also got rid of GraphicsLayer knowledge from WKCACFLayer. GraphicsLayerCACF
1594         now makes a WebLayer subclass which implements the drawInContext()
1595         virtual method.
1596         
1597         I also had to add protection to the platformLayer() call in 
1598         MediaPlayerPrivateQuickTimeWin because it gets called earlier than before
1599         when the layer is still null.
1600
1601         * platform/graphics/win/GraphicsLayerCACF.cpp:Implement WebLayer
1602         (WebCore::WebLayer::create):
1603         (WebCore::WebLayer::drawInContext):
1604         (WebCore::WebLayer::WebLayer):
1605         (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
1606         (WebCore::GraphicsLayerCACF::setNeedsDisplayInRect):
1607         (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
1608         (WebCore::GraphicsLayerCACF::updateContentsImage):
1609         * platform/graphics/win/GraphicsLayerCACF.h:
1610         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:Protect platformLayer from a null qtLayer
1611         (WebCore::MediaPlayerPrivate::platformLayer):
1612         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:Got rid of no longer needed method
1613         (WebCore::MediaPlayerPrivate::notifyAnimationStarted):
1614         * platform/graphics/win/WKCACFLayer.cpp:Got rid of GraphicsLayer dependency. Made virtual.
1615         (WebCore::displayCallback):
1616         (WebCore::WKCACFLayer::create):
1617         (WebCore::WKCACFLayer::WKCACFLayer):
1618         (WebCore::WKCACFLayer::setNeedsCommit):
1619         (WebCore::WKCACFLayer::setNeedsDisplay):
1620         * platform/graphics/win/WKCACFLayer.h:
1621         (WebCore::WKCACFLayer::setNeedsRender):
1622         (WebCore::WKCACFLayer::drawInContext):
1623         * platform/graphics/win/WKCACFLayerRenderer.cpp:Create WKCACFRootLayer which tells WKCACFLayerRenderer to render
1624         (WebCore::WKCACFRootLayer::WKCACFRootLayer):
1625         (WebCore::WKCACFRootLayer::create):
1626         (WebCore::WKCACFRootLayer::setNeedsRender):
1627         (WebCore::WKCACFRootLayer::setNeedsDisplay):
1628         (WebCore::WKCACFLayerRenderer::rootLayer):
1629         (WebCore::WKCACFLayerRenderer::setRootChildLayer):
1630         (WebCore::WKCACFLayerRenderer::setNeedsDisplay):
1631         (WebCore::WKCACFLayerRenderer::createRenderer):
1632         * platform/graphics/win/WKCACFLayerRenderer.h:
1633
1634 2010-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
1635
1636         Reviewed by David Levin.
1637
1638         [Chromium] Missing commas in WebCore.gypi file make building Geo unpossible.
1639         https://bugs.webkit.org/show_bug.cgi?id=35797
1640
1641         No new tests, this is a latent compile break.
1642
1643         * WebCore.gypi:
1644
1645 2010-03-04  Eric Carlson  <eric.carlson@apple.com>
1646
1647         Reviewed by Adele Peterson.
1648
1649         <rdar://problem/7718442> Implement 'preload=none'
1650         https://bugs.webkit.org/show_bug.cgi?id=35789
1651
1652         Don't load any media data when preload is 'none'.
1653
1654         Test: media/video-preload.html
1655
1656         * html/HTMLMediaElement.cpp:
1657         (WebCore::HTMLMediaElement::loadResource): Don't call player's setPreload method
1658             when autoplay is set.
1659
1660         * platform/graphics/MediaPlayer.cpp:
1661         (WebCore::MediaPlayer::setPreload): Set m_preload so we have the correct value when
1662             the media engine is created.
1663
1664         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1665         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1666         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_preload.
1667         (WebCore::MediaPlayerPrivate::resumeLoad): New, kick off postponed a load.
1668         (WebCore::MediaPlayerPrivate::load): Do nothing if preload is 'none'
1669         (WebCore::MediaPlayerPrivate::loadInternal): New, complete loading.
1670         (WebCore::MediaPlayerPrivate::prepareToPlay): New, resume a postponed load as someone
1671             has called play().
1672         (WebCore::MediaPlayerPrivate::setPreload): New, set m_preload.
1673
1674 2010-03-04  Nate Chapin  <japhet@chromium.org>
1675
1676         Reviewed by Dimitri Glazkov.
1677
1678         [V8] Give CodeGeneratorV8.pm a much-needed spring cleaning.
1679
1680         https://bugs.webkit.org/show_bug.cgi?id=35697
1681
1682         * bindings/scripts/CodeGeneratorV8.pm: Remove unused code, fix style issues, make less hard-coded.
1683         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1684         (WebCore::V8DOMWindow::addEventListenerCallback):
1685         (WebCore::V8DOMWindow::removeEventListenerCallback):
1686
1687 2010-03-05  Pavel Feldman  <pfeldman@chromium.org>
1688
1689         Not reviewed. Roll back r55522 since it regreses performance
1690         according to chromium's page cycler.
1691
1692         https://bugs.webkit.org/show_bug.cgi?id=35568
1693
1694 2010-03-05  Dean Jackson  <dino@apple.com>
1695
1696         Reviewed by Simon Fraser and Chris Marrin.
1697
1698         Bug 26869: Add fill modes for CSS Animations
1699         https://bugs.webkit.org/show_bug.cgi?id=26869
1700
1701         Tests: animations/fill-mode-removed.html
1702                animations/fill-mode-transform.html
1703                animations/fill-mode.html
1704
1705         * css/CSSComputedStyleDeclaration.cpp:
1706         * css/CSSParser.cpp:
1707         * css/CSSParser.h:
1708         * css/CSSPropertyNames.in:
1709         * css/CSSStyleSelector.cpp:
1710         * css/CSSStyleSelector.h:
1711         * css/CSSValueKeywords.in:
1712             - parse, assign and retrieve the value of the new
1713               -webkit-animation-fill-mode property
1714         * page/animation/AnimationBase.cpp:
1715         * page/animation/AnimationBase.h:
1716             - new state in animation engine for a finished animation
1717               that is "filling" forwards in time. This allows the
1718               engine to keep the animation around and not revert to the
1719               old style.
1720             - update the timer code to indicate it doesn't need to
1721               keep animating if it is filling
1722             - now that animations can extend beyond their elapsed time,
1723               make sure progress works correctly with iteration counts
1724         * page/animation/KeyframeAnimation.cpp:
1725         (WebCore::KeyframeAnimation::animate):
1726             - ensure correct style value is returned at the right
1727               time by checking for fill mode
1728         (WebCore::KeyframeAnimation::onAnimationEnd):
1729             - continue to send the end event, but only remove the
1730               animation if it isn't filling forwards
1731         * platform/animation/Animation.cpp:
1732         * platform/animation/Animation.h:
1733             - new fill mode member property
1734         * platform/animation/AnimationList.cpp:
1735             - ensure the fill mode is propagated to a list of style valus
1736         * platform/graphics/mac/GraphicsLayerCA.mm:
1737             - make hardware layers use Core Animation's fill mode
1738
1739 2010-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
1740
1741         Reviewed by Pavel Feldman.
1742
1743         Web Inspector: Do not show link helper in popovers and/or for external resources.
1744
1745         https://bugs.webkit.org/show_bug.cgi?id=35785
1746
1747         * English.lproj/localizedStrings.js:
1748         * inspector/front-end/ResourcesPanel.js:
1749         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
1750         * inspector/front-end/ScriptsPanel.js:
1751         (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
1752         * inspector/front-end/TimelinePanel.js:
1753         (WebInspector.TimelinePanel.prototype.hide):
1754         * inspector/front-end/inspector.js:
1755         (WebInspector.documentMouseOver):
1756         (WebInspector.documentClick.followLink):
1757         (WebInspector.documentClick):
1758         (WebInspector.addMainEventListeners):
1759
1760 2010-03-05  Fumitoshi Ukai  <ukai@chromium.org>
1761
1762         Reviewed by Alexey Proskuryakov.
1763
1764         WebSocket onmessageerror event handler
1765         https://bugs.webkit.org/show_bug.cgi?id=35570
1766
1767         Test: websocket/tests/error-detect.html
1768
1769         * websockets/WebSocket.cpp:
1770         (WebCore::WebSocketChannel::didConnect): assert scriptExecutionContext.
1771         (WebCore::WebSocketChannel::didReceiveMessage): assert scriptExecutionContext.
1772         (WebCore::WebSocket::didReceiveMessageError):
1773         (WebCore::WebSocket::didClose): assert scriptExecutionContext.
1774         * websockets/WebSocket.h:
1775         * websockets/WebSocket.idl: Add onerror event listener
1776         * websockets/WebSocketChannel.cpp:
1777         (WebCore::WebSocketChannel::didReceiveData): call didReceiveMessageError if unknown frame tye is detected, or frame length overflowed.
1778         * websockets/WebSocketChannelClient.h:
1779         (WebCore::WebSocketChannelClient::didReceiveMessageError):
1780
1781 2010-03-04  Garret Kelly  <gdk@chromium.org>
1782
1783         Reviewed by Darin Fisher.
1784
1785         Changing private members from PlatformTouchEvent and PlatformTouchPoint
1786         to be protected, so that Chromium's PlatformTouchEventBuilder and
1787         PlatformTouchPointBuilder can access them. Exercised by the
1788         fast/events/touch tests.
1789         https://bugs.webkit.org/show_bug.cgi?id=35760
1790
1791         * platform/PlatformTouchEvent.h:
1792         (WebCore::PlatformTouchEvent::~PlatformTouchEvent):
1793         * platform/PlatformTouchPoint.h:
1794         (WebCore::PlatformTouchPoint::~PlatformTouchPoint):
1795
1796 2010-03-04  Fumitoshi Ukai  <ukai@chromium.org>
1797
1798         Reviewed by Alexey Proskuryakov.
1799
1800         WebSocket crash bug when reloading the page while the WebSocket is busy
1801         https://bugs.webkit.org/show_bug.cgi?id=35732
1802
1803         * websockets/WebSocketChannel.cpp:
1804         (WebCore::WebSocketChannel::disconnect): clear m_context from WebSocketChannel and WebSocketHandshake.
1805         (WebCore::WebSocketChannel::didOpen): check m_context
1806         (WebCore::WebSocketChannel::didClose): clear m_context
1807         (WebCore::WebSocketChannel::didReceiveData): check m_context, and check m_client early before appending to buffer
1808         * websockets/WebSocketHandshake.cpp:
1809         (WebCore::WebSocketHandshake::clearScriptExecutionContext): Added.
1810         * websockets/WebSocketHandshake.h:
1811
1812 2010-03-04  MORITA Hajime <morrita@google.com>
1813
1814         Reviewed by Alexey Proskuryakov.
1815
1816         Refactoring: XMLHTTPRequest.open() should have all overloaded implementations
1817         https://bugs.webkit.org/show_bug.cgi?id=35630
1818
1819         Test: http/tests/xmlhttprequest/open-async-overload.html
1820
1821         * bindings/js/JSXMLHttpRequestCustom.cpp:
1822         (WebCore::JSXMLHttpRequest::open):
1823         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1824         (WebCore::V8XMLHttpRequest::openCallback):
1825         * xml/XMLHttpRequest.cpp:
1826         (WebCore::XMLHttpRequest::open):
1827         * xml/XMLHttpRequest.h:
1828
1829 2010-03-04  James Robinson  <jamesr@google.com>
1830
1831         Reviewed by Eric Seidel.
1832
1833         Styles do not have to be synchronously rematched after every event dispatch
1834
1835         https://bugs.webkit.org/show_bug.cgi?id=32580
1836
1837         * bindings/js/JSEventListener.cpp:
1838         (WebCore::JSEventListener::handleEvent):
1839         * bindings/v8/V8AbstractEventListener.cpp:
1840         (WebCore::V8AbstractEventListener::handleEvent):
1841
1842 2010-03-04  Luiz Agostini  <luiz.agostini@openbossa.org>
1843
1844         Reviewed by Kenneth Rohde Christiansen.
1845
1846         maemo spelled as mameo in WebCore.pro
1847         https://bugs.webkit.org/show_bug.cgi?id=35765
1848
1849         Spelling corrected.
1850
1851         * WebCore.pro:
1852
1853 2010-03-04  Tony Chang  <tony@chromium.org>
1854
1855         Reviewed by Eric Seidel.
1856
1857         https://bugs.webkit.org/show_bug.cgi?id=18819
1858         Pressing option+page{down,up} should move the cursor and scroll in
1859         content editable areas.  On other platforms, pressing page{down,up}
1860         should move the cursor and scroll in content editable areas.
1861
1862         Test: editing/input/option-page-up-down.html
1863
1864         * editing/EditorCommand.cpp:
1865         (WebCore::verticalScrollDistance):
1866
1867 2010-03-03  Oliver Hunt  <oliver@apple.com>
1868
1869         Reviewed by Gavin Barraclough.
1870
1871         Allow static property getters to interact with JSCs caching
1872         https://bugs.webkit.org/show_bug.cgi?id=35716
1873
1874         Update the obviously safe getters to allow caching
1875
1876         Test: fast/js/pic/cached-named-property-getter.html
1877
1878         * bridge/runtime_array.cpp:
1879         (JSC::RuntimeArray::getOwnPropertySlot):
1880         * bridge/runtime_method.cpp:
1881         (JSC::RuntimeMethod::getOwnPropertySlot):
1882
1883 2010-03-04  Mark Rowe  <mrowe@apple.com>
1884
1885         Reviewed by Sam Weinig.
1886
1887         <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h
1888
1889         * WebCore.xcodeproj/project.pbxproj: Copy DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h
1890         in to the framework wrapper.
1891
1892 2010-03-04  James Robinson  <jamesr@chromium.org>
1893
1894         Reviewed by Dimitri Glazkov.
1895
1896         Handles setting HTMLSelectElement.length with mutation handlers present
1897         https://bugs.webkit.org/show_bug.cgi?id=33983
1898
1899         When setting an HTMLSelectElement's length attribute, option elements have to be added or removed to the select
1900         as appropriate.  This is a little tricky with mutation events since they might add, remove, or reorder elements
1901         while option elements are being added or deleted.
1902
1903         Tests: fast/forms/select-set-length-optgroup.html
1904                fast/forms/select-set-length-with-mutation-remove.html
1905                fast/forms/select-set-length-with-mutation-reorder.html
1906                fast/forms/select-set-length-with-mutation-reparent.html
1907                fast/forms/select-set-length-with-mutation.html
1908                fast/forms/select-set-length.html
1909
1910         * html/HTMLSelectElement.cpp:
1911         (WebCore::HTMLSelectElement::setLength):
1912
1913 2010-03-04  Csaba Osztrogonác  <ossy@webkit.org>
1914
1915         [Qt] Unreviewed buildfix after r55542 on Windows.
1916
1917         * WebCore.pro:
1918          - plugins/win/PluginDatabaseWin.cpp removed.
1919          - platform/win/WebCoreInstanceHandle.cpp added.
1920
1921         * platform/win/WebCoreInstanceHandle.cpp: Remove explicit qualification in namespace declaration to make gcc happy.
1922
1923 2010-03-04  Nate Chapin  <japhet@chromium.org>
1924
1925         Reviewed by Kenneth Rohde Christiansen.
1926
1927         Fix the case where we do a same document navigation, scroll,
1928         then repeat the same document navigation.  Currently, the second
1929         navigation does nothing.
1930
1931         https://bugs.webkit.org/show_bug.cgi?id=35547
1932
1933         Test: fast/loader/repeat-same-document-navigation.html
1934
1935         * loader/FrameLoader.cpp:
1936         (WebCore::FrameLoader::loadInSameDocument): Call scrollToFragment() whether or not the hash changed.
1937
1938 2010-03-04  Simon Fraser  <simon.fraser@apple.com>
1939
1940         Build fix.
1941         
1942         const long long cMaxDistance = numeric_limits<long long>::max() created global
1943         initializers at the call sites, so replace with an inline function.
1944
1945         * page/FocusController.cpp:
1946         (WebCore::updateFocusCandidateIfCloser):
1947         * page/SpatialNavigation.cpp:
1948         (WebCore::distanceInDirection):
1949         * page/SpatialNavigation.h:
1950         (WebCore::maxDistance):
1951         (WebCore::FocusCandidate::FocusCandidate):
1952
1953 2010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
1954
1955         Unreviewed attempt to fix Windows build.
1956
1957         * page/SpatialNavigation.cpp:
1958         (WebCore::spatialDistance):
1959
1960 2010-03-04  Simon Fraser  <simon.fraser@apple.com>
1961
1962         Build fix.
1963
1964         Delcare updateFocusCandidateIfCloser static to avoid warning.
1965
1966         * page/FocusController.cpp:
1967         (WebCore::updateFocusCandidateIfCloser):
1968
1969 2010-03-04  Darin Fisher  <darin@chromium.org>
1970
1971         Reviewed by Dmitry Titov.
1972
1973         [chromium] make history.{push,replace}State enabled at runtime
1974         https://bugs.webkit.org/show_bug.cgi?id=35753
1975
1976         * bindings/generic/RuntimeEnabledFeatures.cpp:
1977         * bindings/generic/RuntimeEnabledFeatures.h:
1978         (WebCore::RuntimeEnabledFeatures::setPushStateEnabled):
1979         (WebCore::RuntimeEnabledFeatures::pushStateEnabled):
1980         (WebCore::RuntimeEnabledFeatures::replaceStateEnabled):
1981         * page/History.idl:
1982
1983 2010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
1984
1985         Unreviewed attempt to (again) fix Mac build.
1986
1987         * page/SpatialNavigation.cpp:
1988         (WebCore::spatialDistance):
1989
1990 2010-03-04  Dan Bernstein  <mitz@apple.com>
1991
1992         Based on a patch from Nick Jong.
1993
1994         Reviewed by Simon Fraser.
1995
1996         Improve selection in multi-column blocks when hitting points above or
1997         below a column rect.
1998
1999         Test: fast/multicol/hit-test-above-or-below.html
2000
2001         * rendering/RenderBlock.cpp:
2002         (WebCore::RenderBlock::adjustPointToColumnContents): If the point lies
2003         within the horizontal range for a column, constrain it to the column (if
2004         it is above) or the next column (if it is below).
2005
2006 2010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
2007
2008         Reviewed by Simon Fraser.
2009
2010         Attempt to fix Mac build.
2011
2012         * page/SpatialNavigation.cpp:
2013
2014 2010-03-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2015
2016         Add SpatialNavigation header and cpp to Mac XCode project file.
2017
2018         Reviewed by Kenneth Christiansen.
2019
2020         * WebCore.xcodeproj/project.pbxproj:
2021
2022 2010-03-02  Antonio Gomes  <tonikitoo@webkit.org>
2023
2024         Reviewed by Simon Fraser, Eric Seidel and Darin Adler.
2025         Patch by Antonio Gomes <tonikitoo@webkit.org>
2026         Based on the initial work of Marco Barisione <marco.barisione@collabora.co.uk>
2027
2028         Extend keyboard navigation to allow directional navigation
2029         https://bugs.webkit.org/show_bug.cgi?id=18662
2030
2031         This patch implements the core logic of the 'Spatial Navigation' feature [1].
2032         It improves the accessibility support of WebCore by extending the basic keyboard
2033         navigation currently available (based on Tab forward and backward) with the
2034         addition of a two-dimensional directional navigation by using Left, Right, Up and
2035         Down arrow keys to move to the "nearest" element in the corresponding direction.
2036
2037         Highlights:
2038         * Feature is turned off by default in Settings. Port specific APIs need to be added
2039           for toggling it on/off.
2040         * Only elements viewed in the current viewport can have focus move to it. If the
2041           "nearest" is not in viewport dimensions, then a scroll-in-direction action is
2042           performed.
2043
2044         Known issues (to be covered in follow-up bugs):
2045         * Add port specific hooks to each DRT to enable/disable Spatial Navigation.
2046         * Support for spatial navigation through form elements (<input>, <select>, etc)
2047           is be added.
2048         * Make navigation keys customizable. It currently works with arrows keys only
2049           (up, down, right and left).
2050         * Make it support modifiers (Alt, Ctrl and Shift).
2051         * Improve support on scrollable content.
2052
2053         [1] http://en.wikipedia.org/wiki/Spatial_navigation
2054
2055         * Android.mk:
2056         * GNUmakefile.am:
2057         * WebCore.gypi:
2058         * WebCore.pro:
2059         * WebCore.vcproj/WebCore.vcproj:
2060         * page/EventHandler.cpp:
2061         (WebCore::EventHandler::defaultKeyboardEventHandler):
2062         (WebCore::EventHandler::focusDirectionForKey):
2063         (WebCore::EventHandler::defaultArrowEventHandler):
2064         * page/EventHandler.h:
2065         * page/FocusController.cpp:
2066         (WebCore::FocusController::advanceFocus):
2067         (WebCore::FocusController::advanceFocusInDocumentOrder):
2068         (WebCore::FocusController::advanceFocusDirectionally):
2069         (WebCore::updateFocusCandidateIfCloser):
2070         (WebCore::FocusController::findFocusableNodeInDirection):
2071         (WebCore::FocusController::deepFindFocusableNodeInDirection):
2072         * page/FocusController.h:
2073         * page/FocusDirection.h:
2074         (WebCore::):
2075         * page/Settings.cpp:
2076         (WebCore::Settings::Settings):
2077         (WebCore::Settings::setSpatialNavigationEnabled):
2078         * page/Settings.h:
2079         (WebCore::Settings::isSpatialNavigationEnabled):
2080         * page/SpatialNavigation.cpp: Added.
2081         (WebCore::distanceInDirection):
2082         (WebCore::renderRectRelativeToRootDocument):
2083         (WebCore::alignmentForRects):
2084         (WebCore::isHorizontalMove):
2085         (WebCore::areRectsFullyAligned):
2086         (WebCore::areRectsPartiallyAligned):
2087         (WebCore::spatialDistance):
2088         (WebCore::isRectInDirection):
2089         (WebCore::hasOffscreenRect):
2090         (WebCore::scrollInDirection):
2091         (WebCore::isInRootDocument):
2092         (WebCore::deflateIfOverlapped):
2093         * page/SpatialNavigation.h: Added.
2094         (WebCore::):
2095         (WebCore::FocusCandidate::FocusCandidate):
2096
2097 2010-03-04  Beth Dakin  <bdakin@apple.com>
2098
2099         Reviewed by Anders Carlsson.
2100
2101         This fixes the layering violation I committed yesterday by moving 
2102         Page::instanceHandle into its own file just in the WebCore 
2103         namespace.
2104
2105         Added WebCoreInstanceHandle.h + .cpp and removed PageWin.cpp
2106         * WebCore.vcproj/WebCore.vcproj:
2107         * page/win/PageWin.cpp: Removed.
2108
2109         Remove all instance handle code from Page.
2110         * page/Page.h:
2111
2112         New files.
2113         * platform/win/WebCoreInstanceHandle.cpp: Added.
2114         * platform/win/WebCoreInstanceHandle.h: Added.
2115         (WebCore::setInstanceHandle):
2116         (WebCore::instanceHandle):
2117
2118         Switch to WebCore::instanceHandle() instead of 
2119         Page::instanceHandle() and include the new header.
2120         * platform/graphics/win/WKCACFLayerRenderer.cpp:
2121         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
2122         * platform/win/PasteboardWin.cpp:
2123         (WebCore::Pasteboard::Pasteboard):
2124         * platform/win/PopupMenuWin.cpp:
2125         (WebCore::PopupMenu::show):
2126         (WebCore::PopupMenu::registerClass):
2127         * platform/win/SharedTimerWin.cpp:
2128         (WebCore::initializeOffScreenTimerWindow):
2129         * plugins/win/PluginViewWin.cpp:
2130         (WebCore::registerPluginView):
2131         (WebCore::PluginView::platformStart):
2132
2133 2010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
2134
2135         Unreviewed build fix.
2136         Patch by Antonio Gomes <tonikitoo@webkit.org>
2137
2138         'glib_file_name' renamed to 'gligFileName'.
2139
2140         * platform/graphics/gtk/ImageGtk.cpp:
2141         (WebCore::Image::loadPlatformResource):
2142
2143 2010-03-04  Pavel Feldman  <pfeldman@chromium.org>
2144
2145         Reviewed by Timothy Hatcher.
2146
2147         Web Inspector: Remove two last synchronous calls from front-end to InspectorBackend.
2148
2149         https://bugs.webkit.org/show_bug.cgi?id=35720
2150
2151         * inspector/InspectorBackend.cpp:
2152         (WebCore::InspectorBackend::enableSearchingForNode):
2153         (WebCore::InspectorBackend::disableSearchingForNode):
2154         (WebCore::InspectorBackend::setPauseOnExceptionsState):
2155         * inspector/InspectorBackend.h:
2156         * inspector/InspectorBackend.idl:
2157         * inspector/InspectorController.cpp:
2158         (WebCore::InspectorController::setWindowVisible):
2159         (WebCore::InspectorContorller::setSearchingForNode):
2160         (WebCore::InspectorController::populateScriptObjects):
2161         * inspector/InspectorController.h:
2162         * inspector/InspectorFrontend.cpp:
2163         (WebCore::InspectorFrontend::searchingForNodeWasEnabled):
2164         (WebCore::InspectorFrontend::searchingForNodeWasDisabled):
2165         (WebCore::InspectorFrontend::updatePauseOnExceptionsState):
2166         * inspector/InspectorFrontend.h:
2167         * inspector/front-end/ElementsPanel.js:
2168         (WebInspector.ElementsPanel):
2169         (WebInspector.ElementsPanel.prototype.get statusBarItems):
2170         (WebInspector.ElementsPanel.prototype.hide):
2171         (WebInspector.ElementsPanel.prototype.reset):
2172         (WebInspector.ElementsPanel.prototype.searchingForNodeWasEnabled):
2173         (WebInspector.ElementsPanel.prototype.searchingForNodeWasDisabled):
2174         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
2175         * inspector/front-end/InspectorBackendStub.js:
2176         (.WebInspector.InspectorBackendStub.prototype.enableSearchingForNode):
2177         (.WebInspector.InspectorBackendStub.prototype.disableSearchingForNode):
2178         (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptionsState):
2179         * inspector/front-end/ScriptsPanel.js:
2180         (WebInspector.ScriptsPanel):
2181         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
2182         (WebInspector.ScriptsPanel.prototype.updatePauseOnExceptionsState):
2183         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
2184         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
2185         * inspector/front-end/inspector.js:
2186         (WebInspector.searchingForNodeWasEnabled):
2187         (WebInspector.searchingForNodeWasDisabled):
2188         (WebInspector.updatePauseOnExceptionsState):
2189
2190 2010-03-03  Pavel Feldman  <pfeldman@chromium.org>
2191
2192         Reviewed by Timothy Hatcher.
2193
2194         Web Inspector: Clicking on an error should take me to the error
2195
2196         https://bugs.webkit.org/show_bug.cgi?id=34860
2197
2198         * inspector/front-end/ResourceView.js:
2199         (WebInspector.ResourceView):
2200         (WebInspector.ResourceView.prototype._selectTab):
2201         (WebInspector.ResourceView.prototype.selectContentTab):
2202         * inspector/front-end/ResourcesPanel.js:
2203         (WebInspector.ResourcesPanel.prototype.showResource):
2204
2205 2010-03-03  Pavel Feldman  <pfeldman@chromium.org>
2206
2207         Reviewed by Timothy Hatcher.
2208
2209         Web Inspector: Remove sync access to resourceTrackingEnabled.
2210
2211         https://bugs.webkit.org/show_bug.cgi?id=35693
2212
2213         * inspector/InspectorBackend.cpp:
2214         * inspector/InspectorBackend.h:
2215         * inspector/InspectorBackend.idl:
2216         * inspector/InspectorController.cpp:
2217         (WebCore::InspectorController::populateScriptObjects):
2218         * inspector/front-end/AuditsPanel.js:
2219         (WebInspector.AuditsPanel.prototype._reloadResources):
2220         (WebInspector.AuditsPanel.prototype.show):
2221         * inspector/front-end/InspectorBackendStub.js:
2222         (.WebInspector.InspectorBackendStub):
2223         (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
2224         (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
2225         (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
2226         (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
2227         (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
2228         (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
2229         * inspector/front-end/ResourcesPanel.js:
2230         (WebInspector.ResourcesPanel):
2231         (WebInspector.ResourcesPanel.prototype.get resourceTrackingEnabled):
2232         (WebInspector.ResourcesPanel.prototype.get visibleView):
2233         (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
2234         (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled):
2235         (WebInspector.ResourcesPanel.prototype.reset):
2236         (WebInspector.ResourcesPanel.prototype.showResource):
2237         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
2238         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
2239
2240 2010-03-04  Antoine Quint  <ml@graougraou.com>
2241
2242         Reviewed by Darin Adler.
2243
2244         DOM insertion mutation events should dispatch after a node is attached to the render tree
2245         https://bugs.webkit.org/show_bug.cgi?id=35590
2246
2247         Test: fast/events/domnodeinsertedintodocument-dispatched-post-rendering.html
2248
2249         Split off the internal-to-WebCore node insertion notification code from the DOM mutation
2250         event dispatching, originally in dispatchChildInsertionEvents(), to a new static function
2251         called notifyChildInserted(). This allows us to dispatch the mutation events at a later
2252         time upon insertion of a child into to the tree, specifically _after_ attachment to the render
2253         tree.
2254
2255         * dom/ContainerNode.cpp:
2256         (WebCore::ContainerNode::insertBefore):
2257         (WebCore::ContainerNode::replaceChild):
2258         (WebCore::ContainerNode::appendChild):
2259         (WebCore::notifyChildInserted):
2260         (WebCore::dispatchChildInsertionEvents):
2261
2262 2010-03-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
2263
2264         Reviewed by Holger Freyther.
2265
2266         Make paths relocatable on runtime on Windows
2267         https://bugs.webkit.org/show_bug.cgi?id=32711
2268
2269         * platform/graphics/gtk/ImageGtk.cpp:
2270         (get_webkit_datadir):
2271         (WebCore::Image::loadPlatformResource):
2272
2273 2010-03-04  Pavel Feldman  <pfeldman@chromium.org>
2274
2275         Reviewed by Timothy Hatcher.
2276
2277         Web Inspector: Popup for Timeline panel will work in a tooltip mode
2278
2279         https://bugs.webkit.org/show_bug.cgi?id=35680
2280
2281         * inspector/front-end/Popover.js:
2282         (WebInspector.Popover):
2283         (WebInspector.Popover.prototype.show):
2284         (WebInspector.Popover.prototype.hide):
2285         (WebInspector.Popover.prototype._positionElement):
2286         (WebInspector.PopoverHelper):
2287         (WebInspector.PopoverHelper.prototype._mouseDown):
2288         (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
2289         (WebInspector.PopoverHelper.prototype._mouseMove):
2290         (WebInspector.PopoverHelper.prototype._resetHoverTimer):
2291         (WebInspector.PopoverHelper.prototype.hidePopup):
2292         (WebInspector.PopoverHelper.prototype._mouseHover):
2293         (WebInspector.PopoverHelper.prototype._killHidePopupTimer):
2294         * inspector/front-end/TimelineOverviewPane.js:
2295         (WebInspector.TimelineOverviewPane.prototype.reset):
2296         * inspector/front-end/TimelinePanel.js:
2297         (WebInspector.TimelinePanel):
2298         (WebInspector.TimelinePanel.prototype.get _recordStyles):
2299         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2300         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
2301         (WebInspector.TimelinePanel.prototype._refreshRecords):
2302         (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
2303         (WebInspector.TimelinePanel.prototype._getPopoverAnchor):
2304         (WebInspector.TimelinePanel.prototype._showPopover):
2305         (WebInspector.TimelinePanel.prototype._closeRecordDetails):
2306         (WebInspector.TimelineRecordListRow):
2307         (WebInspector.TimelineRecordListRow.prototype.update):
2308         (WebInspector.TimelineRecordGraphRow):
2309         (WebInspector.TimelineRecordGraphRow.prototype._onClick):
2310         (WebInspector.TimelinePanel.FormattedRecord):
2311         (WebInspector.TimelinePanel.FormattedRecord.prototype._createCell):
2312         (WebInspector.TimelinePanel.FormattedRecord.prototype._createRow):
2313         (WebInspector.TimelinePanel.FormattedRecord.prototype._createLinkRow):
2314         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2315         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2316         * inspector/front-end/inspector.css:
2317
2318 2010-03-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2319
2320         Unreviewed build fix.
2321
2322         Build fix after r55464.
2323
2324         No new tests, no new functionality.
2325
2326         * inspector/InspectorController.cpp:
2327         (WebCore::InspectorController::populateScriptObjects):
2328
2329 2010-03-04  Leandro Pereira  <leandro@profusion.mobi>
2330
2331         Reviewed by Kenneth Rohde Christiansen.
2332
2333         Add EFL port files to platform/graphics/efl.
2334         http://webkit.org/b/35539
2335
2336         * platform/graphics/efl/FloatRectEfl.cpp: Added.
2337         * platform/graphics/efl/FontEfl.cpp: Added.
2338         * platform/graphics/efl/IconEfl.cpp: Added.
2339         * platform/graphics/efl/ImageEfl.cpp: Added.
2340         * platform/graphics/efl/IntPointEfl.cpp: Added.
2341         * platform/graphics/efl/IntRectEfl.cpp: Added.
2342
2343 2010-03-04  Leandro Pereira  <leandro@profusion.mobi>
2344
2345         Reviewed by Kenneth Rohde Christiansen.
2346
2347         Add EFL port files to platform/text/efl.
2348         http://webkit.org/b/35740
2349
2350         * platform/text/efl/TextBreakIteratorInternalICUEfl.cpp: Added.
2351
2352 2010-03-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
2353
2354         Reviewed by Holger Freyther.
2355
2356         https://bugs.webkit.org/show_bug.cgi?id=35726
2357         Remove orphaned #ifdef WTF_USE_GLIB_ICU_UNICODE_HYBRID
2358
2359         Removing orphaned #if USE.
2360
2361         * platform/ThreadGlobalData.h:
2362
2363 2010-03-03  Jeremy Orlow  <jorlow@chromium.org>
2364
2365         Reviewed by Darin Fisher.
2366
2367         Throttle sync requests sent to the LocalStorage background thread
2368         https://bugs.webkit.org/show_bug.cgi?id=34943
2369
2370         Currently, once a second LocalStorage takes all keys/values which have
2371         been changed and sends them to a background thread to sync.  The problem
2372         is that this background thread can get overwhelmed and stop being
2373         responsive.  This means that if any other page tries to start using
2374         LocalStorage (and thus initiates the initial import) that'll block on
2375         all the previous syncs completing.
2376
2377         To mitigate this, I'm adding code so that we never schedule another
2378         sync task when another is still running.  In order to keep the sync
2379         tasks from growing exponentially when they do take longer than the
2380         storage sync interval, I've also added a basic rate limiter.  No effort
2381         is made to ensure fairness/ordering of what gets synced nor is there
2382         any way for this rate to be changed because most normal uses of
2383         LocalStorage really shouldn't be hitting these types of limits anyway.
2384
2385         The only behavioral change that's observible in JavaScript is time based
2386         and thus it's not practical to make new tests that aren't racy.  The
2387         existing layout tests cover LocalStorage pretty well, though.
2388
2389         * storage/StorageAreaSync.cpp:
2390         (WebCore::StorageAreaSync::StorageAreaSync):
2391         (WebCore::StorageAreaSync::scheduleFinalSync):
2392         (WebCore::StorageAreaSync::syncTimerFired):
2393         (WebCore::StorageAreaSync::performSync):
2394         * storage/StorageAreaSync.h:
2395
2396 2010-03-04  Andrey Kosyakov  <caseq@chromium.org>
2397
2398         Reviewed by Pavel Feldman.
2399
2400         Added support for worker instrumentation in inspector
2401         (display list of active workers, allow debugging of workers
2402         by injecting fake JS implementation)
2403
2404         https://bugs.webkit.org/show_bug.cgi?id=35568
2405
2406         * English.lproj/localizedStrings.js:
2407         * WebCore.gypi:
2408         * WebCore.vcproj/WebCore.vcproj:
2409         * bindings/js/JSInjectedScriptHostCustom.cpp:
2410         (WebCore::InjectedScriptHost::createInjectedScript):
2411         (WebCore::InjectedScriptHost::injectedScriptFor):
2412         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2413         (WebCore::InjectedScriptHost::createInjectedScript):
2414         (WebCore::InjectedScriptHost::injectedScriptFor):
2415         * dom/Document.cpp:
2416         (WebCore::Document::inspectorController):
2417         * dom/Document.h:
2418         * dom/ScriptExecutionContext.h:
2419         (WebCore::ScriptExecutionContext::inspectorController):
2420         * inspector/InjectedScriptHost.cpp:
2421         (WebCore::InjectedScriptHost::InjectedScriptHost):
2422         (WebCore::InjectedScriptHost::injectScript):
2423         (WebCore::InjectedScriptHost::nextWorkerId):
2424         (WebCore::InjectedScriptHost::didCreateWorker):
2425         (WebCore::InjectedScriptHost::willDestroyWorker):
2426         * inspector/InjectedScriptHost.h:
2427         * inspector/InjectedScriptHost.idl:
2428         * inspector/InspectorController.cpp:
2429         (WebCore::InspectorController::populateScriptObjects):
2430         (WebCore::InspectorController::resetScriptObjects):
2431         (WebCore::InspectorController::didCommitLoad):
2432         (WebCore::InspectorController::didCreateWorker):
2433         (WebCore::InspectorController::willDestroyWorker):
2434         * inspector/InspectorController.h:
2435         * inspector/InspectorFrontend.cpp:
2436         (WebCore::InspectorFrontend::didCreateWorker):
2437         (WebCore::InspectorFrontend::willDestroyWorker):
2438         * inspector/InspectorFrontend.h:
2439         * inspector/InspectorWorkerResource.h: Added.
2440         (WebCore::InspectorWorkerResource::create):
2441         (WebCore::InspectorWorkerResource::id):
2442         (WebCore::InspectorWorkerResource::url):
2443         (WebCore::InspectorWorkerResource::isSharedWorker):
2444         (WebCore::InspectorWorkerResource::InspectorWorkerResource):
2445         * inspector/front-end/Checkbox.js: Added.
2446         (WebInspector.Checkbox.callbackWrapper):
2447         (WebInspector.Checkbox):
2448         (WebInspector.Checkbox.prototype.checked):
2449         * inspector/front-end/InjectedFakeWorker.js:
2450         (InjectedFakeWorker.FakeWorker):
2451         (InjectedFakeWorker.FakeWorker.prototype.terminate):
2452         (InjectedFakeWorker.FakeWorker.prototype._handleException):
2453         (InjectedFakeWorker.FakeWorker.prototype._importScripts):
2454         (InjectedFakeWorker.FakeWorker.prototype._loadScript):
2455         (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin):
2456         * inspector/front-end/ScriptsPanel.js:
2457         (WebInspector.ScriptsPanel):
2458         (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
2459         (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
2460         (WebInspector.ScriptsPanel.prototype.reset):
2461         * inspector/front-end/WebKit.qrc:
2462         * inspector/front-end/WorkersSidebarPane.js: Added.
2463         (WebInspector.WorkersSidebarPane):
2464         (WebInspector.WorkersSidebarPane.prototype.addWorker):
2465         (WebInspector.WorkersSidebarPane.prototype.removeWorker):
2466         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
2467         (WebInspector.WorkersSidebarPane.prototype.reset):
2468         (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument):
2469         (WebInspector.Worker):
2470         (WebInspector.didCreateWorker):
2471         (WebInspector.willDestroyWorker):
2472         * inspector/front-end/inspector.css:
2473         * inspector/front-end/inspector.html:
2474         * workers/AbstractWorker.cpp:
2475         (WebCore::AbstractWorker::AbstractWorker):
2476         (WebCore::AbstractWorker::~AbstractWorker):
2477         (WebCore::AbstractWorker::onDestroyWorker):
2478         (WebCore::AbstractWorker::contextDestroyed):
2479         * workers/AbstractWorker.h:
2480         (WebCore::AbstractWorker::id):
2481         * workers/SharedWorker.cpp:
2482         (WebCore::SharedWorker::SharedWorker):
2483         * workers/Worker.cpp:
2484         (WebCore::Worker::Worker):
2485
2486 2010-03-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2487
2488         Reviewed by Tor Arne Vestbø.
2489
2490         [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.
2491
2492         This also allows shadow builds relying only on qmake to work properly.
2493
2494         * WebCore.pro:
2495
2496 2010-03-02  Holger Hans Peter Freyther  <zecke@selfish.org>
2497
2498         Reviewed by Simon Hausmann.
2499
2500         [Qt] Avoid calling QFont::detach too often from FontQt
2501         https://bugs.webkit.org/show_bug.cgi?id=35569
2502
2503         The letter- and wordspacing is inside the WebCore::Font class,
2504         our QFont is located in the WebCore::FontPlatformData. Everytime
2505         we need to use a QFont inside WebCore::Font we are calling the
2506         font method which gets the QFont from the WebCore::FontPlatformData
2507         and is applying the letter- and wordspacing. Internally this
2508         will attempt to detach the QFont...
2509
2510         Avoid calling setLetterSpacing and setWordSpacing on QFont if
2511         the WebCore::Font has the default applied.
2512
2513         * platform/graphics/qt/FontQt.cpp:
2514         (WebCore::Font::font):
2515
2516 2010-03-04  Alexander Pavlov  <apavlov@chromium.org>
2517
2518         Reviewed by Pavel Feldman.
2519
2520         Web Inspector: Nothing happens on navigation to resource via a link if resource tracking is disabled
2521         https://bugs.webkit.org/show_bug.cgi?id=35574
2522
2523         * English.lproj/localizedStrings.js:
2524         * inspector/front-end/ResourcesPanel.js:
2525         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
2526         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
2527         * inspector/front-end/inspector.js:
2528         (WebInspector.documentMouseOver):
2529         (WebInspector.documentMouseOut):
2530         (WebInspector.hideBadLinkPopupIfNecessary):
2531         (WebInspector.documentClick.followLink):
2532         (WebInspector.documentClick):
2533         (WebInspector.showBadLinkPopup.popupOverOut):
2534         (WebInspector.showBadLinkPopup):
2535         (WebInspector.addMainEventListeners):
2536
2537 2010-03-04  Vangelis Kokkevis  <vangelis@chromium.org>
2538
2539         Reviewed by Oliver Hunt.
2540
2541         getUniformLocation() now returns null if uniform requested 
2542         is not found.
2543         https://bugs.webkit.org/show_bug.cgi?id=34669
2544         
2545         Test:LayoutTests/fast/canvas/webgl/uniform-location.html
2546         (added missing test)
2547
2548         * html/canvas/WebGLRenderingContext.cpp:
2549         (WebCore::WebGLRenderingContext::getUniformLocation):
2550
2551 2010-03-04  John Abd-El-Malek  <jam@chromium.org>
2552
2553         Reviewed by Adam Barth.
2554
2555         Fix incorrect setup of DateExtension.
2556         https://bugs.webkit.org/show_bug.cgi?id=35710
2557
2558         * bindings/v8/DateExtension.cpp:
2559         (WebCore::DateExtension::setAllowSleep):
2560
2561 2010-03-04  Oliver Hunt  <oliver@apple.com>
2562
2563         Reviewed by Maciej Stachowiak.
2564
2565         https://bugs.webkit.org/show_bug.cgi?id=35603
2566         SVG incorrectly allows nested <use> elements in a <use> shadow tree
2567
2568         Simplify the handling of invalid or missing use-targets by cloning them
2569         to empty <g> elements rather than just allowing the <use> element to
2570         be copied into the shadow tree, as this violates a number of assumptions
2571         in the shadow tree handling code.
2572
2573         Tests: svg/custom/use-nested-disallowed-target.svg
2574                svg/custom/use-nested-missing-target-added.svg
2575                svg/custom/use-nested-missing-target-removed.svg
2576                svg/custom/use-nested-missing-target.svg
2577                svg/custom/use-nested-notarget.svg
2578
2579         * svg/SVGUseElement.cpp:
2580         (WebCore::SVGUseElement::buildPendingResource):
2581         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
2582         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2583
2584 2010-03-04  Leandro Pereira  <leandro@profusion.mobi>
2585
2586         Reviewed by Gustavo Noronha Silva.
2587
2588         Move Cairo-related font code from platform/graphics/gtk to
2589         platform/graphics/cairo, so other ports may use them.
2590         http://webkit.org/b/35539
2591
2592         * GNUmakefile.am:
2593         * platform/graphics/cairo/FontCacheCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontCacheGtk.cpp.
2594         * platform/graphics/cairo/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.cpp.
2595         * platform/graphics/cairo/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.h.
2596         * platform/graphics/cairo/FontPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontPlatformData.h.
2597         * platform/graphics/cairo/FontPlatformDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp.
2598         * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Copied from WebCore/platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp.
2599         * platform/graphics/cairo/SimpleFontDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/SimpleFontDataGtk.cpp.
2600         * platform/graphics/gtk/FontCacheGtk.cpp: Removed.
2601         * platform/graphics/gtk/FontCustomPlatformData.cpp: Removed.
2602         * platform/graphics/gtk/FontCustomPlatformData.h: Removed.
2603         * platform/graphics/gtk/FontPlatformData.h: Removed.
2604         * platform/graphics/gtk/FontPlatformDataGtk.cpp: Removed.
2605         * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: Removed.
2606         * platform/graphics/gtk/SimpleFontDataGtk.cpp: Removed.
2607
2608 2010-03-04  Evan Stade  <estade@chromium.org>
2609
2610         Reviewed by David Levin.
2611
2612         https://bugs.webkit.org/show_bug.cgi?id=35261
2613         [skia] crash when attempting to render certain SVGs
2614
2615         This fixes the crash, but the SVG still doesn't render properly.
2616
2617         Test: svg/custom/tiling-regular-hexagonal-crash.svg
2618
2619         * platform/graphics/skia/ImageSkia.cpp:
2620         (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when
2621         the copy fails; instead return a blank bitmap. The caller doesn't
2622         check for 0 before dereferencing.
2623
2624 2010-03-04  Tony Chang  <tony@chromium.org>
2625
2626         Reviewed by Darin Fisher.
2627
2628         Initialize m_isMultipartPayload in other ResourceResponse ctor.
2629         In r55451 (bug 35628) I added an extra bool, but only initialized
2630         it in one constructor.
2631         https://bugs.webkit.org/show_bug.cgi?id=35719
2632
2633         * platform/network/chromium/ResourceResponse.h:
2634         (WebCore::ResourceResponse::ResourceResponse):
2635
2636 2010-03-03  Yuta Kitamura  <yutak@chromium.org>
2637
2638         Reviewed by Alexey Proskuryakov.
2639
2640         Add a new class that stores information about Web Socket handshake request.
2641
2642         Instances of this class contain the necessary information to send a Web Socket
2643         handshake request. In the future, this class will provide request information
2644         to the Web Inspector.
2645
2646         WebSocketHandshake needs to provide request information
2647         https://bugs.webkit.org/show_bug.cgi?id=34784
2648
2649         No new tests, since the current tests will suffice (LayoutTests/websocket/*).
2650
2651         * GNUmakefile.am:
2652         * WebCore.gypi:
2653         * WebCore.pro:
2654         * WebCore.vcproj/WebCore.vcproj:
2655         * WebCore.xcodeproj/project.pbxproj:
2656         * websockets/WebSocketChannel.cpp:
2657         * websockets/WebSocketHandshake.cpp:
2658         (WebCore::WebSocketHandshake::clientHandshakeMessage):
2659         (WebCore::WebSocketHandshake::clientHandshakeRequest):
2660         * websockets/WebSocketHandshake.h:
2661         * websockets/WebSocketHandshakeRequest.cpp: Added.
2662         (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest):
2663         (WebCore::WebSocketHandshakeRequest::~WebSocketHandshakeRequest):
2664         (WebCore::WebSocketHandshakeRequest::addExtraHeaderField):
2665         (WebCore::WebSocketHandshakeRequest::headerFields):
2666         (WebCore::WebSocketHandshakeRequest::host):
2667         * websockets/WebSocketHandshakeRequest.h: Added.
2668
2669 2010-03-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2670
2671         Reviewed by Kenneth Rohde Christiansen.
2672
2673         Build fix after r55452.
2674
2675         No new tests, this is a build fix.
2676
2677         * page/Settings.cpp:
2678         (WebCore::Settings::setDatabasesEnabled):
2679
2680 2010-03-03  Diego Gonzalez  <diego.gonzalez@openbossa.org>
2681
2682         Reviewed by Kenneth Rohde Christiansen.
2683
2684         Make keyIdentifierForQtKeyCode return the unicode backspace value on Qt PlatformKeyboardEvent
2685
2686         LayoutTests:
2687             fast/events/key-events-in-input-text.html
2688             fast/events/special-key-events-in-input-text.html
2689
2690         [Qt] Return the unicode backspace value in keyIdentifierForQtKeyCode on Qt PlatformKeyboardEvent
2691         https://bugs.webkit.org/show_bug.cgi?id=35694
2692
2693         * platform/qt/PlatformKeyboardEventQt.cpp:
2694         (WebCore::keyIdentifierForQtKeyCode):
2695
2696 2010-03-03  Chad Faragher  <wyck@chromium.org>
2697
2698         Reviewed by Darin Adler.
2699         Changed the double-click framework code to pass adjusted page
2700         coordinates for zoomed pages.  Added a new test to expose
2701         mistreatment of mouse click coordinates during a double-click.
2702
2703         https://bugs.webkit.org/show_bug.cgi?id=35690
2704
2705         Test: fast/events/zoom-dblclick.html
2706
2707         * dom/Node.cpp:
2708         (WebCore::Node::dispatchMouseEvent):
2709
2710 2010-03-03  David Levin  <levin@chromium.org>
2711
2712         No review, rolling out r55474.
2713
2714         The patch broke fast/frames/sandboxed-iframe-storage.html
2715
2716         Last one (I hope).
2717         
2718         * WebCore.xcodeproj/project.pbxproj:
2719
2720 2010-03-03  David Levin  <levin@chromium.org>
2721
2722         No review, rolling out r55474.
2723
2724         The patch broke fast/frames/sandboxed-iframe-storage.html
2725
2726         Unfortunately, (the webkit-patch rollout and) I missed these in r55485.
2727
2728         * bindings/js/JSDatabaseCallback.cpp: Removed.
2729         * bindings/js/JSDatabaseCallback.h: Removed.
2730         * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
2731         * bindings/v8/custom/V8DatabaseCallback.h: Removed.
2732         * storage/DatabaseCallback.h: Removed.
2733
2734 2010-03-02  Dumitru Daniliuc  <dumi@chromium.org>
2735
2736         Reviewed by Dimitri Glazkov.
2737
2738         Fix a bug that could lead to a crash. Some parts of
2739         SQLTransaction::checkAndHandleClosedDatabase() should only be run
2740         when that method is invoked on the DB thread.
2741
2742         We cannot test this fix with a test, because the crash happens
2743         only when all of the following conditions are met:
2744         1. A database is closing.
2745         2. A transaction on that database is in progress.
2746         3. The transaction is in a state where a statement/transaction
2747         success/error callback needs to be invoked (so there's a task for
2748         this transaction pending on the main thread).
2749         4. The DB thread finished processing all its tasks and called
2750         SQLTransactionCoordinator::shutdown() before the main thread go to
2751         that task.
2752
2753         The closest thing we have to a test is running
2754         LayoutTests/storage/database-lock-after-reload.html 1000 times in
2755         a row. Without the patch, the probability of a crash happening in
2756         one of the runs is very high. With the patch, the test should
2757         reliably run 1000 times in a row without a single crash.
2758
2759         https://bugs.webkit.org/show_bug.cgi?id=35624
2760
2761         * storage/SQLTransaction.cpp:
2762         (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
2763
2764 2010-03-03  Darin Fisher  <darin@chromium.org>
2765
2766         Reviewed by Mark Rowe.
2767
2768         Page should not care about Chromium plug-in implementation details
2769         https://bugs.webkit.org/show_bug.cgi?id=35623
2770
2771         * WebCore.gypi: Compile PluginViewNone.cpp
2772         * page/Page.cpp:
2773         (WebCore::Page::privateBrowsingStateChanged): Remove conditional
2774         compilation for PLATFORM(CHROMIUM).
2775
2776 2010-03-03  David Levin  <levin@chromium.org>
2777
2778         No review, rolling out r55474.
2779         http://trac.webkit.org/changeset/55480
2780
2781         The patch broke fast/frames/sandboxed-iframe-storage.html
2782
2783         * Android.jscbindings.mk:
2784         * Android.v8bindings.mk:
2785         * GNUmakefile.am:
2786         * WebCore.gypi:
2787         * WebCore.pro:
2788         * WebCore.vcproj/WebCore.vcproj:
2789         * bindings/js/JSDOMWindowCustom.cpp:
2790         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2791         * dom/Document.cpp:
2792         (WebCore::Document::postTask):
2793         * page/DOMWindow.cpp:
2794         (WebCore::DOMWindow::openDatabase):
2795         * page/DOMWindow.h:
2796         * page/DOMWindow.idl:
2797         * storage/Database.cpp:
2798         (WebCore::Database::openDatabase):
2799         (WebCore::Database::Database):
2800         (WebCore::Database::performOpenAndVerify):
2801         * storage/Database.h:
2802         * workers/WorkerContext.cpp:
2803         (WebCore::WorkerContext::openDatabase):
2804         * workers/WorkerContext.h:
2805
2806 2010-03-03  David Levin  <levin@chromium.org>
2807
2808         No review, rolling out r55480.
2809         http://trac.webkit.org/changeset/55480
2810
2811         The patch broke fast/frames/sandboxed-iframe-storage.html
2812
2813         * storage/Database.cpp:
2814         * storage/Database.h:
2815
2816 2010-03-03  Mark Rowe  <mrowe@apple.com>
2817
2818         Reviewed by Geoff Garen.
2819
2820         Add virtual memory tags for TCMalloc and WebCore's purgeable buffers.
2821
2822         * platform/mac/PurgeableBufferMac.cpp:
2823         (WebCore::PurgeableBuffer::create):  Use the VM tag.
2824
2825 2010-03-03  Dumitru Daniliuc  <dumi@chromium.org>
2826
2827         Reviewed by nobody, build fix.
2828
2829         Move #include "DatabaseCallback.h" from Database.h to
2830         Database.cpp.
2831
2832         * storage/Database.cpp:
2833         * storage/Database.h:
2834
2835 2010-03-03  Darin Adler  <darin@apple.com>
2836
2837         Fixed Mac build.
2838
2839         * WebCore.xcodeproj/project.pbxproj: Marked a couple of headers "private" so they can
2840         be used in the WebKit project.
2841
2842 2010-03-03  Alexey Proskuryakov  <ap@apple.com>
2843
2844         Reviewed by Adele Peterson.
2845
2846         https://bugs.webkit.org/show_bug.cgi?id=35044
2847         Crash in XML tokenizer reloading zoom-coords-viewattr-01-b.svg
2848
2849         I'm often getting a crash even when opening the test for the first time in Safari, but it
2850         doesn't seem to crash in DumpRenderTree. Still, I can't think of a stronger way to test for
2851         this condition, so no new regression test.
2852
2853         * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::end): Be prepared that parsing remaining
2854         input will pause parsing.
2855
2856 2010-03-03  Dumitru Daniliuc  <dumi@chromium.org>
2857
2858         Reviewed by Adam Barth.
2859
2860         Adding support for the optional creation callback that could be
2861         passed to openDatabase().
2862
2863         Test: storage/open-database-creation-callback.html
2864
2865         https://bugs.webkit.org/show_bug.cgi?id=34726
2866
2867         * Android.jscbindings.mk
2868         * Android.v8bindings.mk
2869         * GNUmakefile.am:
2870         * WebCore.gypi:
2871         * WebCore.pro:
2872         * WebCore.vcproj/WebCore.vcproj:
2873         * WebCore.xcodeproj/project.pbxproj:
2874         * bindings/js/JSDOMWindowCustom.cpp:
2875         (WebCore::JSDOMWindow::openDatabase):
2876         * bindings/js/JSDatabaseCallback.cpp: Added.
2877         (WebCore::JSDatabaseCallback::JSDatabaseCallback):
2878         (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
2879         (WebCore::JSDatabaseCallback::handleEvent):
2880         * bindings/js/JSDatabaseCallback.h: Added.
2881         (WebCore::JSDatabaseCallback::create):
2882         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2883         (WebCore::V8DOMWindow::openDatabaseCallback):
2884         * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
2885         (WebCore::V8DatabaseCallback::V8DatabaseCallback):
2886         (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
2887         (WebCore::V8DatabaseCallback::handleEvent):
2888         * bindings/v8/custom/V8DatabaseCallback.h: Added.
2889         (WebCore::V8DatabaseCallback::create):
2890         * page/DOMWindow.cpp:
2891         (WebCore::DOMWindow::openDatabase):
2892         * page/DOMWindow.h:
2893         * page/DOMWindow.idl:
2894         * storage/Database.cpp:
2895         (WebCore::DatabaseCreationCallbackTask::create):
2896         (WebCore::DatabaseCreationCallbackTask::performTask):
2897         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
2898         (WebCore::Database::openDatabase):
2899         (WebCore::Database::Database):
2900         (WebCore::Database::performOpenAndVerify):
2901         (WebCore::Database::performCreationCallback):
2902         * storage/Database.h:
2903         (WebCore::Database::isNew):
2904         * storage/DatabaseCallback.h: Added.
2905         (WebCore::DatabaseCallback::~DatabaseCallback):
2906         * workers/WorkerContext.cpp:
2907         (WebCore::WorkerContext::openDatabase):
2908         * workers/WorkerContext.h:
2909
2910 2010-03-03  Alexander Pavlov  <apavlov@chromium.org>
2911
2912         Reviewed by Pavel Feldman.
2913
2914         Web Inspector: resources panel only shows uncompressed resource size.
2915         https://bugs.webkit.org/show_bug.cgi?id=35403
2916
2917         * English.lproj/localizedStrings.js:
2918         * inspector/InspectorResource.cpp:
2919         (WebCore::InspectorResource::updateScriptObject):
2920         * inspector/front-end/AbstractTimelinePanel.js:
2921         (WebInspector.AbstractTimelinePanel.prototype.refresh):
2922         * inspector/front-end/AuditRules.js:
2923         (WebInspector.AuditRules.GzipRule.prototype.doRun):
2924         (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
2925         * inspector/front-end/ImageView.js:
2926         (WebInspector.ImageView):
2927         * inspector/front-end/Resource.js:
2928         (WebInspector.Resource.prototype.get resourceSize):
2929         (WebInspector.Resource.prototype.set resourceSize):
2930         (WebInspector.Resource.prototype.get transferSize):
2931         (WebInspector.Resource.CompareBySize):
2932         (WebInspector.Resource.CompareByTransferSize):
2933         * inspector/front-end/ResourcesPanel.js:
2934         (WebInspector.ResourcesPanel.prototype.populateSidebar):
2935         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
2936         (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphLabels):
2937         (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphPercentages):
2938         (WebInspector.ResourceTransferSizeCalculator.prototype._value):
2939         (WebInspector.ResourceTransferSizeCalculator.prototype._networkBytes):
2940         (WebInspector.ResourceSidebarTreeElement.CompareByDescendingTransferSize):
2941         (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
2942         (WebInspector.ResourceGraph.prototype.refresh):
2943         * inspector/front-end/inspector.css:
2944         * inspector/front-end/inspector.js:
2945         (WebInspector.updateResource):
2946
2947 2010-03-03  Dan Bernstein  <mitz@apple.com>
2948
2949         Build fix.
2950
2951         * dom/ContainerNode.cpp:
2952         (WebCore::ContainerNode::removeChildren):
2953
2954 2010-03-03  Pavel Feldman  <pfeldman@chromium.org>
2955
2956         Reviewed by Timothy Hatcher.
2957
2958         Web Inspector: Get rid of synchronous debuggerEnabled, profilerEnabled calls.
2959
2960         https://bugs.webkit.org/show_bug.cgi?id=32331
2961
2962         * inspector/InspectorBackend.cpp:
2963         * inspector/InspectorBackend.h:
2964         * inspector/InspectorBackend.idl:
2965         * inspector/front-end/BreakpointsSidebarPane.js:
2966         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
2967         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
2968         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
2969         * inspector/front-end/ProfilesPanel.js:
2970         (WebInspector.ProfilesPanel):
2971         (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
2972         (WebInspector.ProfilesPanel.prototype.profilerWasDisabled):
2973         (WebInspector.ProfilesPanel.prototype._updateInterface):
2974         (WebInspector.ProfilesPanel.prototype._enableProfiling):
2975         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
2976         * inspector/front-end/ScriptsPanel.js:
2977         (WebInspector.ScriptsPanel):
2978         (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
2979         (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
2980         (WebInspector.ScriptsPanel.prototype.reset):
2981         (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
2982         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
2983         (WebInspector.ScriptsPanel.prototype._enableDebugging):
2984         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
2985
2986 2010-03-03  Eric Carlson  <eric.carlson@apple.com>
2987
2988         Reviewed by Adele Peterson.
2989
2990         Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811.
2991         https://bugs.webkit.org/show_bug.cgi?id=35385
2992         rdar://problem/7689602
2993
2994         Tests: media/audio-constructor-preload.html
2995                media/video-dom-preload.html
2996
2997         * html/HTMLAttributeNames.in: Remove autobuffer, add preload
2998
2999         * html/HTMLAudioElement.cpp:
3000         (WebCore::HTMLAudioElement::createForJSConstructor): set preload to 'auto' instead of 
3001             autobuffer to true.
3002
3003         * html/HTMLMediaElement.cpp:
3004         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_preload.
3005         (WebCore::HTMLMediaElement::parseMappedAttribute): Deal with 'preload' attribute.
3006         (WebCore::HTMLMediaElement::loadResource): Call setPreload() on the newly created MediaPlayer,
3007             before calling load() so it can pass the setting through to the media engine.
3008         (WebCore::HTMLMediaElement::preload): New.
3009         (WebCore::HTMLMediaElement::setPreload): Ditto
3010         * html/HTMLMediaElement.h:
3011         * html/HTMLMediaElement.idl:
3012
3013         * platform/graphics/MediaPlayer.cpp:
3014         (WebCore::MediaPlayer::MediaPlayer): Initialize m_preload.
3015         (WebCore::MediaPlayer::load): Pass m_preload to newly created media engine.
3016         (WebCore::MediaPlayer::preload): New, return m_preload.
3017         (WebCore::MediaPlayer::setPreload): New, set m_preload.
3018         * platform/graphics/MediaPlayer.h:
3019         (WebCore::MediaPlayer::):
3020         * platform/graphics/MediaPlayerPrivate.h:
3021         (WebCore::MediaPlayerPrivateInterface::setPreload):
3022
3023         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3024         (WebCore::MediaPlayerPrivate::setPreload): Renamed from setAutoplay, fix logic for preload.
3025         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3026
3027 2010-03-03  Dan Bernstein  <mitz@apple.com>
3028
3029         Reviewed by Sam Weinig.
3030
3031         <rdar://problem/7682756> Assertion failure when replacing the contents of a <select>
3032
3033         Test: fast/dom/remove-children-notification-order.html
3034
3035         * dom/ContainerNode.cpp:
3036         (WebCore::ContainerNode::removeChildren): Changed to call childrenChanged()
3037         before calling removedFromDocument() on each removed child, which matches
3038         the order removeChild() does things, and avoids the assertion. This required
3039         temporarily storing the removed children in a vector.
3040         Also added comments about other discrepancies between this function and
3041         removeChild().
3042
3043 2010-03-03  Adam Barth  <abarth@webkit.org>
3044
3045         Reviewed by Darin Adler.
3046
3047         Document cookieURL and firstPartyForCookies
3048         https://bugs.webkit.org/show_bug.cgi?id=35613
3049
3050         Some folks asked what the cookieURL and the firstPartyForCookies were
3051         on IRC.  This patch documents these properties in the code so folks
3052         don't have to ask on IRC anymore.
3053
3054         * dom/Document.h:
3055
3056 2010-03-03  Arno Renevier  <arno@renevier.net>
3057
3058         Reviewed by Gustavo Noronha Silva.
3059
3060         [Gtk]: assertion triggered when geolocation getCurrentPosition without an option argument.
3061         https://bugs.webkit.org/show_bug.cgi?id=35666
3062
3063         * platform/gtk/GeolocationServiceGtk.cpp:
3064         (WebCore::GeolocationServiceGtk::startUpdating):
3065
3066 2010-03-03  Fridrich Strba  <fridrich.strba@bluewin.ch>
3067
3068         Reviewed by Xan Lopez.
3069
3070         Miscellaneous little fixes for the windows build of webkit-gtk
3071         https://bugs.webkit.org/show_bug.cgi?id=35640
3072
3073         * GNUmakefile.am: dist two new files concerning mathml support.
3074
3075 2010-03-03  Xan Lopez  <xlopez@igalia.com>
3076
3077         Unreviewed distcheck fix.
3078
3079         Add new file to the build.
3080
3081         * GNUmakefile.am:
3082
3083 2010-03-03  Antti Koivisto  <koivisto@iki.fi>
3084
3085         Reviewed by Oliver Hunt.
3086
3087         Make IntPoint usable as a hash key
3088         
3089         https://bugs.webkit.org/show_bug.cgi?id=35586
3090
3091         * WebCore.pro:
3092         * WebCore.xcodeproj/project.pbxproj:
3093         * platform/graphics/IntPointHash.h: Added.
3094         (WTF::IntPointHash::hash):
3095         (WTF::IntPointHash::equal):
3096         (WTF::):
3097
3098 2010-03-02  Eric Uhrhane  <ericu@chromium.org>
3099
3100         Reviewed by David Levin.
3101
3102         Move database enable bit fully out of settings
3103         This is stage one of a three-stage commit [webkit, then chromium, then
3104         webkit again].  In this change I'm adding calls to
3105         Database::setIsAvailable inside Settings::setDatabaseEnabled and
3106         anywhere else that called it, and switching webkit fully over to using
3107         that flag [added in a previous checkin].  Phase two will remove
3108         Chromium's use of Settings for the Database, and phase three will remove
3109         the Setting for the Database enable entirely, leaving only
3110         Database::isAvailable/setIsAvailable.
3111
3112         No new tests; tested by existing storage tests.
3113
3114         https://bugs.webkit.org/show_bug.cgi?id=35310
3115
3116         * WebCore.base.exp: Export Database::setIsAvailable
3117         * WebCore.xcodeproj/project.pbxproj: Export needed headers as Private
3118         * page/DOMWindow.cpp: Read isAvailable, not Settings::isDatabaseEnabled
3119         (WebCore::DOMWindow::openDatabase):
3120         * page/Settings.cpp:  Add a call to Database::setIsAvailable.
3121         (WebCore::Settings::setDatabasesEnabled):
3122
3123 2010-03-02  Tony Chang  <tony@chromium.org>
3124
3125         Reviewed by Darin Fisher.
3126
3127         add a flag to WebURLResponse so we can identify multipart content
3128         https://bugs.webkit.org/show_bug.cgi?id=35628
3129
3130         * platform/network/chromium/ResourceResponse.h:
3131         (WebCore::ResourceResponse::ResourceResponse):
3132         (WebCore::ResourceResponse::isMultipartPayload):
3133         (WebCore::ResourceResponse::setIsMultipartPayload):
3134
3135 2010-03-02  Tony Chang  <tony@chromium.org>
3136
3137         Not reviewed, test fix.
3138
3139         Revert r55447 because the new layout test is crashing consistently
3140         on Leopard Intel Debug (tests).
3141         https://bugs.webkit.org/show_bug.cgi?id=35261
3142
3143         * platform/graphics/skia/ImageSkia.cpp:
3144         (WebCore::BitmapImageSingleFrameSkia::create):
3145
3146 2010-03-02  Adam Barth  <abarth@webkit.org>
3147
3148         Reviewed by Darin Fisher.
3149
3150         Google Analytics triggers "blocked plugin" UI
3151         https://bugs.webkit.org/show_bug.cgi?id=35565
3152
3153         Just like for running script, we need to distinguish between querying
3154         whether plug-ins are enabled and actually blocking a page from
3155         instantiating a plugin.  We need to issue different callbacks to the
3156         FrameLoaderClient so that the client can inform us that plug-ins are
3157         disabled in some cases without showing the "plug-in blocked" UI.
3158
3159         * dom/DOMImplementation.cpp:
3160         (WebCore::DOMImplementation::createDocument):
3161         * loader/FrameLoader.cpp:
3162         (WebCore::FrameLoader::requestObject):
3163         (WebCore::FrameLoader::allowPlugins):
3164         * loader/FrameLoader.h:
3165         (WebCore::):
3166         * loader/FrameLoaderClient.h:
3167         (WebCore::FrameLoaderClient::didNotAllowPlugins):
3168         * loader/MainResourceLoader.cpp:
3169         (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
3170         * loader/PluginDocument.cpp:
3171         (WebCore::PluginTokenizer::writeRawData):
3172         * page/Page.cpp:
3173         (WebCore::Page::pluginData):
3174         * plugins/MimeType.cpp:
3175         (WebCore::MimeType::enabledPlugin):
3176
3177 2010-03-02  Andreas Kling  <andreas.kling@nokia.com>
3178
3179         Reviewed by Simon Hausmann.
3180
3181         [Qt] Support the HTTP OPTIONS verb (needed for preflight requests)
3182
3183         https://bugs.webkit.org/show_bug.cgi?id=34647
3184
3185         * platform/network/qt/QNetworkReplyHandler.cpp:
3186         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
3187         (WebCore::QNetworkReplyHandler::start):
3188
3189 2010-03-02  Evan Stade  <estade@chromium.org>
3190
3191         Reviewed by David Levin.
3192
3193         https://bugs.webkit.org/show_bug.cgi?id=35261
3194         [skia] crash when attempting to render certain SVGs
3195
3196         This fixes the crash, but the SVG still doesn't render properly.
3197
3198         Test: svg/custom/tiling-regular-hexagonal-crash.svg
3199
3200         * platform/graphics/skia/ImageSkia.cpp:
3201         (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when
3202         the copy fails; instead return a blank bitmap. The caller doesn't
3203         check for 0 before dereferencing.
3204
3205 2010-03-02  Arno Renevier  <arno@renevier.net>
3206
3207         Reviewed by Gustavo Noronha Silva.
3208
3209         [Gtk] use geoclue providers with don't provide update
3210         https://bugs.webkit.org/show_bug.cgi?id=35191
3211
3212         No new tests, behaviour depends on system.
3213
3214         * platform/gtk/GeolocationServiceGtk.cpp:
3215         (WebCore::GeolocationServiceGtk::startUpdating):
3216
3217 2010-03-02  John Abd-El-Malek  <jam@chromium.org>
3218
3219         Reviewed by Darin Adler.
3220
3221         Remove unnecessary check.
3222         https://bugs.webkit.org/show_bug.cgi?id=35513
3223
3224         * platform/ScrollView.cpp:
3225         (WebCore::ScrollView::updateScrollbars):
3226
3227 2010-03-02  Darin Fisher  <darin@chromium.org>
3228
3229         Fix chromium build bustage.
3230
3231         * page/Page.cpp:
3232         (WebCore::Page::privateBrowsingStateChanged): PluginView methods may
3233         not be called in the Chromium port.
3234
3235 2010-03-02  Beth Dakin  <bdakin@apple.com>
3236
3237         Reviewed by Darin Adler and Adam Roben.
3238
3239         Fix for <rdar://problem/7485289> WebKit crashes on systems that 
3240         don't support CoreAnimation
3241
3242         WKCACFLayerRenderer::acceleratedCompositingAvailable() now creates 
3243         a dummy HWND so that it can step through the whole setHostWindow() 
3244         and createRenderer() process. createRenderer() also calls a new 
3245         function, hardwareCapabilitiesIndicateCoreAnimationSupport() which 
3246         can only be called  once we have a d3dDevice.
3247
3248         setHostWindow() and createRenderer() now both return bools that 
3249         indicate whether or not they have succeeded.
3250
3251         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3252         (WebCore::hardwareCapabilitiesIndicateCoreAnimationSupport):
3253         (WebCore::CoreAnimationTesterWindowWndProc):
3254         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
3255         (WebCore::WKCACFLayerRenderer::shared):
3256         (WebCore::WKCACFLayerRenderer::createRenderer):
3257         * platform/graphics/win/WKCACFLayerRenderer.h:
3258         (WebCore::WKCACFLayerRenderer::setHostWindow):
3259
3260 2010-03-02  Mark Rowe  <mrowe@apple.com>
3261
3262         Rubber-stamped by Jon Honeycutt.
3263
3264         ScriptDebugServer shouldn't care that Mac does not use PluginView for plug-ins.
3265
3266         * bindings/js/ScriptDebugServer.cpp:
3267         * plugins/PluginViewNone.cpp:
3268         (WebCore::PluginView::setJavaScriptPaused): Add an empty implementation of setJavaScriptPaused.
3269
3270 2010-03-02  Mark Rowe  <mrowe@apple.com>
3271
3272         Rubber-stamped by Jon Honeycutt.
3273
3274         Clean up the build fix r55437 by adding an empty implementation of privateBrowsingStateChanged in PluginViewNone.cpp
3275
3276         * page/Page.cpp:
3277         * plugins/PluginViewNone.cpp:
3278         (WebCore::PluginView::privateBrowsingStateChanged):
3279
3280 2010-03-02  Mark Rowe  <mrowe@apple.com>
3281
3282         Fix the Mac build.
3283
3284         * page/Page.cpp:
3285         (WebCore::Page::privateBrowsingStateChanged): Mac doesn't use WebCore's PluginView class
3286         for plug-ins, so provide an empty implementation of privateBrowsingStateChanged for Mac.
3287
3288 2010-03-02  Andy Estes  <aestes@apple.com>
3289
3290         Reviewed by Maciej Stachowiak.
3291
3292         Add the capability to create and dispatch a WheelEvent in JavaScript.
3293         Ensure the event's default handler is triggered in the same way as it is
3294         during a PlatformWheelEvent.
3295
3296         https://bugs.webkit.org/show_bug.cgi?id=35566
3297
3298         Test: fast/events/wheelevent-in-scrolling-div.html
3299
3300         * dom/Node.cpp: Ensure that the default behavior (scrolling) occurs for
3301         wheel events originating both from the platform and from
3302         JavaScript/ObjC.
3303         (WebCore::Node::dispatchWheelEvent): Instantiate new WheelEvent with
3304         the graunularity of the PlatformWheelEvent.
3305         (WebCore::Node::defaultEventHandler): Add support for mousewheel events.
3306         * dom/WheelEvent.cpp: Add three new member variables: m_deltaX, m_deltaY
3307         and m_granularity.  m_deltaX and m_deltaY differ from m_wheelDeltaX and
3308         m_wheelDeltaY, which are the number of wheel ticks multiplied by 120 for
3309         IE compatibility.
3310         (WebCore::WheelEvent::WheelEvent): Initialize new member variables.
3311         (WebCore::WheelEvent::initWheelEvent): Same.
3312         (WebCore::WheelEvent::initWebKitWheelEvent): Same.
3313         * dom/WheelEvent.h: See WheelEvent.cpp.
3314         (WebCore::WheelEvent::): Add Granularity enum (Pixel, Line, Page).
3315         (WebCore::WheelEvent::create): Add new arguments.
3316         (WebCore::WheelEvent::deltaX): Amount of scroll in x direction.
3317         (WebCore::WheelEvent::deltaY): Amount of scroll in y direction.
3318         (WebCore::WheelEvent::granularity): Units of deltaX and deltaY.
3319         * dom/WheelEvent.idl: Add initWebKitWheelEvent() to JavaScript.  This is
3320         the same as the initWheelEvent ObjC method.  As the DOM Level 3 Events
3321         specification is still a working draft and subject to change, prefix
3322         'WebKit' to the method signature to indicate experimental support.
3323         * page/EventHandler.cpp: Move the scroll handling from
3324         handleWheelEvent() to defaultWheelEventHandler(), which is executed on
3325         both PlatformWheelEvents and JavaScript WheelEvents.
3326         (WebCore::scrollNode): Renamed from scrollAndAcceptEvent().  Remove
3327         the PlatformWheelEvent from the argument list and instead return a
3328         boolean indicating if the scroll event was accepted.
3329         (WebCore::EventHandler::handleWheelEvent): Move scrolling code from here
3330         (WebCore::EventHandler::defaultWheelEventHandler): ...to here.
3331         * page/EventHandler.h: Add function signature.
3332
3333 2010-03-02  Mark Rowe  <mrowe@apple.com>
3334
3335         Reviewed by Darin Adler.
3336
3337         Bug 35576: WebKit should tell plug-in instances when private browsing state changes
3338         <http://webkit.org/b/35576>
3339
3340         Notify plug-in instances when the private browsing state changes to match the behavior of the
3341         Mac plug-in code.
3342
3343         * page/Page.cpp:
3344         (WebCore::Page::privateBrowsingStateChanged): Walk the frame tree and notify each PluginView that
3345         the private browsing state has changed.
3346         * page/Page.h:
3347         * page/Settings.cpp:
3348         (WebCore::Settings::setPrivateBrowsingEnabled): Notify the page that the private browsing state
3349         has changed.
3350         * plugins/PluginView.cpp:
3351         (WebCore::PluginView::privateBrowsingStateChanged): Notify the plug-in instance of the new private
3352         browsing state.
3353         * plugins/PluginView.h:
3354
3355 2010-03-02  Mark Rowe  <mrowe@apple.com>
3356
3357         Reviewed by Oliver Hunt.
3358
3359         Bug 30348: Implement private mode for plug-ins on Windows
3360         <http://webkit.org/b/30348> / <rdar://problem/7562261>
3361
3362         Rework PluginView::getValue and PluginView::getValueStatic to remove the amount of code that
3363         was duplicated across platforms.  getValue and getValueStatic now call in to platform-specific
3364         variants that indicate whether they handled the query.  If the query is not handled by the
3365         platform-specific variants then the cross-platform handler has a chance to handle it.
3366
3367         * plugins/PluginView.cpp:
3368         (WebCore::PluginView::getValueStatic): Give the platform-specific variant a chance to handle the
3369         variable lookup.  If it does not handle it, return an error.
3370         (WebCore::PluginView::getValue): Give the platform-specific variant and platform-specific static
3371         variant a chance to handle the variable lookup.  If they do not handle it, apply the cross-platform
3372         handler.  At the moment the cross-platform code handles NPNVWindowNPObject, NPNVPluginElementNPObject,
3373         and NPNVprivateModeBool as they have an identical implementation across ports.
3374         * plugins/PluginView.h:
3375         * plugins/PluginViewNone.cpp:
3376         (WebCore::PluginView::platformGetValue): PluginViewNone does not handle any lookups.
3377         (WebCore::PluginView::platformGetValueStatic): Ditto.
3378         * plugins/gtk/PluginViewGtk.cpp:
3379         (WebCore::PluginView::platformGetValueStatic):
3380         (WebCore::PluginView::platformGetValue):
3381         platform-independent implementation.
3382         * plugins/mac/PluginViewMac.cpp:
3383         (WebCore::PluginView::platformGetValueStatic):
3384         (WebCore::PluginView::platformGetValue):
3385         * plugins/qt/PluginViewQt.cpp:
3386         (WebCore::PluginView::platformGetValueStatic):
3387         (WebCore::PluginView::platformGetValue): Fix a bug noticed while updating this code.
3388         The Qt implementation of the handler for NPNVToolkit was relying on case fall-through
3389         to have some values handled by the static handler.  When NPNVprivateModeBool was added
3390         it was placed before the default case, interferring with this fall-through.  It now
3391         explicitly indicates in this situation that it was not handled.
3392         * plugins/symbian/PluginViewSymbian.cpp:
3393         (WebCore::PluginView::platformGetValueStatic):
3394         (WebCore::PluginView::platformGetValue):
3395         * plugins/win/PluginViewWin.cpp:
3396         (WebCore::PluginView::platformGetValueStatic):
3397         (WebCore::PluginView::platformGetValue):
3398
3399 2010-03-02  Anders Carlsson  <andersca@apple.com>
3400
3401         Reviewed by Sam Weinig.
3402
3403         Make the default constructor available to all platforms.
3404
3405         * platform/PlatformKeyboardEvent.h:
3406         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3407         * platform/mac/KeyEventMac.mm:
3408
3409 2010-03-02  Jeremy Orlow  <jorlow@chromium.org>
3410
3411         Reviewed by David Levin.
3412
3413         Revert database thread changes that are no longer required
3414         https://bugs.webkit.org/show_bug.cgi?id=35519
3415
3416         Jochen Eisinger created 55214 and 55247 to track which database
3417         owns which thread.  Dmitry suggested that this could also
3418         be done via TLS, though.  After exploring the options, Jochen
3419         chose to go the TLS route, so these patches are no longer needed.
3420
3421         * storage/DatabaseThread.cpp:
3422         (WebCore::DatabaseThread::DatabaseThread):
3423         (WebCore::DatabaseThread::databaseThread):
3424         * storage/DatabaseThread.h:
3425         (WebCore::DatabaseThread::getThreadID):
3426
3427 2010-03-02  Brady Eidson  <beidson@apple.com>
3428
3429         Reviewed by Sam Weinig.
3430
3431         Followup for REGRESSION(r51097) - Unable to log in to statefarm.com
3432         <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
3433
3434         * dom/ScriptElement.cpp:
3435         (WebCore::ScriptElementData::shouldExecuteAsJavaScript): To more perfectly match Gecko's rule,
3436           strip whitespace from the attribute values before comparing to window/onload/onload().
3437
3438 2010-03-02  Chris Fleizach  <cfleizach@apple.com>
3439
3440         Reviewed by Beth Dakin.
3441
3442         aria-label isn't respected on option elements
3443         https://bugs.webkit.org/show_bug.cgi?id=35400
3444
3445         When aria-label is used on an <option> element, it can take three forms.
3446         An option in a multi-select list, a popup button and the menu that is displayed 
3447         from the popup button. This patches the three requisite locations so that if
3448         aria-label is used, the correct accessibility text is returned.
3449
3450         Test: platform/mac/accessibility/option-with-arialabel.html
3451
3452         * accessibility/AccessibilityListBoxOption.cpp:
3453         (WebCore::AccessibilityListBoxOption::stringValue):
3454         * accessibility/AccessibilityObject.cpp:
3455         (WebCore::AccessibilityObject::getAttribute):
3456         * accessibility/AccessibilityObject.h:
3457         * accessibility/AccessibilityRenderObject.cpp:
3458         (WebCore::AccessibilityRenderObject::getAttribute):
3459         (WebCore::AccessibilityRenderObject::stringValue):
3460         * platform/PopupMenuClient.h:
3461         * platform/mac/PopupMenuMac.mm:
3462         (WebCore::PopupMenu::populate):
3463         * rendering/RenderMenuList.cpp:
3464         (WebCore::RenderMenuList::itemAccessibilityText):
3465         * rendering/RenderMenuList.h:
3466         * rendering/RenderTextControlSingleLine.h:
3467         (WebCore::RenderTextControlSingleLine::itemAccessibilityText):
3468
3469 2010-03-02  Mads Ager  <ager@chromium.org>
3470
3471         Reviewed by Adam Barth.
3472
3473         [V8] V8 should be notified of context disposals
3474         https://bugs.webkit.org/show_bug.cgi?id=35526
3475
3476         Notify V8 of context disposals to allow it to clean up memory from those
3477         contexts when idle.  When disposing a context, start a timer that will
3478         give V8 an idle notification after a while to force cleanup.  Use a timer
3479         to avoid performing an idle notification in the middle of navigation where
3480         we know we are not idle.
3481
3482         * WebCore.gypi:
3483         * bindings/v8/V8DOMWindowShell.cpp:
3484         (WebCore::V8DOMWindowShell::disposeContextHandles):
3485         * bindings/v8/V8GCForContextDispose.cpp: Added.
3486         (WebCore::V8GCForContextDispose::V8GCForContextDispose):
3487         (WebCore::V8GCForContextDispose::notifyContextDisposed):
3488         (WebCore::V8GCForContextDispose::notifyIdleSooner):
3489         (WebCore::V8GCForContextDispose::instance):
3490         (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
3491         * bindings/v8/V8GCForContextDispose.h: Added.
3492         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3493         (WebCore::WindowSetTimeoutImpl):
3494
3495 2010-03-02  Pavel Feldman  <pfeldman@chromium.org>
3496
3497         Not reviewed: adding missing image files to WebKit.qrc and gypi.
3498
3499         * WebCore.gypi:
3500         * inspector/front-end/WebKit.qrc:
3501
3502 2010-03-02  Kim Grönholm  <kim.gronholm@nomovok.com>
3503
3504         Reviewed by Simon Hausmann.
3505
3506         [Qt] GraphicsLayer: Video element with 3d transform crashes when AC is enabled.
3507         https://bugs.webkit.org/show_bug.cgi?id=35516
3508
3509         No new tests.
3510
3511         * platform/graphics/qt/GraphicsLayerQt.cpp:
3512         (WebCore::GraphicsLayerQt::setContentsToMedia):
3513
3514 2010-03-02  Fridrich Strba  <fridrich.strba@bluewin.ch>
3515
3516         Reviewed by Xan Lopez.
3517
3518         Use unsigned instead of uint which does not exist on windows
3519         https://bugs.webkit.org/show_bug.cgi?id=35546
3520
3521         * platform/graphics/gtk/ImageGtk.cpp:
3522         (WebCore::getCairoSurfacePixel):
3523         (WebCore::getGdkPixbufPixel):
3524
3525 2010-03-02  Kenneth Russell  <kbr@google.com>
3526
3527         Reviewed by Darin Fisher.
3528
3529         Add EnabledAtRuntime attribute to WebGLArray constructors
3530         https://bugs.webkit.org/show_bug.cgi?id=35558
3531
3532         New functionality verified manually in Chromium; not possible to
3533         write layout test. Ran WebGL tests in WebKit as well.
3534
3535         * bindings/generic/RuntimeEnabledFeatures.cpp:
3536         * bindings/generic/RuntimeEnabledFeatures.h:
3537         (WebCore::RuntimeEnabledFeatures::setWebGLEnabled):
3538         (WebCore::RuntimeEnabledFeatures::webGLRenderingContextEnabled):
3539         (WebCore::RuntimeEnabledFeatures::webGLArrayBufferEnabled):
3540         (WebCore::RuntimeEnabledFeatures::webGLByteArrayEnabled):
3541         (WebCore::RuntimeEnabledFeatures::webGLUnsignedByteArrayEnabled):
3542         (WebCore::RuntimeEnabledFeatures::webGLShortArrayEnabled):
3543         (WebCore::RuntimeEnabledFeatures::webGLUnsignedShortArrayEnabled):
3544         (WebCore::RuntimeEnabledFeatures::webGLIntArrayEnabled):
3545         (WebCore::RuntimeEnabledFeatures::webGLUnsignedIntArrayEnabled):
3546         (WebCore::RuntimeEnabledFeatures::webGLFloatArrayEnabled):
3547         * page/DOMWindow.idl:
3548
3549 2010-03-02  Nate Chapin  <japhet@chromium.org>
3550
3551         Reviewed by Dimitri Glazkov.
3552
3553         [V8] Fail gracefully if NPN_GetProperty tries to retrieve a property that doesn't exist.
3554
3555         https://bugs.webkit.org/show_bug.cgi?id=35588
3556
3557         Required for passing LayoutTests/plugins/netscape-plugin-property-access-exception.html on Chromium.
3558
3559         * bindings/v8/NPV8Object.cpp:
3560         (_NPN_GetProperty): If the result is empty, don't try to convert it to an NPVariant and return false.
3561
3562 2010-03-02  Jian Li  <jianli@chromium.org>
3563
3564         Reviewed by Nate Chapin.
3565
3566         [V8] DOMCoreException should be visible as DOMException 
3567         https://bugs.webkit.org/show_bug.cgi?id=35552
3568
3569         Fix V8 code generator to use the correct visible name.
3570
3571         * bindings/scripts/CodeGeneratorV8.pm:
3572
3573 2010-03-02  Brady Eidson  <beidson@apple.com>
3574
3575         Reviewed by Sam Weinig.
3576
3577         REGRESSION(r51097) - Unable to log in to statefarm.com
3578         <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
3579
3580         Test: fast/loader/for-window-event-onload-scripts.html
3581
3582         Match Gecko's rules for executing "for/event" scripts:
3583           -If there's only a 'for' attribute, execute it.
3584           -If there's only an 'event' attribute, execute it.
3585           -If there's a 'for=window' and 'event=onload', execute it.
3586           -If there's a 'for=window' and 'event=onload()', execute it.
3587           -If there's any other combination of both 'for' and 'event', don't execute it.
3588
3589         * dom/ScriptElement.cpp:
3590         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
3591         * dom/ScriptElement.h:
3592
3593         * html/HTMLScriptElement.cpp:
3594         (WebCore::HTMLScriptElement::eventAttributeValue):
3595         * html/HTMLScriptElement.h:
3596
3597         * svg/SVGScriptElement.cpp:
3598         (WebCore::SVGScriptElement::eventAttributeValue):
3599         * svg/SVGScriptElement.h:
3600
3601         Add the event attribute name:
3602         * html/HTMLAttributeNames.in:
3603
3604
3605 2010-03-02  Simon Fraser  <simon.fraser@apple.com>
3606
3607         Reviewed by Dan Bernstein.
3608
3609         https://bugs.webkit.org/show_bug.cgi?id=35555
3610         QuickTime plugin content can spill outside the <object> tag
3611
3612         Set -masksToBounds on the layer that is handed to us by plug-ins, to ensure that sublayers
3613         of that layer don't spill outside the <object> contents rect.
3614