3835d245dfa9007179d71b8060df9b2b2434742b
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-06-01  Levi Weintraub  <leviw@chromium.org>
2
3         Reviewed by Eric Seidel.
4
5         Text is scaled in a stair-step pattern
6         https://bugs.webkit.org/show_bug.cgi?id=60317
7
8         Stop scaling the specified font to the actual on-screen value when font-rendering: 
9         geometricPrecision is specified, but instead scale the graphics context. This allows
10         us to scale text up and down smoothly.
11
12         Test: svg/text/scaling-font-with-geometric-precision.html
13
14         * rendering/svg/RenderSVGInlineText.cpp:
15         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
16
17 2011-06-01  Levi Weintraub  <leviw@chromium.org>
18
19         Reviewed by Eric Seidel.
20
21         Switch paintResizer to use IntPoint
22         https://bugs.webkit.org/show_bug.cgi?id=61883
23
24         Switch paintResizer to take an IntPoint instead of a pair of ints.
25
26         No new tests as this is simple refactoring.
27
28         * rendering/RenderLayer.cpp:
29         (WebCore::RenderLayer::paintOverflowControls):
30         (WebCore::RenderLayer::paintResizer):
31         * rendering/RenderLayer.h:
32         * rendering/RenderLayerBacking.cpp:
33         (WebCore::RenderLayerBacking::paintContents):
34
35 2011-06-01  Jer Noble  <jer.noble@apple.com>
36
37         Reviewed by Darin Adler.
38
39         Page layout messed up after exiting full screen at Apple trailers page
40         https://bugs.webkit.org/show_bug.cgi?id=61755
41         <rdar://problem/9525277>
42
43         Test: fullscreen/full-screen-zIndex-after.html
44
45         Fix the incomplete implementation of r87660. Make parameters to
46         setContainsFullScreenElementRecursively() in webkitWillExitFullScreenForElement() match those
47         in webkitWillEnterFullScreenForElement(), so the ancestors' flags do not become
48         inconsistent..
49
50         * dom/Document.cpp:
51         (WebCore::Document::webkitWillExitFullScreenForElement):
52
53 2011-06-01  Levi Weintraub  <leviw@chromium.org>
54
55         Reviewed by Eric Seidel.
56
57         Switch paintScrollCorner to use IntPoint
58         https://bugs.webkit.org/show_bug.cgi?id=61874
59
60         Changing paintScrollCorner to take an IntPoint representing the paint
61         offset instead of a pair of ints.
62
63         No new tests as this is simple refactoring.
64
65         * rendering/RenderLayer.cpp:
66         (WebCore::RenderLayer::paintOverflowControls):
67         (WebCore::RenderLayer::paintScrollCorner):
68         * rendering/RenderLayer.h:
69         * rendering/RenderLayerBacking.cpp:
70         (WebCore::RenderLayerBacking::paintContents):
71
72 2011-06-01  Kenneth Russell  <kbr@google.com>
73
74         Reviewed by Nate Chapin.
75
76         [V8] Optimize fetches of indexed properties in custom bindings
77         https://bugs.webkit.org/show_bug.cgi?id=61821
78
79         Avoid allocating garbage in affected custom bindings. This speeds
80         up one test case by at least a factor of two. No new tests;
81         covered by existing layout tests (typed array and otherwise).
82
83         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
84         (WebCore::constructWebGLArray):
85         (WebCore::setWebGLArrayHelper):
86         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
87         (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
88         * bindings/v8/custom/V8MessagePortCustom.cpp:
89         (WebCore::getMessagePortArray):
90         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
91         (WebCore::jsArrayToFloatArray):
92         (WebCore::jsArrayToIntArray):
93
94 2011-06-01  Andras Becsi  <abecsi@webkit.org>
95
96         Reviewed by Csaba Osztrogon√°c.
97
98         [Qt] Fix the Phonon build when logging is disabled
99         https://bugs.webkit.org/show_bug.cgi?id=61869
100
101         No new tests needed.
102
103         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add missing guards.
104         (WebCore::MediaPlayerPrivatePhonon::networkState):
105         (WebCore::MediaPlayerPrivatePhonon::readyState):
106         (WebCore::MediaPlayerPrivatePhonon::updateStates):
107         (WebCore::MediaPlayerPrivatePhonon::stateChanged):
108
109 2011-06-01  Abhishek Arya  <inferno@chromium.org>
110
111         Reviewed by Antti Koivisto.
112
113         Do not use the pushed style selector if it is not equal to the
114         parent document's style selector. It usually means that it is
115         in a bad state, e.g. already cleared.
116         https://bugs.webkit.org/show_bug.cgi?id=61737
117
118         * dom/Element.cpp:
119         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
120
121 2011-06-01  Levi Weintraub  <leviw@chromium.org>
122
123         Reviewed by Eric Seidel.
124
125         Switch RenderLineBoxList intersection functions to use IntPoint
126         https://bugs.webkit.org/show_bug.cgi?id=61794
127
128         Switching rangeIntersectsRect, anyLineIntersectsRect, and lineIntersectsDirtyRect
129         to take IntPoint instead of a tx/ty to represent the offset to be applied match
130         the rect and lines' coordinates.
131
132         No new tests since this is merely refactoring.
133
134         * rendering/RenderLineBoxList.cpp:
135         (WebCore::RenderLineBoxList::rangeIntersectsRect):
136         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
137         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
138         (WebCore::RenderLineBoxList::paint):
139         (WebCore::RenderLineBoxList::hitTest):
140         * rendering/RenderLineBoxList.h:
141
142 2011-05-19  Adrienne Walker  <enne@google.com>
143
144         Reviewed by James Robinson.
145
146         [chromium] Don't split long, narrow layers into multiple tiles.
147         https://bugs.webkit.org/show_bug.cgi?id=60821
148
149         This changes the heuristic for when we tile layers to be less bad
150         about wasting texture space.  Long, narrow layers that are tiled with
151         a large tile size waste texture space.  Now layers are only tiled if
152         they are above 512px in one dimension and extend into a second tile in
153         the other.  If they are not tiled, their layer texture will exactly
154         fit their layer bounds.  In particular, this will help scrollbars.
155
156         * platform/graphics/chromium/ContentLayerChromium.cpp:
157         (WebCore::ContentLayerChromium::updateLayerSize):
158         * platform/graphics/chromium/LayerRendererChromium.h:
159         (WebCore::LayerRendererChromium::maxTextureSize):
160
161 2011-06-01  Cary Clark  <caryclark@google.com>
162
163         Reviewed by Eric Seidel.
164
165         Ready Chromium port for Skia on Mac
166         https://bugs.webkit.org/show_bug.cgi?id=61800
167
168         Skia on Mac is not enabled. The executing
169         code is unchanged, so there are no new tests.
170
171         * platform/chromium/DragImageRef.h:
172         Use Skia for DragImageRef instead of CG.
173
174         * platform/chromium/ScrollbarThemeChromiumMac.mm:
175         (WebCore::ScrollbarThemeChromiumMac::paint):
176         Get the total matrix from Skia for the scrollbar.
177         Convert the SkCanvas into a CGContext to draw.
178
179         * platform/chromium/ThemeChromiumMac.mm:
180         (WebCore::paintStepper):
181         Ditto.
182
183 2011-06-01  Yury Semikhatsky  <yurys@chromium.org>
184
185         Reviewed by Pavel Feldman.
186
187         Web Inspector: allow opening inspector for existing workers
188         https://bugs.webkit.org/show_bug.cgi?id=61853
189
190         Added sidebar pane with a list of all workers. Each worker has a check box
191         that allows opening inspector for the worker.
192
193         * inspector/Inspector.json:
194         * inspector/InspectorInstrumentation.cpp:
195         (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
196         * inspector/InspectorInstrumentation.h:
197         (WebCore::InspectorInstrumentation::didStartWorkerContext):
198         * inspector/InspectorWorkerAgent.cpp:
199         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
200         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
201         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::connectToWorkerContext):
202         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::disconnectFromWorkerContext):
203         (WebCore::InspectorWorkerAgent::clearFrontend):
204         (WebCore::InspectorWorkerAgent::connectToWorker):
205         (WebCore::InspectorWorkerAgent::disconnectFromWorker):
206         (WebCore::InspectorWorkerAgent::didStartWorkerContext):
207         * inspector/InspectorWorkerAgent.h:
208         * inspector/front-end/ScriptsPanel.js:
209         (WebInspector.ScriptsPanel):
210         * inspector/front-end/Settings.js:
211         * inspector/front-end/WorkerManager.js:
212         (WebInspector.WorkerManager):
213         (WebInspector.WorkerManager.prototype._workerCreated):
214         (WebInspector.WorkerManager.prototype._sendMessageToWorkerInspector):
215         (WebInspector.WorkerManager.prototype.openWorkerInspector):
216         (WebInspector.WorkerManager.prototype.closeWorkerInspector):
217         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
218         (WebInspector.WorkerMessageForwarder):
219         (WebInspector.WorkerMessageForwarder.prototype.workerCreated):
220         (WebInspector.WorkerMessageForwarder.prototype.dispatchMessageFromWorker):
221         * inspector/front-end/WorkersSidebarPane.js:
222         (WebInspector.WorkersSidebarPane):
223         (WebInspector.WorkersSidebarPane.prototype.addWorker):
224         (WebInspector.WorkerListSidebarPane):
225         (WebInspector.WorkerListSidebarPane.prototype._workerAdded):
226         (WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
227         (WebInspector.WorkerListSidebarPane.prototype._workerInspectorClosed):
228         (WebInspector.WorkerListSidebarPane.prototype._addWorker):
229         (WebInspector.WorkerListSidebarPane.prototype._createCheckbox):
230         (WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
231         * workers/Worker.cpp:
232         (WebCore::Worker::notifyFinished):
233
234 2011-06-01  Shishir Agrawal  <shishir@chromium.org>
235
236         Reviewed by Tony Gentilcore.
237
238         Renaming the Page Visibility attributes as per the modified spec draft.
239         https://bugs.webkit.org/show_bug.cgi?id=61825
240
241         Spec draft:
242         http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html
243
244         - Event needs to be webkitVisibilityChange from webkitVisibilityStateChange
245         - The attribute webkitIsVisible needs to change to webkitHidden
246
247         * dom/Document.cpp:
248         (WebCore::Document::webkitHidden):
249         (WebCore::Document::dispatchVisibilityStateChangeEvent):
250         * dom/Document.h:
251         * dom/Document.idl:
252         * dom/EventNames.h:
253
254 2011-06-01  Nikolas Zimmermann  <nzimmermann@rim.com>
255
256         Reviewed by Rob Buis.
257
258         Remove duplicated code in various computeReplacedLogical*() functions
259         https://bugs.webkit.org/show_bug.cgi?id=61860
260
261         Centralize this calculation in RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth:
262         int minLogicalWidth = computeReplacedLogicalWidthUsing(style()->logicalMinWidth());
263         int maxLogicalWidth = !includeMaxWidth || style()->logicalMaxWidth().isUndefined() ? logicalWidth : computeReplacedLogicalWidthUsing(style()->logicalMaxWidth());
264         return max(minLogicalWidth, min(logicalWidth, maxLogicalWidth));
265
266         Centralize this calculation in RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight:
267         int minLogicalHeight = computeReplacedLogicalHeightUsing(style()->logicalMinHeight());
268         int maxLogicalHeight = style()->logicalMaxHeight().isUndefined() ? logicalHeight : computeReplacedLogicalHeightUsing(style()->logicalMaxHeight());
269         return max(minLogicalHeight, min(logicalHeight, maxLogicalHeight));
270
271         Use the new helper methods where possible, deduplicating lots of code.
272
273         * rendering/RenderBox.cpp:
274         (WebCore::RenderBox::computeReplacedLogicalWidth):
275         (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
276         (WebCore::RenderBox::computeReplacedLogicalHeight):
277         (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
278         * rendering/RenderBox.h:
279         * rendering/RenderImage.cpp:
280         (WebCore::RenderImage::computeReplacedLogicalWidth):
281         (WebCore::RenderImage::computeReplacedLogicalHeight):
282         * rendering/RenderPart.cpp:
283         (WebCore::RenderPart::computeEmbeddedDocumentReplacedWidth):
284         (WebCore::RenderPart::computeEmbeddedDocumentReplacedHeight):
285         (WebCore::RenderPart::computeReplacedLogicalWidth):
286         (WebCore::RenderPart::computeReplacedLogicalHeight):
287         * rendering/RenderPart.h:
288         * rendering/RenderReplaced.cpp:
289         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
290         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
291         * rendering/svg/RenderSVGRoot.cpp:
292         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
293         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
294
295 2011-06-01  Sheriff Bot  <webkit.review.bot@gmail.com>
296
297         Unreviewed, rolling out r87788.
298         http://trac.webkit.org/changeset/87788
299         https://bugs.webkit.org/show_bug.cgi?id=61856
300
301         breaks windows chromium canary (Requested by jknotten on
302         #webkit).
303
304         * loader/archive/mhtml/MHTMLArchive.cpp:
305         * loader/archive/mhtml/MHTMLArchive.h:
306         * page/PageSerializer.cpp:
307         (WebCore::PageSerializer::serializeFrame):
308         (WebCore::PageSerializer::serializeCSSStyleSheet):
309         * platform/SharedBuffer.cpp:
310         * platform/SharedBuffer.h:
311
312 2011-06-01  Joseph Pecoraro  <joepeck@webkit.org>
313
314         Reviewed by Pavel Feldman.
315
316         Web Inspector: [JSC] JSLock ASSERTs Seen Under eventListenerHandlerBody
317         https://bugs.webkit.org/show_bug.cgi?id=61835
318
319         Add a JSLock call before possible allocations in jsFunction and toString.
320
321         * bindings/js/ScriptEventListener.cpp:
322         (WebCore::eventListenerHandlerBody):
323
324 2011-06-01  Jay Civelli  <jcivelli@chromium.org>
325
326         Reviewed by Adam Barth.
327
328         Adding MHTML generation support to MHTMLArchive.
329         https://bugs.webkit.org/show_bug.cgi?id=7169
330
331         * loader/archive/mhtml/MHTMLArchive.cpp:
332         (WebCore::generateRandomBoundary):
333         (WebCore::replaceNonPrintableCharacters):
334         (WebCore::MHTMLArchive::generateMHTMLData):
335         * loader/archive/mhtml/MHTMLArchive.h:
336         * page/PageSerializer.cpp:
337         (WebCore::PageSerializer::serializeFrame):
338         (WebCore::PageSerializer::serializeCSSStyleSheet):
339         * platform/SharedBuffer.cpp:
340         (WebCore::SharedBuffer::append):
341         * platform/SharedBuffer.h:
342
343 2011-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
344
345         Reviewed by Kent Tamura.
346
347         Remove ShadowElement and compact remaining used bits into RenderFileUploadControl.
348         https://bugs.webkit.org/show_bug.cgi?id=61816
349
350         This is a near-mechanical move-and-rename of ShadowElement, which is now only
351         used by input[type=file]. Next step -- switch it over to new shadow DOM.
352
353         Refactoring, no change in behavior.
354
355         * CMakeLists.txt: Removed ShadowElement.cpp and ShadowElement.h.
356         * GNUmakefile.list.am: Ditto.
357         * WebCore.gypi: Ditto.
358         * WebCore.pro: Ditto.
359         * WebCore/WebCore.vcproj/WebCore.vcproj: Ditto.
360         * WebCore.xcodeproj/project.pbxproj: Ditto.
361         * WebCore/rendering/RenderingAllInOne.cpp: Ditto.
362         * rendering/RenderFileUploadControl.cpp:
363         (WebCore::UploadButton::create): Moved from ShadowElement, renamed as UploadButton.
364         (WebCore::UploadButton::detach): Ditto.
365         (WebCore::UploadButton::UploadButton): Ditto.
366         (WebCore::RenderFileUploadControl::updateFromElement): Changed to use UploadButton.
367         * rendering/RenderMeter.cpp: Removed ShadowElement.h include, which is no longer used.
368         * rendering/RenderProgress.cpp: Ditto.
369         * rendering/ShadowElement.cpp: Removed.
370         * rendering/ShadowElement.h: Removed.
371
372 2011-06-01  Nikolas Zimmermann  <nzimmermann@rim.com>
373
374         Reviewed by Rob Buis.
375
376         SVG fails all 3 of Hixie's CSS intrinsic sizing tests
377         https://bugs.webkit.org/show_bug.cgi?id=15473
378
379         Hixies CSS intrinsic sizing tests cover percentage sizes specified on the target SVG document as width/height attributes
380         and using width: auto / height: auto on the <object> that hosts the SVG document. Take percentage sizes of the outermost
381         SVGs width/height attributes into account when determining the intrinsic size of the <object>.
382
383         Added several other testcases demonstrating several scenarios. All tests work exactly the same in WebKit and Firefox now.
384         The *on-target-svg-absolute.xhtml tests look equal to WebKit/FF but Opera fails them, likely a relict of the different
385         interpretation of the intrinsic size of a SVG document in SVG Tiny 1.2.
386
387         Tests: svg/custom/object-sizing-height-50p-on-target-svg-absolute.xhtml
388                svg/custom/object-sizing-height-50p-on-target-svg.xhtml
389                svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml
390                svg/custom/object-sizing-width-50p-height-50p-on-target-svg.xhtml
391                svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml
392                svg/custom/object-sizing-width-50p-height-75p-on-target-svg.xhtml
393                svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml
394                svg/custom/object-sizing-width-50p-on-target-svg.xhtml
395                svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml
396                svg/custom/object-sizing-width-75p-height-50p-on-target-svg.xhtml
397                svg/hixie/intrinsic/001.html
398                svg/hixie/intrinsic/002.html
399                svg/hixie/intrinsic/003.html
400
401         * rendering/RenderPart.cpp:
402         (WebCore::RenderPart::computeReplacedLogicalWidth):
403         (WebCore::RenderPart::computeReplacedLogicalHeight):
404         * rendering/svg/RenderSVGRoot.cpp:
405         (WebCore::RenderSVGRoot::computeIntrinsicRatio):
406         * rendering/svg/RenderSVGRoot.h:
407
408 2011-05-31  Tonis Tiigi  <tonistiigi@gmail.com>
409
410         Reviewed by Pavel Feldman.
411
412         Web Inspector: Timeline panel improvements for managing current selection
413         https://bugs.webkit.org/show_bug.cgi?id=61468
414
415         Enables X-axis dragging of the selected area.
416         Double click zoom-out.
417         Fixes slightly wrong selection area position.
418
419         * inspector/front-end/TimelineOverviewPane.js:
420         (WebInspector.TimelineOverviewPane):
421         (WebInspector.TimelineOverviewPane.prototype._dragWindow):
422         (WebInspector.TimelineOverviewPane.prototype._endWindowSelectorDragging):
423         (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
424         (WebInspector.TimelineOverviewPane.prototype._resizeWindowMaximum):
425         (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
426         (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
427         * inspector/front-end/TimelinePanel.js:
428         (WebInspector.TimelinePanel):
429
430 2011-05-31  Keishi Hattori  <keishi@webkit.org>
431
432         Reviewed by Kent Tamura.
433
434         Fix to enable page scroll of select element
435         https://bugs.webkit.org/show_bug.cgi?id=53628
436
437         Manual test: select-page-scroll.html
438
439         * manual-tests/select-page-scroll.html: Added.
440         * rendering/RenderListBox.cpp:
441         (WebCore::RenderListBox::computeLogicalHeight): Fix min to max.
442
443 2011-05-31  Yong Li  <yoli@rim.com>
444
445         Reviewed by Eric Seidel.
446
447         https://bugs.webkit.org/show_bug.cgi?id=54807
448         We have been assuming plain bitfields (like "int a : 31") are always signed integers.
449         However some compilers can treat them as unsigned. For example, RVCT 4.0 states plain
450         bitfields (declared without either signed or unsigned qualifiers) are treats as unsigned.
451         http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348c/Babjddhe.html
452         Although we can use "--signed-bitfields" flag to make RVCT 4.0 behave as most other compilers,
453         always using "signed"/"unsigned" qualifier to declare integral type bitfields is still a good
454         rule we should have in order to make our code independent from compilers and compiler flags.
455
456         No new test added because this change is not known to fix any issue.
457
458         * css/CSSPrimitiveValue.h:
459         * css/CSSProperty.h:
460         * rendering/InlineBox.h:
461         * rendering/RenderBlock.h:
462
463 2011-05-31  Hironori Bono  <hbono@chromium.org>
464
465         Reviewed by Eric Seidel.
466
467         Send an input event when we change the text direction.
468         https://bugs.webkit.org/show_bug.cgi?id=50952
469
470         Both Safari and Chrome call Editor::setBaseWritingDirection() to change
471         the text direction of an editable element with their UIs. This change
472         calls dispatchInputEvent() to send an input event when the function
473         actually changes the "dir" attribute so we can send an input event as
474         written in the HTML5 spec.
475
476         Test: fast/html/set-text-direction.html
477
478         * editing/Editor.cpp:
479         (WebCore::Editor::setBaseWritingDirection):
480
481 2011-05-31  Jer Noble  <jer.noble@apple.com>
482
483         Reviewed by Darin Adler.
484
485         Flash of black at the end of full screen transition at apple.com product videos
486         https://bugs.webkit.org/show_bug.cgi?id=61756
487
488         Added two new entries to the WebCore exports list.
489
490         * WebCore.exp.in:
491
492 2011-05-31  Rafael Brandao  <rafael.lobo@openbossa.org>
493
494         Reviewed by Andreas Kling.
495
496         [Qt] tst_QWebFrame::render() failing
497         https://bugs.webkit.org/show_bug.cgi?id=60893
498
499         Due a problem on QPicture (http://bugreports.qt.nokia.com/browse/QTBUG-19496),
500         this test was calculating the final geometry incorrectly. As the order between
501         a translate and a draw operation could be relevant for it, but not for the
502         final rendered result, they were changed on ScrollbarThemeQt::paint.
503
504         * platform/qt/ScrollbarThemeQt.cpp:
505         (WebCore::ScrollbarThemeQt::paint):
506
507 2011-05-27  Adrienne Walker  <enne@google.com>
508
509         Reviewed by James Robinson.
510
511         [chromium] Fix crash from empty reflections with masks
512         https://bugs.webkit.org/show_bug.cgi?id=61654
513
514         Change the iteration for updateCompositorResources to match that being
515         done in the paint and draw steps.  This mismatch of iteration style
516         was causing layers with replica masks to correctly get skipped while
517         painting but not get skipped during texture upload.
518
519         Test: compositing/reflections/empty-reflection-with-mask.html
520
521         * platform/graphics/chromium/LayerRendererChromium.cpp:
522         (WebCore::LayerRendererChromium::updateLayers):
523         (WebCore::LayerRendererChromium::updateCompositorResources):
524         * platform/graphics/chromium/LayerRendererChromium.h:
525
526 2011-05-31  B.J. Wever  <skylined@chromium.org>
527
528         Reviewed by Adam Barth.
529
530         requestFileSystem and resolveLocalFileSystemURI are not checking if
531         errorCallback is NULL before scheduling a callback on error.
532         https://bugs.webkit.org/show_bug.cgi?id=49539
533
534         Test: fast/filesystem/filesystem-no-callback-null-ptr-crash.html
535
536         * fileapi/DOMFileSystem.cpp:
537         (WebCore::DOMFileSystem::scheduleCallback): Only call callback if
538           one is supplied.
539
540 2011-05-31  Brady Eidson  <beidson@apple.com>
541
542         Reviewed by Darin Adler.
543
544         Another swipe at resolving <rdar://problem/9125145> and https://bugs.webkit.org/show_bug.cgi?id=61494
545         
546         Re-land http://trac.webkit.org/changeset/87566 with invalid ASSERTs removed.
547
548         No new tests. No change in behavior.
549
550         Instead of storing the DocumentLoader at construction and never changing it,
551         always calculate it based on the FrameLoader's current DocumentLoader:
552         * dom/Document.cpp:
553         (WebCore::Document::Document):
554         (WebCore::Document::suggestedMIMEType):
555         (WebCore::Document::lastModified):
556         (WebCore::Document::initSecurityContext):
557         (WebCore::Document::updateURLForPushOrReplaceState):
558         (WebCore::Document::loader):
559         * dom/Document.h:
560
561         Null-check or ASSERT that the DocumentLoader exists (or both) depending on the scenario:
562         * bindings/ScriptControllerBase.cpp:
563         (WebCore::ScriptController::executeIfJavaScriptURL):
564         * html/MediaDocument.cpp:
565         (WebCore::MediaDocument::replaceMediaElementTimerFired):
566         * html/PluginDocument.cpp:
567         (WebCore::PluginDocumentParser::createDocumentStructure):
568         * platform/mac/HTMLConverter.mm:
569         (fileWrapperForElement):
570
571         * WebCore.exp.in:
572
573 2011-05-31  Levi Weintraub  <leviw@chromium.org>
574
575         Reviewed by Simon Fraser.
576
577         Change InlineBox::paint and its overloaded variants to use IntPoint
578         https://bugs.webkit.org/show_bug.cgi?id=61804
579
580         Changing InlineBox::paint, its 7 overloaded variants, and RootInlineBox::paintEllipsisBox
581         to use IntPoint for their paint offset instead of a pair of ints.
582
583         No new tests since this is just a refactoring.
584
585         * rendering/EllipsisBox.cpp:
586         (WebCore::EllipsisBox::paint):
587         * rendering/EllipsisBox.h:
588         * rendering/InlineBox.cpp:
589         (WebCore::InlineBox::paint):
590         * rendering/InlineBox.h:
591         * rendering/InlineFlowBox.cpp:
592         (WebCore::InlineFlowBox::paint):
593         * rendering/InlineFlowBox.h:
594         * rendering/InlineTextBox.cpp:
595         (WebCore::InlineTextBox::paint):
596         * rendering/InlineTextBox.h:
597         * rendering/RenderBlock.cpp:
598         (WebCore::RenderBlock::paintEllipsisBoxes):
599         * rendering/RenderBoxModelObject.cpp:
600         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
601         * rendering/RenderLineBoxList.cpp:
602         (WebCore::RenderLineBoxList::paint):
603         * rendering/RootInlineBox.cpp:
604         (WebCore::RootInlineBox::paintEllipsisBox):
605         (WebCore::RootInlineBox::paint):
606         * rendering/RootInlineBox.h:
607         * rendering/svg/SVGInlineFlowBox.cpp:
608         (WebCore::SVGInlineFlowBox::paint):
609         * rendering/svg/SVGInlineFlowBox.h:
610         * rendering/svg/SVGInlineTextBox.cpp:
611         (WebCore::SVGInlineTextBox::paint):
612         * rendering/svg/SVGInlineTextBox.h:
613         * rendering/svg/SVGRootInlineBox.cpp:
614         (WebCore::SVGRootInlineBox::paint):
615         * rendering/svg/SVGRootInlineBox.h:
616
617 2011-05-31  James Robinson  <jamesr@chromium.org>
618
619         Reviewed by Kenneth Russell.
620
621         [chromium] Clear out LayerChromium's m_ccLayerImpl ptr on CCLayerImpl destruction
622         https://bugs.webkit.org/show_bug.cgi?id=61593
623
624         Whenever a CCLayerImpl is being destroyed, clear out its owner's m_ccLayerImpl pointer.
625         This is extremely defensive and not strictly necessary, but not harmful either.
626
627         * platform/graphics/chromium/LayerChromium.h:
628         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
629         (WebCore::CCLayerImpl::~CCLayerImpl):
630
631 2011-05-31  Stephen White  <senorblanco@chromium.org>
632
633         Unreviewed; build fix.
634
635         Silence some warnings on the Safari/Mac release build.
636
637         * platform/graphics/gpu/TilingData.h:
638         (WebCore::TilingData::assertTile):
639
640 2011-05-31  Justin Novosad  <junov@chromium.org>
641
642         Reviewed by Stephen White.
643
644         [Chromium] Build fails when ACCELERATED_2D_CANVAS is disabled
645         https://bugs.webkit.org/show_bug.cgi?id=61790
646         Changing the build guards in these two files that are required
647         by the accelerated compositing feature.
648
649         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
650         * platform/graphics/gpu/TilingData.cpp:
651
652 <<<<<<< .mine
653 2011-05-31  Justin Novosad  <junov@chromium.org>
654
655         Reviewed by Stephen White.
656
657         [Chromium] Build fails when ACCELERATED_2D_CANVAS is disabled
658         https://bugs.webkit.org/show_bug.cgi?id=61790
659         Changing the build guards in these two files that are required
660         by the accelerated compositing feature.
661
662         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
663         * platform/graphics/gpu/TilingData.cpp:
664
665 =======
666 2011-05-31  Rob Buis  <rbuis@rim.com>
667
668         Reviewed by Dirk Schulze.
669
670         https://bugs.webkit.org/show_bug.cgi?id=34301
671         Creating <animateMotion> elements via javascript do not execute
672
673         https://bugs.webkit.org/show_bug.cgi?id=17043
674         SVG missing some .idl files
675
676         Add missing idl files.
677
678         Test: svg/animations/animate-mpath-insert.html
679
680         * CMakeLists.txt:
681         * CodeGenerators.pri:
682         * WebCore.gypi:
683         * WebCore.xcodeproj/project.pbxproj:
684         * svg/SVGAnimateMotionElement.idl: Added.
685         * svg/SVGMPathElement.idl: Added.
686
687 2011-05-31  Robin Dunn  <robin@alldunn.com>
688
689         Reviewed by Kevin Ollivier.
690
691         [wx] Implement printing support for wxWidgets 2.9.x and above.
692         
693         https://bugs.webkit.org/show_bug.cgi?id=61796
694
695         * platform/graphics/GraphicsContext.h:
696         * platform/graphics/wx/FontWx.cpp:
697         (WebCore::Font::drawGlyphs):
698         * platform/graphics/wx/GraphicsContextWx.cpp:
699         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
700         (WebCore::GraphicsContext::drawRect):
701         (WebCore::GraphicsContext::drawLine):
702         (WebCore::GraphicsContext::drawEllipse):
703         (WebCore::GraphicsContext::strokeArc):
704         (WebCore::GraphicsContext::drawConvexPolygon):
705         (WebCore::GraphicsContext::fillRect):
706         (WebCore::GraphicsContext::drawLineForText):
707         (WebCore::GraphicsContext::scale):
708         (WebCore::GraphicsContext::currentScale):
709         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
710         (WebCore::drawTextWithSpacing):
711
712 2011-05-31  Joseph Pecoraro  <joepeck@webkit.org>
713
714         Reviewed by Pavel Feldman.
715
716         Web Inspector: Missing InspectorFrontendHost.saveSessionSetting function
717         https://bugs.webkit.org/show_bug.cgi?id=61751
718
719         Add missing stub function causing an error on load.
720
721         * inspector/front-end/InspectorFrontendHostStub.js:
722         (.WebInspector.InspectorFrontendHostStub.prototype.saveSessionSetting):
723
724 2011-05-31  Abhishek Arya  <inferno@chromium.org>
725
726         Reviewed by Dimitri Glazkov.
727
728         Improve hasMediaControls logic to check that node has
729         media controls. This can be false when cloning nodes.
730         https://bugs.webkit.org/show_bug.cgi?id=61765
731
732         Test: media/media-controls-clone-crash.html
733
734         * dom/Node.h:
735         (WebCore::Node::isMediaControls):
736         * html/HTMLMediaElement.cpp:
737         (WebCore::HTMLMediaElement::mediaControls):
738         (WebCore::HTMLMediaElement::hasMediaControls):
739         * html/shadow/MediaControls.h:
740         (WebCore::MediaControls::isMediaControls):
741         (WebCore::toMediaControls):
742
743 2011-05-31  Xan Lopez  <xlopez@igalia.com>
744
745         Reviewed by Martin Robinson.
746
747         [GTK] Provide custom DOM bindings methods to check if input/textareas have been edited
748         https://bugs.webkit.org/show_bug.cgi?id=61791
749
750         * bindings/gobject/GNUmakefile.am: add new files.
751         * bindings/gobject/WebKitDOMCustom.cpp: Added.
752         (webkit_dom_html_text_area_element_is_edited):
753         (webkit_dom_html_input_element_is_edited):
754         * bindings/gobject/WebKitDOMCustom.h: Added.
755
756 2011-05-31  Noam Rosenthal  <noam.rosenthal@nokia.com>
757
758         Unreviewed build fix for Symbian.
759         Opt-out Symbian for TextureMapper.
760
761         No new tests: build fix.
762
763         * WebCore.pri:
764
765 2011-05-31  Levi Weintraub  <leviw@chromium.org>
766
767         Reviewed by Eric Seidel.
768
769         Switch paintFocusRing to IntPoint
770         https://bugs.webkit.org/show_bug.cgi?id=61580
771
772         Switching paintFocusRing to take an IntPoint representing the paint offset
773         instead of a pair of ints.
774
775         No new tests as this is just refactoring.
776
777         * rendering/RenderInline.cpp:
778         (WebCore::RenderInline::paintOutline):
779         * rendering/RenderObject.cpp:
780         (WebCore::RenderObject::paintFocusRing):
781         (WebCore::RenderObject::paintOutline):
782         * rendering/RenderObject.h:
783
784 2011-05-31  Abhishek Arya  <inferno@chromium.org>
785
786         Reviewed by Dimitri Glazkov.
787
788         Convert raw ptr to RefPtr for documentElement.
789         https://bugs.webkit.org/show_bug.cgi?id=61688
790
791         Test: fast/dom/xml-parser-error-message-crash.svg
792
793         * dom/XMLDocumentParser.cpp:
794         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
795
796 2011-05-31  Andreas Kling  <kling@webkit.org>
797
798         Reviewed by Antti Koivisto.
799
800         Canvas/JSC: Auto-generate overloads for setShadow()
801         https://bugs.webkit.org/show_bug.cgi?id=61786
802
803         Move CanvasRenderingContext2D.setShadow() to auto-generated JSC bindings.
804
805         There is a subtle difference to the previous behavior: invalid numbers of
806         arguments now raise TypeError instead of SyntaxError. This is in accordance
807         with Web IDL, and matches the existing V8 bindings.
808
809         Test: fast/canvas/canvas-overloads-setShadow.html
810
811         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
812         * html/canvas/CanvasRenderingContext2D.idl:
813
814 2011-05-31  Andreas Kling  <kling@webkit.org>
815
816         Reviewed by Antti Koivisto.
817
818         Canvas/JSC: Auto-generate overloads for drawImageFromRect()
819         https://bugs.webkit.org/show_bug.cgi?id=61709
820
821         Move CanvasRenderingContext2D.drawImageFromRect() to auto-generated JSC bindings.
822         Make it [RequiresAllArguments=Raise] to match the old behavior.
823         Side effect: calling drawImageFromRect() with zero arguments will now raise
824         SyntaxError instead of TypeError.
825
826         Test: fast/canvas/canvas-overloads-drawImageFromRect.html
827
828         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
829         * html/canvas/CanvasRenderingContext2D.h:
830         * html/canvas/CanvasRenderingContext2D.idl:
831
832 2011-05-31  Andreas Kling  <kling@webkit.org>
833
834         Reviewed by Antti Koivisto.
835
836         Canvas/JSC: Auto-generate overloads for drawImage()
837         https://bugs.webkit.org/show_bug.cgi?id=61703
838
839         Move CanvasRenderingContext2D.drawImage() to auto-generated JSC bindings.
840
841         There is a subtle difference to the previous behavior: invalid numbers of
842         arguments now raise TypeError instead of SyntaxError. This is in accordance
843         with Web IDL, and matches the existing V8 bindings.
844
845         Test: fast/canvas/canvas-overloads-drawImage.html
846
847         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
848         * html/canvas/CanvasRenderingContext2D.idl:
849
850 2011-05-31  Andreas Kling  <kling@webkit.org>
851
852         Reviewed by Antti Koivisto.
853
854         Canvas/JSC: Auto-generate overloads for strokeRect()
855         https://bugs.webkit.org/show_bug.cgi?id=61641
856
857         Move CanvasRenderingContext2D.setStrokeColor() to auto-generated JSC bindings.
858
859         No behavioral change.
860
861         Test: fast/canvas/canvas-overloads-strokeRect.html
862
863         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
864         * html/canvas/CanvasRenderingContext2D.idl:
865
866 2011-05-31  Andreas Kling  <kling@webkit.org>
867
868         Reviewed by Antti Koivisto.
869
870         Canvas/JSC: Auto-generate overloads for setFillColor()
871         https://bugs.webkit.org/show_bug.cgi?id=61635
872
873         Move CanvasRenderingContext2D.setStrokeColor() to auto-generated JSC bindings.
874
875         There is a subtle difference to the previous behavior: invalid numbers of
876         arguments now raise TypeError instead of SyntaxError. This is in accordance
877         with Web IDL, but doesn't matter much anyway since this method is WebKit-only.
878
879         Test: fast/canvas/canvas-overloads-setFillColor.html
880
881         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
882         * html/canvas/CanvasRenderingContext2D.idl:
883
884 2011-05-31  Andreas Kling  <kling@webkit.org>
885
886         Reviewed by Antti Koivisto.
887
888         Canvas/JSC: Auto-generate overloads for setStrokeColor()
889         https://bugs.webkit.org/show_bug.cgi?id=61629
890
891         Move CanvasRenderingContext2D.setStrokeColor() to auto-generated JSC bindings.
892
893         There is a subtle difference to the previous behavior: invalid numbers of
894         arguments now raise TypeError instead of SyntaxError. This is in accordance
895         with Web IDL, but doesn't matter much anyway since this method is WebKit-only.
896
897         Test: fast/canvas/canvas-overloads-setStrokeColor.html
898
899         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
900         * html/canvas/CanvasRenderingContext2D.idl:
901
902 2011-05-31  Andreas Kling  <kling@webkit.org>
903
904         Reviewed by Antti Koivisto.
905
906         Canvas/JSC: Auto-generate overloads for strokeText()
907         https://bugs.webkit.org/show_bug.cgi?id=61626
908
909         Move CanvasRenderingContext2D.strokeText() to auto-generated JSC bindings.
910         Make it [RequiresAllArguments=Raise] to match the old behavior.
911         This has the side-effect of aligning the behaviors of JSC and V8.
912
913         Test: fast/canvas/canvas-overloads-strokeText.html
914
915         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
916         * html/canvas/CanvasRenderingContext2D.idl:
917
918 2011-05-31  Andreas Kling  <kling@webkit.org>
919
920         Reviewed by Antti Koivisto.
921
922         Canvas/JSC: Auto-generate overloads for fillText()
923         https://bugs.webkit.org/show_bug.cgi?id=61623
924
925         Move CanvasRenderingContext2D.fillText() to auto-generated JSC bindings.
926         Make it [RequiresAllArguments=Raise] to match the old behavior.
927         This has the side-effect of aligning the behaviors of JSC and V8.
928
929         Test: fast/canvas/canvas-overloads-fillText.html
930
931         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
932         * html/canvas/CanvasRenderingContext2D.idl:
933
934 2011-05-31  Yael Aharon  <yael.aharon@nokia.com>
935
936         Reviewed by Kenneth Rohde Christiansen.
937
938         Frame flattening is broken with nested frames
939         https://bugs.webkit.org/show_bug.cgi?id=61491
940
941         After r77988, when frame flattening is enabled, performPostLayoutTasks() is called on a timer for iframes.
942         This causes layout of nested iframes to sometimes happen asynchronously, but WebCore expects layout to always finish synchronously.
943         Added a call to updateWidgetPosition() for cases that performPostLayoutTasks() is now happening asynchronously.
944
945         Test: fast/frames/flattening/iframe-flattening-nested.html
946
947         * page/FrameView.cpp:
948         (WebCore::FrameView::layout):
949
950 2011-05-31  Tommy Widenflycht  <tommyw@google.com>
951
952         Reviewed by Tony Gentilcore.
953
954         Fix getUserMedia callback bindings for JSC.
955         https://bugs.webkit.org/show_bug.cgi?id=60174
956
957         This patch initializes the exception code variable to 0.
958
959         Test: fast/dom/MediaStream/argument-types.html
960
961         * bindings/js/JSNavigatorCustom.cpp:
962         (WebCore::JSNavigator::webkitGetUserMedia):
963
964 2011-05-31  Oleg Romashin  <oleg.romashin@nokia.com>
965
966         Reviewed by Benjamin Poulain.
967
968         Fix compilation with debug enabled, m_lightSource.type is not valid anymore
969         https://bugs.webkit.org/show_bug.cgi?id=61719
970
971         * platform/graphics/filters/arm/FELightingNEON.h:
972         (WebCore::FELighting::platformApplyNeon):
973
974 2011-05-31  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>
975
976         Reviewed by Nikolas Zimmermann.
977
978         Invalid color handling is broken for SVG
979         https://bugs.webkit.org/show_bug.cgi?id=58531
980
981         Fix invalid color fallback handling. If the fill/stroke attributes computed
982         value leads to a an invalid color, inherit the desired color from the parent
983         style instead. Matches Opera/FF and SVG 1.1 Second Edition (http://www.w3.org/TR/SVG/).
984
985         Tests: svg/custom/invalid-stroke-hex.svg
986                svg/custom/invalid-uri-stroke.svg
987
988         * rendering/svg/RenderSVGResource.cpp:
989         (WebCore::inheritColorFromParentStyleIfNeeded):
990         (WebCore::requestPaintingResource):
991
992 2011-05-31  Vangelis Kokkevis  <vangelis@chromium.org>
993
994         Reviewed by Kent Tamura.
995
996         [chromium] Avoid double deletion of DrawingBuffer's color buffer
997         texture.
998         https://bugs.webkit.org/show_bug.cgi?id=61761
999
1000         Test: Verified that the DCHECK in GraphicsContext3D implementation
1001         doesn't trigger.
1002
1003         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1004         (WebCore::DrawingBuffer::~DrawingBuffer):
1005
1006 2011-05-30  Hayato Ito  <hayato@chromium.org>
1007
1008         Reviewed by Ryosuke Niwa.
1009
1010         Add a utility function for dumping a tree for the Node, including a document of a frame.
1011         https://bugs.webkit.org/show_bug.cgi?id=61727
1012
1013         No new tests since added functions are only available in debug builds.
1014
1015         * dom/Node.cpp:
1016         (WebCore::parentOrHostOrFrameOwner):
1017         (WebCore::traverseNextNodeAcrossFrame):
1018         (WebCore::Node::showTreeForThisAcrossFrame):
1019         * dom/Node.h:
1020
1021 2011-05-30  James Kozianski  <koz@chromium.org>
1022
1023         Reviewed by Kent Tamura.
1024
1025         [Chromium] Make isValidProtocol() accept protocols with '+'.
1026         https://bugs.webkit.org/show_bug.cgi?id=61759
1027
1028         Also, detect syntax errors before security errors; some syntax errors
1029         will also trigger a security error, but it's more helpful to the
1030         programmer to know if they have a syntax error, which are well-defined
1031         in the spec, rather than a security error, which aren't.
1032
1033         * page/Navigator.cpp:
1034         (WebCore::Navigator::registerProtocolHandler):
1035         Detect syntax errors before security errors.
1036         * platform/KURLGoogle.cpp:
1037         (WebCore::isSchemeChar):
1038         Include '+' in the list of valid characters.
1039
1040 >>>>>>> .r87778
1041 2011-05-30  Andrey Petrov  <andrey.petrov@gmail.com>
1042
1043         Reviewed by Hajime Morita.
1044
1045         Using jQuery to show/hide IMG elements crashes WebKit
1046         https://bugs.webkit.org/show_bug.cgi?id=31721
1047
1048         For platform code, do not assert nodes always have renderer at
1049         the time context menu action is invoked.
1050         Renderer can actually be empty for a given node if it was hidden
1051         or removed from domtree by some non-user generated event (e.g timeout) 
1052         after the popup menu had been created.
1053
1054         Changing Chromium, Gtk, Mac, Qt, Win and WinCE.
1055
1056         Test: editing/pasteboard/copy-standalone-image-crash.html
1057
1058         * platform/chromium/PasteboardChromium.cpp:
1059         (WebCore::Pasteboard::writeImage):
1060         * platform/gtk/PasteboardGtk.cpp:
1061         (WebCore::Pasteboard::writeImage):
1062         * platform/mac/PasteboardMac.mm:
1063         (WebCore::Pasteboard::writeImage):
1064         * platform/qt/PasteboardQt.cpp:
1065         (WebCore::Pasteboard::writeImage):
1066         * platform/win/PasteboardWin.cpp:
1067         (WebCore::Pasteboard::writeImage):
1068         * platform/wince/PasteboardWinCE.cpp:
1069         (WebCore::Pasteboard::writeImage):
1070
1071 2011-05-30  Daniel Bates  <dbates@webkit.org>
1072
1073         Reviewed by Adam Barth.
1074
1075         Rename XSSFilter to XSSAuditor
1076         https://bugs.webkit.org/show_bug.cgi?id=61718
1077
1078         Currently we use the names XSSFilter and XSSAuditor throughout the project.
1079         Instead, we should choose one name for consistency.
1080
1081         No functionality was changed. So, no new tests.
1082
1083         * CMakeLists.txt:
1084         * GNUmakefile.list.am:
1085         * WebCore.gypi:
1086         * WebCore.pro:
1087         * WebCore.vcproj/WebCore.vcproj:
1088         * WebCore.xcodeproj/project.pbxproj:
1089         * html/parser/HTMLDocumentParser.cpp:
1090         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1091         (WebCore::HTMLDocumentParser::pumpTokenizer):
1092         * html/parser/HTMLDocumentParser.h:
1093         * html/parser/XSSAuditor.cpp: Copied from Source/WebCore/html/parser/XSSFilter.cpp.
1094         (WebCore::XSSAuditor::XSSAuditor):
1095         (WebCore::XSSAuditor::init):
1096         (WebCore::XSSAuditor::filterToken):
1097         (WebCore::XSSAuditor::filterTokenInitial):
1098         (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
1099         (WebCore::XSSAuditor::filterScriptToken):
1100         (WebCore::XSSAuditor::filterObjectToken):
1101         (WebCore::XSSAuditor::filterParamToken):
1102         (WebCore::XSSAuditor::filterEmbedToken):
1103         (WebCore::XSSAuditor::filterAppletToken):
1104         (WebCore::XSSAuditor::filterIframeToken):
1105         (WebCore::XSSAuditor::filterMetaToken):
1106         (WebCore::XSSAuditor::filterBaseToken):
1107         (WebCore::XSSAuditor::filterFormToken):
1108         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
1109         (WebCore::XSSAuditor::eraseAttributeIfInjected):
1110         (WebCore::XSSAuditor::snippetForRange):
1111         (WebCore::XSSAuditor::snippetForAttribute):
1112         (WebCore::XSSAuditor::isContainedInRequest):
1113         (WebCore::XSSAuditor::isSameOriginResource):
1114         * html/parser/XSSAuditor.h: Copied from Source/WebCore/html/parser/XSSFilter.h.
1115         * html/parser/XSSFilter.cpp: Removed.
1116         * html/parser/XSSFilter.h: Removed.
1117
1118 2011-05-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
1119
1120         Reviewed by Simon Hausmann.
1121
1122         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
1123         https://bugs.webkit.org/show_bug.cgi?id=61694
1124
1125         Expose a public clearAll() function to reset WebCore::Animation.
1126
1127         No new functionality, so no new tests.
1128
1129         * platform/animation/Animation.h:
1130         (WebCore::Animation::clearAll):
1131
1132 2011-05-30  Eric Carlson  <eric.carlson@apple.com>
1133
1134         Reviewed by Alexey Proskuryakov.
1135
1136         Audio and video files saved to the Application Cache should preserve the original file extension
1137         https://bugs.webkit.org/show_bug.cgi?id=61750
1138         <rdar://9524922>
1139
1140         No new tests, it isn't possible to check the name of the file in the cache from within
1141         DRT. Changes verified manually.
1142
1143         * loader/appcache/ApplicationCacheStorage.cpp:
1144         (WebCore::ApplicationCacheStorage::store): Append the original file extension to the cache
1145             file name.
1146         (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Add extension parameter.
1147         * loader/appcache/ApplicationCacheStorage.h:
1148
1149 2011-05-30  Jer Noble  <jer.noble@apple.com>
1150
1151         Reviewed by Dan Bernstein.
1152
1153         Play/Pause button in wrong state when entering full screen on Vimeo
1154         https://bugs.webkit.org/show_bug.cgi?id=61754
1155
1156         Update the play/pause button inside reset().  This ensures the button is in
1157         the correct state when the controls are created after playback has already
1158         started.
1159
1160         * html/shadow/MediaControlRootElement.cpp:
1161         (WebCore::MediaControlRootElement::reset):
1162
1163 2011-05-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
1164
1165         Reviewed by Simon Hausmann.
1166
1167         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
1168         https://bugs.webkit.org/show_bug.cgi?id=61694
1169
1170         Added a public TimingFunction::type() method.
1171
1172         No new functionality, so no new tests.
1173
1174         * platform/animation/TimingFunction.h:
1175         (WebCore::TimingFunction::type):
1176
1177 2011-05-30  Noam Rosenthal  <noam.rosenthal@nokia.com>
1178
1179         BUILD FIX for r87697 on Windows/Symbian
1180
1181         For now enabling TextureMapper for Mac/Linux only.
1182
1183         * WebCore.pri:
1184
1185 2011-05-30  David Kilzer  <ddkilzer@apple.com>
1186
1187         BUILD FIX for r87692 with !ENABLE(FULLSCREEN_API)
1188
1189         * dom/EventDispatcher.cpp:
1190         (WebCore::EventDispatcher::determineDispatchBehavior): Mark
1191         shadowRoot as an unused parameter with !ENABLE(FULLSCREEN_API).
1192
1193 2011-05-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
1194
1195         Reviewed by Andreas Kling.
1196
1197         [Texmap][Qt] Enable TextureMapper by default
1198         https://bugs.webkit.org/show_bug.cgi?id=61740
1199
1200         Make CONFIG+=texmap an opt-out instead of an opt-in.
1201
1202         No new functionality so no new tests.
1203
1204         * WebCore.pri:
1205
1206 2011-05-30  Martin Robinson  <mrobinson@igalia.com>
1207
1208         Reviewed by Xan Lopez.
1209
1210         [GTK] fast/css/font-face-zero-hash-key.html is crashing on the bots
1211         https://bugs.webkit.org/show_bug.cgi?id=61693
1212
1213         Do not try to read the FT_Face from m_scaledFont if it m_scaledFont is
1214         null. A recent change fixing 0-pixel-size fonts means that m_scaledFont
1215         may now be null.
1216
1217         No new tests. This change should cause fast/css/font-face-zero-hash-key.html
1218         to stop crashing.
1219
1220         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1221         (WebCore::FontPlatformData::FontPlatformData): Do a null check before accessing
1222         m_scaledFont.
1223
1224 2011-05-30  Noam Rosenthal  <noam.rosenthal@nokia.com>
1225
1226         Reviewed by Kenneth Rohde Christiansen.
1227
1228         [Texmap][Qt] Disable accelerated plugins/media until they're working.
1229         https://bugs.webkit.org/show_bug.cgi?id=61687
1230
1231         Until this works properly, we should indicate that our media implementation
1232         in texture mapper doesn't support accelerated compositing.
1233
1234         This makes LayoutTests/compositing/video/* work again.
1235
1236         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1237         (WebCore::MediaPlayerPrivateQt::supportsAcceleratedRendering):
1238         (WebCore::MediaPlayerPrivateQt::platformLayer):
1239
1240 2011-05-30  Mikhail Naganov  <mnaganov@chromium.org>
1241
1242         Reviewed by Adam Barth.
1243
1244         [Chromium] Fix regression after r87628.
1245         https://bugs.webkit.org/show_bug.cgi?id=61733
1246
1247         Having r87628 in place, Chrome reliability bot crashes in
1248         WebCore::HTMLLinkElement::onloadTimerFired.
1249
1250         This is because the change makes WebCore::CachedResource::setRequest to
1251         call checkNotify on request reset.  HTMLLinkElement registers itself as
1252         CachedResource client via m_cachedSheet, which can happen even if
1253         m_cachedLinkResource wasn't set.  As a result,
1254         WebCore::HTMLLinkElement::notifyFinished is got called with unset
1255         m_cachedLinkResource, which causes a crash in
1256         HTMLLinkElement::onloadTimerFired
1257
1258         * html/HTMLLinkElement.cpp:
1259         (WebCore::HTMLLinkElement::notifyFinished):
1260
1261 2011-05-30  Jer Noble  <jer.noble@apple.com>
1262
1263         Reviewed by Darin Adler and Simon Fraser.
1264
1265         REGRESSION (r87622): Scrubbing a Vimeo movie when in fullscreen stops playback; no way to make it start again
1266         https://bugs.webkit.org/show_bug.cgi?id=61717
1267         rdar://problem/9522272
1268
1269         May be some good way to test this later. No immediate idea about the best way.
1270
1271         When a media element is taken into full-screen mode, stop events from propagating
1272         outside the media element's shadow DOM, EventDispatcher::determineDispatchBehavior()
1273         has been changed to take a shadow root node. In our full screen media element check,
1274         we check to see if the passed shadow root is the shadow root of the full screen media
1275         element, and if so, specify events should StayInsideShadowDOM. The end result is that
1276         inside EventDispatcher::ensureEventAncestors, an ancestor chain is built up all the
1277         way from the SliderThumb to the video element's shadow root, but no further.
1278
1279         * dom/EventDispatcher.cpp:
1280         (WebCore::EventDispatcher::determineDispatchBehavior): Restrict events to the
1281         shadow DOM when showing a full screen video.
1282
1283         * html/HTMLMediaElement.cpp:
1284         (WebCore::HTMLMediaElement::HTMLMediaElement): Removed code to manage full screen controls.
1285         The events telling us about activity in the shadow DOM no longer bubble out so we need to
1286         handle this inside the shadow DOM on the root element.
1287         (WebCore::HTMLMediaElement::play): Ditto.
1288         (WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto.
1289         (WebCore::HTMLMediaElement::defaultEventHandler): Ditto.
1290         (WebCore::HTMLMediaElement::enterFullscreen): Ditto.
1291         (WebCore::HTMLMediaElement::exitFullscreen): Ditto.
1292         * html/HTMLMediaElement.h: Added isPlaying function, removed things moved to the root element.
1293
1294         * html/shadow/MediaControlElements.cpp:
1295         (WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler): Rolled out
1296         changes that tried to make special rules for events using preDispatchEventHandler and such.
1297         This rolls out both r87622 and r87655.
1298         (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Ditto.
1299         (WebCore::MediaControlPanelMuteButtonElement::defaultEventHandler): Ditto.
1300         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Ditto.
1301         (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto.
1302         (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
1303         (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
1304         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler): Ditto.
1305         (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
1306         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Ditto.
1307         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Ditto.
1308         (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Ditto.
1309         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Ditto.
1310         * html/shadow/MediaControlElements.h: Ditto.
1311
1312         * html/shadow/MediaControlRootElement.cpp:
1313         (WebCore::MediaControlRootElement::MediaControlRootElement): Initialize new data members.
1314         (WebCore::MediaControlRootElement::playbackStarted): Start the timer so we will consider
1315         hiding the controls later.
1316         (WebCore::MediaControlRootElement::playbackProgressed): Hide the controls if the mouse
1317         is no longer over the controls.
1318         (WebCore::MediaControlRootElement::playbackStopped): Stop the timer since we only hide
1319         automatically if we're playing.
1320         (WebCore::MediaControlRootElement::enteredFullscreen): Start the timer.
1321         (WebCore::MediaControlRootElement::exitedFullscreen): Stop the timer since we only care
1322         if we are full screen.
1323         (WebCore::MediaControlRootElement::containsRelatedTarget): Added. Helper for next function.
1324         (WebCore::MediaControlRootElement::defaultEventHandler): Do the hide/show and timer functions
1325         as the mouse is moved in and out.
1326         (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer): Start the timer if
1327         needed.
1328         (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): Hide if the conditions
1329         are met.
1330         (WebCore::MediaControlRootElement::stopHideFullscreenControlsTimer): Stop the timer.
1331
1332         * html/shadow/MediaControlRootElement.h: Added new functions and data members.
1333
1334
1335 2011-05-30  Gavin Peters  <gavinp@chromium.org>
1336
1337         Reviewed by Adam Barth.
1338
1339         prevent HTMLLinkElement from watching multiple CachedResources
1340         https://bugs.webkit.org/show_bug.cgi?id=61686
1341
1342         If we modify an existing link element, stop listening to the previous
1343         cached resource, to prevent double notifications (which crash).
1344
1345         Test: fast/dom/HTMLLinkElement/prefetch-too-many-clients.html
1346
1347         * html/HTMLLinkElement.cpp:
1348         (WebCore::HTMLLinkElement::process):
1349
1350 2011-05-30  Peter Varga  <pvarga@webkit.org>
1351
1352         Unreviewed build fix.
1353
1354         [Qt][V8] Fix debug build.
1355
1356         No new tests needed.
1357
1358         * css/CSSStyleDeclaration.cpp: Add missing header.
1359         * dom/Text.cpp: Ditto.
1360         * rendering/InlineTextBox.cpp: Ditto.
1361
1362 2011-05-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1363
1364         Unreviewed, rolling out r87683.
1365         http://trac.webkit.org/changeset/87683
1366         https://bugs.webkit.org/show_bug.cgi?id=61729
1367
1368         Breaks inspector tests on Chromium (Requested by apavlov on
1369         #webkit).
1370
1371         * inspector/front-end/StylesSidebarPane.js:
1372         (WebInspector.StylesSidebarPane.prototype.update):
1373
1374 2011-05-25  Alexander Pavlov  <apavlov@chromium.org>
1375
1376         Reviewed by Yury Semikhatsky.
1377
1378         Web Inspector: node selection is slow in the Elements panel.
1379         https://bugs.webkit.org/show_bug.cgi?id=60813
1380
1381         Schedule full style updates rather than request all node styles from the backend up front.
1382
1383         * inspector/front-end/StylesSidebarPane.js:
1384         (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
1385         (WebInspector.StylesSidebarPane.prototype.update):
1386
1387 2011-05-30  Andrey Kosyakov  <caseq@chromium.org>
1388
1389         Reviewed by Pavel Feldman.
1390
1391         Web Inspector: do not issue frontendReused for reload or navigation.
1392         https://bugs.webkit.org/show_bug.cgi?id=61192
1393
1394        - only issue frontendReused when inspector is attached after main resource committed load
1395        - upon committing loading main resource, reset agents before sending FrameNavigated to page agent
1396        - Ensure main resource is set early so that abbreviations of URLs in resource tree are consistent after reload
1397        - do not enable agents explicitly in frontendReused (this is done by backend when resotring state from cookie)
1398
1399         * inspector/InspectorAgent.cpp:
1400         (WebCore::InspectorAgent::InspectorAgent):
1401         (WebCore::InspectorAgent::restore):
1402         (WebCore::InspectorAgent::clearFrontend):
1403         (WebCore::InspectorAgent::didCommitLoad):
1404         * inspector/InspectorAgent.h:
1405         * inspector/InspectorInstrumentation.cpp:
1406         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1407         * inspector/front-end/NetworkManager.js:
1408         * inspector/front-end/ResourceTreeModel.js:
1409         (WebInspector.ResourceTreeModel.prototype._processCachedResources):
1410         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
1411         (WebInspector.ResourceTreeModel.prototype._cleanupFramesAfterNavigation):
1412         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
1413         * inspector/front-end/ResourcesPanel.js:
1414         (WebInspector.ResourcesPanel.prototype.reset):
1415         (WebInspector.ResourcesPanel.prototype._resetResourcesTree):
1416         (WebInspector.DatabaseTreeElement.prototype.onpopulate):
1417         (WebInspector.SearchResultsTreeElementsTraverser.prototype._lastTreeElement):
1418         * inspector/front-end/inspector.js:
1419         (WebInspector.reset):
1420         (WebInspector.frontendReused):
1421
1422 2011-05-30  Ryan Sleevi  <rsleevi@chromium.org>
1423
1424         Reviewed by Darin Adler.
1425
1426         FEConvolveMatrix::getPixelValue() fails to properly check if y is within bounds, causing it to fail to correctly apply the kernel and edge mode to the first targetY pixels
1427         https://bugs.webkit.org/show_bug.cgi?id=61603
1428
1429         Test: svg/filters/feConvolveFilter-y-bounds.svg
1430
1431         * platform/graphics/filters/FEConvolveMatrix.cpp:
1432         (WebCore::FEConvolveMatrix::getPixelValue):
1433
1434 2011-05-30  Nate Chapin  <japhet@chromium.org>
1435
1436         Reviewed by Antti Koivisto.
1437
1438         Refactor the CachedResourceLoader -> CachedResource -> CachedResourceRequest
1439         flow so it's a little less circular.
1440         https://bugs.webkit.org/show_bug.cgi?id=61666
1441
1442         * loader/cache/CachedFont.cpp:
1443         (WebCore::CachedFont::beginLoadIfNeeded):
1444         * loader/cache/CachedResource.cpp:
1445         (WebCore::CachedResource::load):
1446         * loader/cache/CachedResourceLoader.cpp:
1447         (WebCore::CachedResourceLoader::requestImage):
1448         (WebCore::CachedResourceLoader::setAutoLoadImages):
1449         (WebCore::CachedResourceLoader::loadStarted):
1450         * loader/cache/CachedResourceLoader.h:
1451         * loader/cache/CachedResourceRequest.cpp:
1452         (WebCore::CachedResourceRequest::load):
1453
1454 2011-05-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1455
1456         Unreviewed, rolling out r87618.
1457         http://trac.webkit.org/changeset/87618
1458         https://bugs.webkit.org/show_bug.cgi?id=61720
1459
1460         Causes BrowserFocusTest.FocusOnReload to fail (Requested by
1461         abarth|gardener on #webkit).
1462
1463         * html/HTMLLinkElement.cpp:
1464         (WebCore::HTMLLinkElement::process):
1465
1466 2011-05-29  Yuta Kitamura  <yutak@chromium.org>
1467
1468         Reviewed by Kent Tamura.
1469
1470         WebSocket closing handshake
1471         https://bugs.webkit.org/show_bug.cgi?id=35721
1472
1473         Implement WebSocket closing handshake based on Ian Hickson's
1474         WebSocket protocol draft 76.
1475
1476         Tests: http/tests/websocket/tests/client-close.html
1477                http/tests/websocket/tests/server-close.html
1478
1479         * platform/network/SocketStreamHandleBase.cpp:
1480         (WebCore::SocketStreamHandleBase::send):
1481         Do not send a message if we are in Closing state.
1482         (WebCore::SocketStreamHandleBase::close):
1483         Do not disconnect if we have pending data which have not been sent yet.
1484         In this case, the actual disconnection will happen in sendPendingData().
1485         (WebCore::SocketStreamHandleBase::disconnect):
1486         Renamed from close(). Disconnect the connection immediately.
1487         (WebCore::SocketStreamHandleBase::sendPendingData):
1488         * platform/network/SocketStreamHandleBase.h:
1489         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1490         Add didStartClosingHandshake(). Add a function argument (ClosingHandshakeCompletionStatus)
1491         to didClose().
1492         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
1493         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
1494         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
1495         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
1496         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1497         * websockets/WebSocket.cpp:
1498         (WebCore::WebSocket::send):
1499         (WebCore::WebSocket::close):
1500         Fail if close() is attempted before the connection is established.
1501         Otherwise, set the state to CLOSING and start the closing handshake.
1502         (WebCore::WebSocket::bufferedAmount):
1503         If the state is CLOSING, we need to consider buffered data in m_channel and sent after close().
1504         (WebCore::WebSocket::didConnect):
1505         (WebCore::WebSocket::didReceiveMessage):
1506         We need to invoke message event in CLOSING state as well as OPEN state.
1507         (WebCore::WebSocket::didReceiveMessageError):
1508         (WebCore::WebSocket::didStartClosingHandshake):
1509         (WebCore::WebSocket::didClose):
1510         * websockets/WebSocket.h:
1511         * websockets/WebSocketChannel.cpp:
1512         (WebCore::WebSocketChannel::WebSocketChannel):
1513         (WebCore::WebSocketChannel::close):
1514         Start the closing handshake.
1515         (WebCore::WebSocketChannel::disconnect):
1516         Disconnect the socket stream, instead of close.
1517         (WebCore::WebSocketChannel::didClose):
1518         (WebCore::WebSocketChannel::didReceiveData): Ditto.
1519         (WebCore::WebSocketChannel::didFail): Ditto.
1520         (WebCore::WebSocketChannel::processBuffer):
1521         Ditto.
1522         Handle 0xFF 0x00 byte sequence, and discard received data once the closing handshake has started.
1523         (WebCore::WebSocketChannel::startClosingHandshake):
1524         Send 0xFF 0x00 byte sequence.
1525         (WebCore::WebSocketChannel::closingTimerFired):
1526         Disconnect the socket stream if the closing handshake has timed out.
1527         * websockets/WebSocketChannel.h:
1528         m_closing is true if "the WebSocket closing handshake has started" (as stated in the protocol
1529         specification).
1530         * websockets/WebSocketChannelClient.h:
1531         (WebCore::WebSocketChannelClient::didStartClosingHandshake): Added.
1532         (WebCore::WebSocketChannelClient::didClose): Add closingHandshakeCompletion parameter.
1533         * websockets/WorkerThreadableWebSocketChannel.cpp:
1534         Add closingHandshakeCompletion parameter to didClose(), and add didStartClosingHandshake().
1535         (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
1536         (WebCore::workerContextDidStartClosingHandshake):
1537         (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
1538         (WebCore::workerContextDidClose):
1539         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
1540         * websockets/WorkerThreadableWebSocketChannel.h:
1541
1542 2011-05-29  Adam Barth  <abarth@webkit.org>
1543
1544         Attempt to fix build by implementing pure virtual function.
1545
1546         * html/shadow/MediaControlRootElementChromium.cpp:
1547         (WebCore::MediaControlRootElementChromium::shouldHideControls):
1548         * html/shadow/MediaControlRootElementChromium.h:
1549
1550 2011-05-29  Brian Weinstein  <bweinstein@apple.com>
1551
1552         Reviewed by Darin Adler.
1553
1554         Controls never hide in full screen after user stops moving mouse
1555         https://bugs.webkit.org/show_bug.cgi?id=61715
1556         <rdar://problem/9522182>
1557         
1558         When we get a mouse move event in HTMLMediaElement::defaultEventHandler, and we are in full screen,
1559         show the media controls, and then start a timer.
1560         
1561         The timer fires 3 seconds after the user's last mouse movement (timer is restarted on every mouse
1562         move), and hides the controls.
1563
1564         * html/HTMLMediaElement.cpp:
1565         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize our new timer.
1566         (WebCore::HTMLMediaElement::play): If we are in full screen mode, start our timer to hide the full screen
1567             controls. We don't want the user to have to move the mouse to hide them when they use the spacebar
1568             to play.
1569         (WebCore::HTMLMediaElement::startHideFullscreenControlsTimer): Starts a oneshot timer 3 seconds in the future
1570             if we are in full screen.
1571         (WebCore::HTMLMediaElement::hideFullscreenControlsTimerFired): Make sure that we are currently playing, and
1572             we are in full screen, and hide the controls. We don't want to hide the controls if we are paused.
1573         (WebCore::HTMLMediaElement::stopHideFullscreenControlsTimer): Stops the timer.
1574         (WebCore::HTMLMediaElement::defaultEventHandler): If we get a mouse move event and are in full screen, show the
1575             controls and start a timer to hide them.
1576         (WebCore::HTMLMediaElement::enterFullscreen): Start a timer to hide the full screen controls. The user shouldn't
1577             have the move the mouse once they enter full screen to hide the controls.
1578         (WebCore::HTMLMediaElement::exitFullscreen): Stop the timer to hide the full screen controls.
1579         * html/HTMLMediaElement.h:
1580         * html/shadow/MediaControls.h: Added pure virtual shouldHideControls() method.
1581         * html/shadow/MediaControlRootElement.cpp:
1582         (WebCore::MediaControlRootElement::playbackStopped): Stop the timer to hide the full screen controls.
1583         (WebCore::MediaControlRootElement::shouldHideControls): Added, only report that
1584             the caller should hide the controls if the panel is not hovered.
1585         * html/shadow/MediaControlRootElement.h:
1586
1587 2011-05-29  Jer Noble  <jer.noble@apple.com>
1588
1589         Reviewed by Simon Fraser.
1590
1591         Embedded Vimeo video, when taken fullscreen, is overlapped by content from the enclosing page
1592         https://bugs.webkit.org/show_bug.cgi?id=61712
1593
1594         Tests: fullscreen/full-screen-iframe-zIndex.html
1595
1596         Walk up the ancestor chain for the full-screen element, marking them as full-screen
1597         ancestors. Then, we apply a pseudo-class to those elements, which disable all their
1598         stacking-context-creating styles.  Set the z-index of all full-screen elements (and
1599         the iframes which contain them) to a large value, ensuring they appear above other
1600         sibling elements.
1601
1602         This new behavior replaces the previous "-webkit-full-screen-media-document" behavior
1603         and pesudo-class, so remove it and replace it with the new pseudo-class.
1604
1605         * css/CSSSelector.cpp:
1606         (WebCore::nameToPseudoTypeMap): Add -webkit-full-screen-ancestor and remove
1607             -webkit-full-screen-media-document.
1608         (WebCore::CSSSelector::pseudoId): Add PseudoFullScreenAncestor and remove
1609             PseudoFullScreenMediaDocument
1610         (WebCore::CSSSelector::extractPseudoType): Ditto.
1611         * css/CSSSelector.h: Ditto.
1612         * css/CSSStyleSelector.cpp:
1613         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Remove the
1614             PseudoFullScreenMediaDocument implementation and replace it with
1615             PseudoFullScreenAncestor.
1616         * css/fullscreen.css:
1617         (:-webkit-full-screen): Add a z-index property.
1618         (:-webkit-full-screen-ancestor:not(iframe)): Added.  Reset the z-index to
1619             auto, and reset other stacking-context creating properties.
1620         * dom/Document.cpp:
1621         (WebCore::Document::setContainsFullScreenElementRecursively): Recurse up every element
1622             instead of just the iframe elements.
1623         (WebCore::Document::webkitWillEnterFullScreenForElement): Ditto.
1624         * dom/Element.cpp:
1625         (WebCore::Element::willRemove): Reset our parent's containsFullScreenElement property.
1626         (WebCore::Element::insertedIntoTree): Ditto.
1627         (WebCore::Element::containsFullScreenElement): Moved here from HTMLElementBase.
1628         (WebCore::Element::setContainsFullScreenElement): Ditto.
1629         * dom/Element.h:
1630         * dom/ElementRareData.h:
1631         (WebCore::ElementRareData::ElementRareData): Added ivar and initializer for 
1632             m_containsFullScreenElement.
1633         * html/HTMLFrameElementBase.cpp:
1634         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed ivar and initializer.
1635         (WebCore::HTMLFrameElementBase::setContainsFullScreenElement): Moved into Element.
1636         * html/HTMLFrameElementBase.h:
1637         * rendering/style/RenderStyleConstants.h:
1638
1639 2011-05-29  Dan Bernstein  <mitz@apple.com>
1640
1641         Reviewed by Darin Adler.
1642
1643         <rdar://problem/9515650> 30 second rewind button obscured in fullscreen controller when video uses custom inline controls
1644         https://bugs.webkit.org/show_bug.cgi?id=61714
1645
1646         * dom/Document.cpp:
1647         (WebCore::Document::webkitDidEnterFullScreenForElement): Call didBecomeFullscreenElement() on the
1648         new full screen element.
1649         (WebCore::Document::webkitWillExitFullScreenForElement): Call willStopBeingFullscreenElement() on
1650         the full screen element.
1651         * dom/Element.h:
1652         (WebCore::Element::didBecomeFullscreenElement): Added with a default implementation that does nothing.
1653         (WebCore::Element::willStopBeingFullscreenElement): Ditto.
1654         * html/HTMLMediaElement.cpp:
1655         (WebCore::HTMLMediaElement::didBecomeFullscreenElement): Added this override, which calls
1656         MediaControls::enteredFullscreen().
1657         (WebCore::HTMLMediaElement::willStopBeingFullscreenElement): Added this override, which calls
1658         MediaControls::exitedFullscreen().
1659         * html/HTMLMediaElement.h:
1660         * html/shadow/MediaControlElements.cpp:
1661         (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Removed calls to
1662         enteredFullscreen() and exitedFullscreen() from here, since they are now called in response to
1663         changes to the fullscreen-ness of the element.
1664
1665 2011-05-29  Darin Adler  <darin@apple.com>
1666
1667         Reviewed by Kevin Decker.
1668
1669         REGRESSION (r87622): In media documents, clicking the full screen button and the play button pauses the video
1670         https://bugs.webkit.org/show_bug.cgi?id=61713
1671
1672         We need to come up with a way to regression-test these changes. Nothing at the moment.
1673
1674         The bug is that we removed calls to preventDefault, but we still do need to prevent
1675         default handling of this event.
1676
1677         * html/shadow/MediaControlElements.cpp:
1678         (WebCore::MediaControlElement::preDispatchEventHandler): Add back the preventDefault
1679         that was in here before r87622 as well as the stopPropagation that was added in r87622.
1680         (WebCore::MediaControlMuteButtonElement::preDispatchEventHandler): Ditto.
1681         (WebCore::MediaControlPlayButtonElement::preDispatchEventHandler): Ditto.
1682         (WebCore::MediaControlSeekButtonElement::preDispatchEventHandler): Ditto.
1683         (WebCore::MediaControlRewindButtonElement::preDispatchEventHandler): Ditto.
1684         (WebCore::MediaControlReturnToRealtimeButtonElement::preDispatchEventHandler): Ditto.
1685         (WebCore::MediaControlToggleClosedCaptionsButtonElement::preDispatchEventHandler): Ditto.
1686         (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Ditto.
1687         (WebCore::MediaControlFullscreenVolumeMinButtonElement::preDispatchEventHandler): Ditto.
1688         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::preDispatchEventHandler): Ditto.
1689
1690 2011-05-29  Andreas Kling  <kling@webkit.org>
1691
1692         Reviewed by Kenneth Rohde Christiansen.
1693
1694         Element: Micro-cleanup of scroll methods.
1695         https://bugs.webkit.org/show_bug.cgi?id=61705
1696
1697         Do an early return without calculating element boundaries when asked
1698         to scroll an element without a renderer().
1699
1700         * dom/Element.cpp:
1701         (WebCore::Element::scrollIntoView):
1702         (WebCore::Element::scrollIntoViewIfNeeded):
1703         (WebCore::Element::scrollByUnits):
1704
1705 2011-05-29  Darin Adler  <darin@apple.com>
1706
1707         Reviewed by Dan Bernstein.
1708
1709         Fix assertion seen when entering full screen mode for standalone video
1710         https://bugs.webkit.org/show_bug.cgi?id=61708
1711
1712         We don't currently have a way to make a regression test for this.
1713
1714         * dom/Document.cpp:
1715         (WebCore::Document::setAnimatingFullScreen): Call scheduleForcedStyleRecalc,
1716         because scheduleStyleRecalc is intended to only be called when the style
1717         system itself detects recalc is needed.
1718
1719 2011-05-27  Andreas Kling  <kling@webkit.org>
1720
1721         Reviewed by James Robinson.
1722
1723         [Qt] Add area check to ImageBufferData::getImageData()
1724         https://bugs.webkit.org/show_bug.cgi?id=61375
1725
1726         No change in behavior, just a sanity check.
1727
1728         * platform/graphics/qt/ImageBufferQt.cpp:
1729         (WebCore::getImageData):
1730
1731 2011-05-29  Beth Dakin  <bdakin@apple.com>
1732
1733         Reviewed by Darin Adler.
1734
1735         https://bugs.webkit.org/show_bug.cgi?id=61700
1736         Need WebKit2 API to get the size of the render tree
1737         -and corresponding-
1738         <rdar://problem/9512733>
1739
1740         New member variable on RenderArena keeps track of the current amount of memory 
1741         allocated in the arena. The new client function sends this piece of data to 
1742         WebKit.
1743         * page/ChromeClient.h:
1744         (WebCore::ChromeClient::setRenderTreeSize):
1745         * page/FrameView.cpp:
1746         (WebCore::FrameView::performPostLayoutTasks):
1747         * rendering/RenderArena.cpp:
1748         (WebCore::RenderArena::RenderArena):
1749         (WebCore::RenderArena::allocate):
1750         (WebCore::RenderArena::free):
1751         * rendering/RenderArena.h:
1752         (WebCore::RenderArena::totalRenderArenaSize):
1753
1754 2011-05-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1755
1756         Unreviewed, rolling out r87566.
1757         http://trac.webkit.org/changeset/87566
1758         https://bugs.webkit.org/show_bug.cgi?id=61702
1759
1760         It made all tests assert on Qt in debug mode (Requested by
1761         Ossy_weekend on #webkit).
1762
1763         * WebCore.exp.in:
1764         * bindings/ScriptControllerBase.cpp:
1765         (WebCore::ScriptController::executeIfJavaScriptURL):
1766         * dom/Document.cpp:
1767         (WebCore::Document::Document):
1768         (WebCore::Document::suggestedMIMEType):
1769         (WebCore::Document::lastModified):
1770         (WebCore::Document::initSecurityContext):
1771         (WebCore::Document::updateURLForPushOrReplaceState):
1772         * dom/Document.h:
1773         (WebCore::Document::setDocumentLoader):
1774         (WebCore::Document::loader):
1775         * html/MediaDocument.cpp:
1776         (WebCore::MediaDocument::replaceMediaElementTimerFired):
1777         * html/PluginDocument.cpp:
1778         (WebCore::PluginDocumentParser::createDocumentStructure):
1779         * platform/mac/HTMLConverter.mm:
1780         (fileWrapperForElement):
1781
1782 2011-05-28  Steve Falkenburg  <sfalken@apple.com>
1783
1784         Reviewed by Dan Bernstein.
1785
1786         Don't add sub-frames to global history when navigating via back/forward
1787         https://bugs.webkit.org/show_bug.cgi?id=61701
1788         <rdar://problem/9521222>
1789
1790         Instead of just checking whether the load is the first in the frame, we also need to
1791         check to make sure we're loading in the main frame.
1792
1793         Not testable due to lack of global history infrastructure in DRT.
1794
1795         * loader/FrameLoader.cpp:
1796         (WebCore::FrameLoader::transitionToCommitted):
1797
1798 2011-05-28  Alexey Proskuryakov  <ap@apple.com>
1799
1800         Suggested by Simon Fraser.
1801
1802         REGRESSION (r85375): Load event is sometimes lost when multiple image elements use the same URL
1803         https://bugs.webkit.org/show_bug.cgi?id=61692
1804         <rdar://problem/9488628>
1805
1806         * loader/ImageLoader.cpp: (WebCore::ImageLoader::notifyFinished): There was no need to use
1807         ASSERT_UNUSED here.
1808
1809 2011-05-28  Alexey Proskuryakov  <ap@apple.com>
1810
1811         Reviewed by Geoff Garen.
1812
1813         REGRESSION (r85375): Load event is sometimes lost when multiple image elements use the same URL
1814         https://bugs.webkit.org/show_bug.cgi?id=61692
1815         <rdar://problem/9488628>
1816
1817         Test: fast/dom/gc-image-element-2.html
1818
1819         Manually verified that tests from bug 59604 and from bug 40926 still pass.
1820
1821         The problem here was that HTMLImageElement::hasPendingActivity() could return false when
1822         a load (or error) event was still expected to fire.
1823
1824         * loader/cache/CachedResource.cpp:
1825         (WebCore::CachedResource::setRequest):
1826         * loader/cache/CachedResource.h:
1827         (WebCore::CachedResource::wasCanceled):
1828         (WebCore::CachedResource::errorOccurred):
1829         Track whether the load was canceled. We want to always notify clients of load outcome,
1830         as that's the only way they could make intelligent decisions.
1831
1832         * dom/ScriptElement.cpp: (WebCore::ScriptElement::execute): Cached resource clients now
1833         get a notifyFinished call on cancellation. Handle this case, where we don't need the
1834         execute the script, but also don't need to fire an error event.
1835
1836         * html/HTMLImageElement.cpp: Moved hasPendingActivity() to header, since it's just a single
1837         function call now.
1838
1839         * html/HTMLImageElement.h: (WebCore::HTMLImageElement::hasPendingActivity): There is a large
1840         window between when CachedResource::isLoading() becomes false and events are queued.
1841         ImageLoader::haveFiredLoadEvent() is a much better indication of whether we are expecting
1842         an event to fire.
1843
1844         * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::onloadTimerFired): Again, don't do
1845         anything on cancellation.
1846
1847         * loader/ImageLoader.cpp:
1848         (WebCore::ImageEventSender::hasPendingEvents): Made it debug-only again, and fixed to
1849         give an accurate result while looping over the list of events to dispatch.
1850         (WebCore::ImageLoader::notifyFinished): Don't do anything when cancelled. We don't want to
1851         switch to a broken image icon, or to dispatch events.
1852         (WebCore::ImageEventSender::dispatchPendingEvents): Clear the current loader from dispatching
1853         list, as the event is no longer pending when it's being dispatched.
1854
1855         * loader/ImageLoader.h: Removed unnecessary hasPendingLoadEvent(). We don't care whether one
1856         is already pending, we only care if one is expected at some time in the future, and
1857         !haveFiredLoadEvent() is our best idea of that.
1858
1859         * dom/XMLDocumentParser.cpp: (WebCore::XMLDocumentParser::notifyFinished): Another place to
1860         handle cancellation.
1861
1862 2011-05-28  Adam Barth  <abarth@webkit.org>
1863
1864         Reviewed by Alexey Proskuryakov.
1865
1866         Audit all uses of KURL::prettyURL
1867         https://bugs.webkit.org/show_bug.cgi?id=61201
1868
1869         As far as I can tell, all the callers of this API are confused.  There
1870         seems to be a cargo cult of using the "pretty" version of a URL, but in
1871         reality folks just want the URL itself.  The only case I'm unsure about
1872         is location.href, which could have some compatibility constraints.
1873         I've renamed prettyURL to deprecatedString to discourage folks from
1874         further cargo-culting.
1875
1876         * WebCore.exp.in:
1877         * page/Location.cpp:
1878         (WebCore::Location::href):
1879         (WebCore::Location::toString):
1880         * platform/KURL.cpp:
1881         (WebCore::KURL::deprecatedString):
1882         * platform/KURL.h:
1883         * platform/KURLGoogle.cpp:
1884         (WebCore::KURL::deprecatedString):
1885         * platform/network/soup/ResourceHandleSoup.cpp:
1886         (WebCore::ResourceHandle::prepareForURL):
1887         * workers/WorkerLocation.cpp:
1888         (WebCore::WorkerLocation::href):
1889         (WebCore::WorkerLocation::toString):
1890
1891 2011-05-28  Jer Noble  <jer.noble@apple.com>
1892
1893         Reviewed by Maciej Stachowiak.
1894
1895         Mouse clicks propagate outside full-screen media controls.
1896         https://bugs.webkit.org/show_bug.cgi?id=61689
1897
1898         Mouse click events are propagating out of the media controls, so mouse click
1899         listeners registered on the video element are getting fired when the user
1900         clicks on media controller buttons.  By default, block propagation of click 
1901         events from MediaControlElements by overriding preDispatchEventHandler, and
1902         convert all instances of defaultEventHandler -> preDispatchEventHandler.  Change
1903         all calls of event->setDefaultHandled() to event->stopPropagation().
1904
1905         * html/shadow/MediaControlElements.cpp:
1906         (WebCore::MediaControlElement::preDispatchEventHandler): Added.  Block 
1907             propagation of all mouse click events.
1908         (WebCore::MediaControlVolumeSliderContainerElement::preDispatchEventHandler):
1909             Renamed from setDefaultHandled.
1910         (WebCore::MediaControlMuteButtonElement::preDispatchEventHandler): Ditto.
1911         (WebCore::MediaControlPanelMuteButtonElement::preDispatchEventHandler): Ditto.
1912         (WebCore::MediaControlPlayButtonElement::preDispatchEventHandler): Ditto.
1913         (WebCore::MediaControlSeekButtonElement::preDispatchEventHandler): Ditto.
1914         (WebCore::MediaControlRewindButtonElement::preDispatchEventHandler): Ditto.
1915         (WebCore::MediaControlReturnToRealtimeButtonElement::preDispatchEventHandler): Ditto.
1916         (WebCore::MediaControlToggleClosedCaptionsButtonElement::preDispatchEventHandler): Ditto.
1917         (WebCore::MediaControlTimelineElement::preDispatchEventHandler): Ditto.
1918         (WebCore::MediaControlVolumeSliderElement::preDispatchEventHandler): Ditto.
1919         (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Ditto.
1920         (WebCore::MediaControlFullscreenVolumeMinButtonElement::preDispatchEventHandler): Ditto.
1921         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::preDispatchEventHandler): Ditto.
1922         * html/shadow/MediaControlElements.h:
1923
1924 2011-05-28  Gavin Peters  <gavinp@chromium.org>
1925
1926         Reviewed by Adam Barth.
1927
1928         prevent HTMLLinkElement from watching multiple CachedResources
1929         https://bugs.webkit.org/show_bug.cgi?id=61686
1930
1931         If we modify an existing link element, stop listening to the previous
1932         cached resource, to prevent double notifications (which crash).
1933
1934         Test: fast/dom/HTMLLinkElement/prefetch-too-many-clients.html
1935
1936         * html/HTMLLinkElement.cpp:
1937         (WebCore::HTMLLinkElement::process):
1938
1939 2011-05-28  Tonis Tiigi  <tonistiigi@gmail.com>
1940
1941         Reviewed by Pavel Feldman.
1942
1943         Web Inspector: there is a problem with computed style properties with wrong values
1944         https://bugs.webkit.org/show_bug.cgi?id=60535
1945
1946         * inspector/front-end/StylesSidebarPane.js:
1947         (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
1948         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
1949
1950 2011-05-26  Antonio Gomes  <agomes@rim.com>
1951
1952         Reviewed by Andreas Kling.
1953
1954         Logic error in WebCore/Page/SpatialNavigation.cpp::areRectsPartiallyAligned
1955         https://bugs.webkit.org/show_bug.cgi?id=61606
1956
1957         Removed duplicated statement within if condition.
1958
1959         No new tests. Obvious clean up patch.
1960
1961         * page/SpatialNavigation.cpp:
1962         (WebCore::areRectsPartiallyAligned):
1963
1964 2011-05-27  Simon Fraser  <simon.fraser@apple.com>
1965
1966         Reviewed by Dan Bernstein.
1967
1968         CG BitmapImage needs to check for valid CGImage in a couple of places
1969         https://bugs.webkit.org/show_bug.cgi?id=61684
1970         <rdar://problem/9519348>
1971
1972         BitmapImage::getCGImageArray() can throw an exception if frameAtIndex()
1973         returns null, which it may do if the image is corrupted or still
1974         loading. Protect against that here and in getFirstCGImageRefOfSize().
1975
1976         * platform/graphics/cg/ImageCG.cpp:
1977         (WebCore::BitmapImage::getFirstCGImageRefOfSize):
1978         (WebCore::BitmapImage::getCGImageArray):
1979
1980 2011-05-27  Jochen Eisinger  <jochen@chromium.org>
1981
1982         Reviewed by Adam Barth.
1983
1984         Add Frame parameter to all StorageArea methods. The chromium
1985         embedder uses the Frame as context to decide whether or not
1986         to allow usage of the storage API.
1987         https://bugs.webkit.org/show_bug.cgi?id=61581
1988
1989         Test: platform/chromium/permissionclient/storage-permission.html
1990
1991         * storage/Storage.cpp:
1992         (WebCore::Storage::length):
1993         (WebCore::Storage::key):
1994         (WebCore::Storage::getItem):
1995         (WebCore::Storage::contains):
1996         * storage/StorageArea.h:
1997         * storage/StorageAreaImpl.cpp:
1998         (WebCore::StorageAreaImpl::length):
1999         (WebCore::StorageAreaImpl::key):
2000         (WebCore::StorageAreaImpl::getItem):
2001         (WebCore::StorageAreaImpl::contains):
2002         * storage/StorageAreaImpl.h:
2003
2004 2011-05-27  Nate Chapin  <japhet@chromium.org>
2005
2006         Reviewed by Jian Li.
2007
2008         Keep a reference to BlobResourceHandle before calling doNotifyFinish()
2009         asynchronously to ensure it's still safe in the main thread.
2010
2011         https://bugs.webkit.org/show_bug.cgi?id=61669
2012
2013         I triggered this crash in fast/files/file-reader-abort.html during a
2014         refactor that changed timings slightly.
2015
2016         * platform/network/BlobResourceHandle.cpp:
2017         (WebCore::doNotifyFinish):
2018         (WebCore::BlobResourceHandle::notifyFinish):
2019         * platform/network/BlobResourceHandle.h:
2020         (WebCore::BlobResourceHandle::aborted):
2021
2022 2011-05-27  Stephanie Lewis  <slewis@apple.com>
2023
2024         Unreviewed.
2025
2026         Fix a typo in the order_file flag.
2027
2028         * Configurations/Base.xcconfig:
2029
2030 2011-05-27  Anders Carlsson  <andersca@apple.com>
2031
2032         Reviewed by Sam Weinig.
2033
2034         Always use the default localization strategy
2035         https://bugs.webkit.org/show_bug.cgi?id=61670
2036         <rdar://problem/9516130>
2037
2038         Always use the default localization strategy when there's no platform strategy.
2039
2040         * platform/DefaultLocalizationStrategy.cpp:
2041         (WebCore::DefaultLocalizationStrategy::shared):
2042         * platform/DefaultLocalizationStrategy.h:
2043         * platform/LocalizedStrings.cpp:
2044         (WebCore::inputElementAltText):
2045         (WebCore::resetButtonDefaultLabel):
2046         (WebCore::searchableIndexIntroduction):
2047         (WebCore::submitButtonDefaultLabel):
2048         (WebCore::fileButtonChooseFileLabel):
2049         (WebCore::fileButtonNoFileSelectedLabel):
2050         (WebCore::defaultDetailsSummaryText):
2051         (WebCore::copyImageUnknownFileLabel):
2052         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
2053         (WebCore::contextMenuItemTagDownloadLinkToDisk):
2054         (WebCore::contextMenuItemTagCopyLinkToClipboard):
2055         (WebCore::contextMenuItemTagOpenImageInNewWindow):
2056         (WebCore::contextMenuItemTagDownloadImageToDisk):
2057         (WebCore::contextMenuItemTagCopyImageToClipboard):
2058         (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
2059         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
2060         (WebCore::contextMenuItemTagCopy):
2061         (WebCore::contextMenuItemTagGoBack):
2062         (WebCore::contextMenuItemTagGoForward):
2063         (WebCore::contextMenuItemTagStop):
2064         (WebCore::contextMenuItemTagReload):
2065         (WebCore::contextMenuItemTagCut):
2066         (WebCore::contextMenuItemTagPaste):
2067         (WebCore::contextMenuItemTagSelectAll):
2068         (WebCore::contextMenuItemTagNoGuessesFound):
2069         (WebCore::contextMenuItemTagIgnoreSpelling):
2070         (WebCore::contextMenuItemTagLearnSpelling):
2071         (WebCore::contextMenuItemTagSearchInSpotlight):
2072         (WebCore::contextMenuItemTagSearchWeb):
2073         (WebCore::contextMenuItemTagLookUpInDictionary):
2074         (WebCore::contextMenuItemTagOpenLink):
2075         (WebCore::contextMenuItemTagIgnoreGrammar):
2076         (WebCore::contextMenuItemTagSpellingMenu):
2077         (WebCore::contextMenuItemTagShowSpellingPanel):
2078         (WebCore::contextMenuItemTagCheckSpelling):
2079         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
2080         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2081         (WebCore::contextMenuItemTagFontMenu):
2082         (WebCore::contextMenuItemTagShowFonts):
2083         (WebCore::contextMenuItemTagBold):
2084         (WebCore::contextMenuItemTagItalic):
2085         (WebCore::contextMenuItemTagUnderline):
2086         (WebCore::contextMenuItemTagOutline):
2087         (WebCore::contextMenuItemTagStyles):
2088         (WebCore::contextMenuItemTagShowColors):
2089         (WebCore::contextMenuItemTagSpeechMenu):
2090         (WebCore::contextMenuItemTagStartSpeaking):
2091         (WebCore::contextMenuItemTagStopSpeaking):
2092         (WebCore::contextMenuItemTagWritingDirectionMenu):
2093         (WebCore::contextMenuItemTagTextDirectionMenu):
2094         (WebCore::contextMenuItemTagDefaultDirection):
2095         (WebCore::contextMenuItemTagLeftToRight):
2096         (WebCore::contextMenuItemTagRightToLeft):
2097         (WebCore::contextMenuItemTagCorrectSpellingAutomatically):
2098         (WebCore::contextMenuItemTagSubstitutionsMenu):
2099         (WebCore::contextMenuItemTagShowSubstitutions):
2100         (WebCore::contextMenuItemTagSmartCopyPaste):
2101         (WebCore::contextMenuItemTagSmartQuotes):
2102         (WebCore::contextMenuItemTagSmartDashes):
2103         (WebCore::contextMenuItemTagSmartLinks):
2104         (WebCore::contextMenuItemTagTextReplacement):
2105         (WebCore::contextMenuItemTagTransformationsMenu):
2106         (WebCore::contextMenuItemTagMakeUpperCase):
2107         (WebCore::contextMenuItemTagMakeLowerCase):
2108         (WebCore::contextMenuItemTagCapitalize):
2109         (WebCore::contextMenuItemTagChangeBack):
2110         (WebCore::contextMenuItemTagOpenVideoInNewWindow):
2111         (WebCore::contextMenuItemTagOpenAudioInNewWindow):
2112         (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
2113         (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
2114         (WebCore::contextMenuItemTagToggleMediaControls):
2115         (WebCore::contextMenuItemTagToggleMediaLoop):
2116         (WebCore::contextMenuItemTagEnterVideoFullscreen):
2117         (WebCore::contextMenuItemTagMediaPlay):
2118         (WebCore::contextMenuItemTagMediaPause):
2119         (WebCore::contextMenuItemTagMediaMute):
2120         (WebCore::contextMenuItemTagInspectElement):
2121         (WebCore::searchMenuNoRecentSearchesText):
2122         (WebCore::searchMenuRecentSearchesText):
2123         (WebCore::searchMenuClearRecentSearchesText):
2124         (WebCore::AXWebAreaText):
2125         (WebCore::AXLinkText):
2126         (WebCore::AXListMarkerText):
2127         (WebCore::AXImageMapText):
2128         (WebCore::AXHeadingText):
2129         (WebCore::AXDefinitionListTermText):
2130         (WebCore::AXDefinitionListDefinitionText):
2131         (WebCore::AXARIAContentGroupText):
2132         (WebCore::AXButtonActionVerb):
2133         (WebCore::AXRadioButtonActionVerb):
2134         (WebCore::AXTextFieldActionVerb):
2135         (WebCore::AXCheckedCheckBoxActionVerb):
2136         (WebCore::AXUncheckedCheckBoxActionVerb):
2137         (WebCore::AXLinkActionVerb):
2138         (WebCore::AXMenuListPopupActionVerb):
2139         (WebCore::AXMenuListActionVerb):
2140         (WebCore::missingPluginText):
2141         (WebCore::crashedPluginText):
2142         (WebCore::multipleFileUploadText):
2143         (WebCore::unknownFileSizeText):
2144         (WebCore::uploadFileText):
2145         (WebCore::allFilesText):
2146         (WebCore::keygenMenuItem512):
2147         (WebCore::keygenMenuItem1024):
2148         (WebCore::keygenMenuItem2048):
2149         (WebCore::keygenKeychainItemName):
2150         (WebCore::imageTitle):
2151         (WebCore::mediaElementLoadingStateText):
2152         (WebCore::mediaElementLiveBroadcastStateText):
2153         (WebCore::localizedMediaControlElementString):
2154         (WebCore::localizedMediaControlElementHelpText):
2155         (WebCore::localizedMediaTimeDescription):
2156         (WebCore::validationMessageValueMissingText):
2157         (WebCore::validationMessageValueMissingForCheckboxText):
2158         (WebCore::validationMessageValueMissingForFileText):
2159         (WebCore::validationMessageValueMissingForMultipleFileText):
2160         (WebCore::validationMessageValueMissingForRadioText):
2161         (WebCore::validationMessageValueMissingForSelectText):
2162         (WebCore::validationMessageTypeMismatchText):
2163         (WebCore::validationMessageTypeMismatchForEmailText):
2164         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2165         (WebCore::validationMessageTypeMismatchForURLText):
2166         (WebCore::validationMessagePatternMismatchText):
2167         (WebCore::validationMessageTooLongText):
2168         (WebCore::validationMessageRangeUnderflowText):
2169         (WebCore::validationMessageRangeOverflowText):
2170         (WebCore::validationMessageStepMismatchText):
2171
2172 2011-05-27  Brady Eidson  <beidson@apple.com>
2173
2174         Reviewed by Darin Adler.
2175
2176         First swipe at resolving <rdar://problem/9125145> and https://bugs.webkit.org/show_bug.cgi?id=61494
2177         
2178         Make the Document be intelligent about returning its DocumentLoader, including the possibility that
2179         the DocumentLoader will be null.
2180
2181         No new tests. No change in behavior.
2182
2183         Instead of storing the DocumentLoader at construction and never changing it,
2184         always calculate it based on the FrameLoader's current DocumentLoader:
2185         * dom/Document.cpp:
2186         (WebCore::Document::Document):
2187         (WebCore::Document::suggestedMIMEType):
2188         (WebCore::Document::lastModified):
2189         (WebCore::Document::initSecurityContext):
2190         (WebCore::Document::updateURLForPushOrReplaceState):
2191         (WebCore::Document::loader):
2192         * dom/Document.h:
2193
2194         Null-check or ASSERT that the DocumentLoader exists (or both) depending on the scenario:
2195         * bindings/ScriptControllerBase.cpp:
2196         (WebCore::ScriptController::executeIfJavaScriptURL):
2197         * html/MediaDocument.cpp:
2198         (WebCore::MediaDocument::replaceMediaElementTimerFired):
2199         * html/PluginDocument.cpp:
2200         (WebCore::PluginDocumentParser::createDocumentStructure):
2201         * platform/mac/HTMLConverter.mm:
2202         (fileWrapperForElement):
2203
2204         * WebCore.exp.in:
2205
2206 2011-05-27  Jer Noble  <jer.noble@apple.com>
2207
2208         Reviewed by Maciej Stachowiak.
2209
2210         30 second rewind button obscured in fullscreen controller
2211         https://bugs.webkit.org/show_bug.cgi?id=61663
2212
2213         If reset() is called while in full-screen mode, make sure to show and hide
2214         the correct controls for that mode.
2215
2216         * html/shadow/MediaControlRootElement.cpp:
2217         (WebCore::MediaControlRootElement::reset):
2218
2219 2011-05-27  James Robinson  <jamesr@chromium.org>
2220
2221         Reviewed by Simon Fraser.
2222
2223         GraphicsLayers for overflow controls on iframe without clipping layer left out of layer tree
2224         https://bugs.webkit.org/show_bug.cgi?id=61590
2225
2226         Adds overflow control layers to the compositor tree for layers without clipping layers regardless of whether the
2227         backing is parented.  This ensures that the scroll corner layer for an iframe without a clipping layer ends up
2228         in the final layer tree.  We don't currently render resizers for iframes, but we will soon and this keeps the
2229         graphics layer tree consistent.
2230
2231         Test: compositing/iframes/resizer.html
2232
2233         * rendering/RenderLayerCompositor.cpp:
2234         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2235
2236 2011-05-27  Adam Barth  <abarth@webkit.org>
2237
2238         Reviewed by Eric Seidel.
2239
2240         HTMLVideoElement::currentSrc() should return a KURL
2241         https://bugs.webkit.org/show_bug.cgi?id=61578
2242
2243         I suspect we got into this mess because the author of this code didn't
2244         know about the URL attribute in WebKit IDL, which is super useful!
2245
2246         Bad news: The line of code in question seems to have another bug, which
2247         I've documented in a FIXME.  Let the yak shaving continue!
2248
2249         * html/HTMLMediaElement.cpp:
2250         (WebCore::urlForLogging):
2251         (WebCore::HTMLMediaElement::loadResource):
2252         (WebCore::HTMLMediaElement::isSafeToLoadURL):
2253         (WebCore::HTMLMediaElement::selectNextSourceChild):
2254         (WebCore::HTMLMediaElement::getPluginProxyParams):
2255         * html/HTMLMediaElement.h:
2256         (WebCore::HTMLMediaElement::currentSrc):
2257         (WebCore::HTMLMediaElement::currentURL):
2258         * html/canvas/CanvasRenderingContext.cpp:
2259         (WebCore::CanvasRenderingContext::checkOrigin):
2260         * rendering/HitTestResult.cpp:
2261         (WebCore::HitTestResult::absoluteMediaURL):
2262             - This complete URL call was unnecessary because currentSrc is
2263               already absolute.
2264
2265 2011-05-27  Mikhail Naganov  <mnaganov@chromium.org>
2266
2267         Reviewed by Pavel Feldman.
2268
2269         Web Inspector: [Chromium] Add support for showing URL of DOMWindow in heap profiles.
2270         https://bugs.webkit.org/show_bug.cgi?id=61177
2271
2272         * inspector/front-end/HeapSnapshot.js:
2273         (WebInspector.HeapSnapshotNode.prototype.get className):
2274
2275 2011-05-27  Nikolas Zimmermann  <nzimmermann@rim.com>
2276
2277         Rubber-stamped by Rob Buis.
2278
2279         embedded SVG object doesn't scale right
2280         https://bugs.webkit.org/show_bug.cgi?id=10526
2281
2282         Fixes crash in svg/custom/immutable-properties.html, seen on the bots.
2283
2284         * svg/SVGLength.cpp:
2285         (WebCore::SVGLength::determineViewport): Oops forgot to merge-in a null check before landing.
2286
2287 2011-05-27  Nikolas Zimmermann  <nzimmermann@rim.com>
2288
2289         Reviewed by Rob Buis.
2290
2291         embedded SVG object doesn't scale right
2292         https://bugs.webkit.org/show_bug.cgi?id=10526
2293
2294         <object> tags should treat width/height on a referenced SVG as intrinsic width/height
2295         https://bugs.webkit.org/show_bug.cgi?id=11976
2296
2297         Incorrect handling of percentage values for width/height on embedded elements
2298         https://bugs.webkit.org/show_bug.cgi?id=14793
2299
2300         WebKit fails some WICD 1.0 core test cases
2301         https://bugs.webkit.org/show_bug.cgi?id=15836 (partially fixed, all 'rightsizing' tests are fixed)
2302
2303         CSS 2.1: Support replaced elements with relative intrinsic sizes
2304         https://bugs.webkit.org/show_bug.cgai?id=15849 (partially fixed)
2305
2306         SVG embedded as <object> doesn't respect width/height attributes
2307         https://bugs.webkit.org/show_bug.cgi?id=34972
2308
2309         Explicit size of object tag ignored
2310         https://bugs.webkit.org/show_bug.cgi?id=37086
2311
2312         Add partial support of CSS 2.1 replaced elements with intrinsic size. The feature itself is complete but has only
2313         been implemented for RenderPart, to support SVG content document size negotiation. It serves as starting point for a generalization, in future.
2314         The changes in RenderPart are a 1:1 transliteration of the spec (http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width/height, see code).
2315
2316         SVG 1.1 says:
2317         The 'width' attribute on the outermost svg element establishes the viewport's width, unless the following conditions are met:
2318         ...
2319         and there are CSS-compatible positioning properties ([CSS2], section 9.3) specified on the referencing element (e.g., the 'object' element)
2320         or on the containing document's outermost svg element that are sufficient to establish the width of the viewport. Under these conditions,
2321         the positioning properties establish the viewport's width.
2322
2323         If an <object> carries width/height attributes, these specify the viewport size of the embedded SVG, instead of its own
2324         width/height or viewBox properties. If an <object> has no width/height information, its intrinsic size needs to be calculated depending
2325         on the intrinsic ratio (viewBox width divided by height ratio) and the width/height properties on the outermost referenced <svg> element.
2326         This requires a negotiation between the host document and the embedded document.
2327         (There are several more factors that need to be considered, the CSS spec covers this and the RenderPart::computeReplaced* code covers this.)
2328
2329         Fixes dozens of long-standing bug reports. The number one integration issue when using SVG through <object> is resolved: "right sizing".
2330
2331         Tests: http/tests/misc/object-embedding-svg-delayed-size-negotiation.xhtml
2332                svg/custom/object-no-size-attributes.xhtml (bug 11976, from Eric Seidel)
2333                svg/custom/object-sizing-explicit-height.xhtml (bug 10526, from Ryan Cannon)
2334                svg/custom/object-sizing-explicit-width-height.xhtml
2335                svg/custom/object-sizing-explicit-width.xhtml (bug 14793, from Oliver Hunt)
2336                svg/custom/object-sizing-no-width-height-change-content-box-size.xhtml
2337                svg/custom/object-sizing-no-width-height.xhtml
2338                svg/custom/object-sizing.xhtml (bug 37086, from Jeff Schiller)
2339                svg/wicd/rightsizing-grid.xhtml (bug 15836, WICD rightsizing test now works)
2340                svg/wicd/test-rightsizing-a.xhtml (ditto)
2341                svg/wicd/test-rightsizing-b.xhtml (ditto)
2342                svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml
2343                svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml
2344                svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml
2345                svg/zoom/page/zoom-svg-through-object-with-override-size.html (bug 34972, from Andreas Kling)
2346                svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml
2347                svg/zoom/page/zoom-svg-through-object-with-text.xhtml
2348
2349         * platform/Length.h:
2350         (WebCore::Length::isSpecified):
2351         * rendering/RenderPart.cpp:
2352         (WebCore::RenderPart::embeddedSVGContentRenderer):
2353         (WebCore::RenderPart::computeEmbeddedDocumentReplacedWidth):
2354         (WebCore::RenderPart::computeEmbeddedDocumentReplacedHeight):
2355         (WebCore::RenderPart::computeReplacedLogicalWidth):
2356         (WebCore::RenderPart::computeReplacedLogicalHeight):
2357         (WebCore::RenderPart::layout):
2358         * rendering/RenderPart.h:
2359         * rendering/RenderReplaced.cpp:
2360         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2361         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
2362         * rendering/svg/RenderSVGRoot.cpp:
2363         (WebCore::RenderSVGRoot::RenderSVGRoot):
2364         (WebCore::RenderSVGRoot::computeIntrinsicRatio):
2365         (WebCore::RenderSVGRoot::computeIntrinsicWidth):
2366         (WebCore::RenderSVGRoot::computeIntrinsicHeight):
2367         (WebCore::RenderSVGRoot::negotiateSizeWithHostDocumentIfNeeded):
2368         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
2369         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2370         (WebCore::RenderSVGRoot::layout):
2371         * rendering/svg/RenderSVGRoot.h:
2372         * svg/SVGLength.cpp:
2373         (WebCore::SVGLength::determineViewport):
2374         * svg/SVGSVGElement.cpp:
2375         (WebCore::SVGSVGElement::currentScale):
2376         (WebCore::SVGSVGElement::setCurrentScale):
2377         (WebCore::SVGSVGElement::currentViewBoxRect):
2378         (WebCore::SVGSVGElement::viewBoxToViewTransform):
2379         * svg/SVGSVGElement.h:
2380
2381 2011-05-27  Michael Saboff  <msaboff@apple.com>
2382
2383         Reviewed by David Hyatt.
2384
2385         https://bugs.webkit.org/show_bug.cgi?id=61646
2386         Duplicate Fonts Put in Font Cache on Mac Due to Duplicate CGFontRefs for Same Font
2387
2388         Change the platformIsEqual to just compare the m_font members if
2389         either is not null.
2390
2391         No tests added - functionality unchanged, fixing memory abandonment.
2392
2393         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2394         (WebCore::FontPlatformData::platformIsEqual):
2395
2396 2011-05-25  Martin Robinson  <mrobinson@igalia.com>
2397
2398         Reviewed by Dirk Schulze.
2399
2400         [GTK][Cairo] Twitter rendering breaks
2401         https://bugs.webkit.org/show_bug.cgi?id=60917
2402
2403         When instantiating a cairo_scaled_font_t font would put the font in an error state,
2404         leave the m_scaledFont member of platform data as null. Rendering with scaled fonts
2405         in the error state can later lead to corrupted rendering.
2406
2407         Due to this change, we must always null check cairo_scaled_font_t and the platform
2408         data now carries the cairo_font_face_t object with it, so that it can be accessed later
2409         if there is no cairo_scaled_font_t.
2410
2411         Test: platform/gtk/fonts/zero-pixel-sized-fonts.html
2412
2413         * platform/graphics/cairo/FontCairo.cpp:
2414         (WebCore::Font::drawGlyphs): If the scaled font is null, do not render.
2415         * platform/graphics/freetype/FontPlatformData.h: Now include the cairo_font_face_t.
2416         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2417         (WebCore::FontPlatformData::FontPlatformData): Initialize the new member.
2418         (WebCore::FontPlatformData::operator=): Carry over the new member.
2419         (WebCore::FontPlatformData::operator==): Check equality with the new member.
2420         (WebCore::FontPlatformData::initializeWithFontFace): If the initialization of m_scaledFont
2421         put the font into an error state, then just free it and return.
2422         (WebCore::FontPlatformData::hasCompatibleCharmap): The font always has a compatible charmap
2423         when the scaled font is null, because rendering is always a no-op and the font data never
2424         needs to be read.
2425         * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
2426         (WebCore::GlyphPage::fill): Don't read font data when the scaled font is null.
2427         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
2428         (WebCore::SimpleFontData::platformInit): Return early when there's no scaled font.
2429         (WebCore::SimpleFontData::scaledFontData): Use the new m_font member.
2430         (WebCore::SimpleFontData::containsCharacters): Return early when there's no scaled font.
2431         (WebCore::SimpleFontData::platformWidthForGlyph): Ditto.
2432
2433 2011-05-27  David Levin  <levin@chromium.org>
2434
2435         Reviewed by Darin Fisher.
2436
2437         Need a callback for when the preferred rendered size may have changed.
2438         https://bugs.webkit.org/show_bug.cgi?id=61309
2439
2440         No new tests needed since no new functionality is exposed.
2441
2442         * page/Chrome.cpp:
2443         (WebCore::Chrome::layoutUpdated): Plumbed through the call.
2444         * page/Chrome.h: Added the new method.
2445         * page/ChromeClient.h:
2446         (WebCore::ChromeClient::layoutUpdated): Ditto.
2447         * page/FrameView.cpp:
2448         (WebCore::FrameView::layout): Added a callback for whem a layout has finished.
2449
2450 2011-05-27  Stephanie Lewis  <slewis@apple.com>
2451
2452         Rubber Stamped by Adam Roben.
2453
2454         Update Order Files.  Use -order_file flag since it can order more of the binary.
2455
2456         * Configurations/Base.xcconfig:
2457         * WebCore.order:
2458
2459 2011-05-27  Sheriff Bot  <webkit.review.bot@gmail.com>
2460
2461         Unreviewed, rolling out r87464.
2462         http://trac.webkit.org/changeset/87464
2463         https://bugs.webkit.org/show_bug.cgi?id=61643
2464
2465         client-close/server-close tests are flaky on Chromium Mac and
2466         Windows (Requested by aklein on #webkit).
2467
2468         * platform/network/SocketStreamHandleBase.cpp:
2469         (WebCore::SocketStreamHandleBase::send):
2470         (WebCore::SocketStreamHandleBase::close):
2471         (WebCore::SocketStreamHandleBase::sendPendingData):
2472         * platform/network/SocketStreamHandleBase.h:
2473         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2474         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
2475         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
2476         * websockets/ThreadableWebSocketChannelClientWrapper.h:
2477         * websockets/WebSocket.cpp:
2478         (WebCore::WebSocket::send):
2479         (WebCore::WebSocket::close):
2480         (WebCore::WebSocket::bufferedAmount):
2481         (WebCore::WebSocket::didConnect):
2482         (WebCore::WebSocket::didReceiveMessage):
2483         (WebCore::WebSocket::didReceiveMessageError):
2484         (WebCore::WebSocket::didClose):
2485         * websockets/WebSocket.h:
2486         * websockets/WebSocketChannel.cpp:
2487         (WebCore::WebSocketChannel::WebSocketChannel):
2488         (WebCore::WebSocketChannel::close):
2489         (WebCore::WebSocketChannel::disconnect):
2490         (WebCore::WebSocketChannel::didClose):
2491         (WebCore::WebSocketChannel::didReceiveData):
2492         (WebCore::WebSocketChannel::didFail):
2493         (WebCore::WebSocketChannel::processBuffer):
2494         * websockets/WebSocketChannel.h:
2495         * websockets/WebSocketChannelClient.h:
2496         (WebCore::WebSocketChannelClient::didClose):
2497         * websockets/WorkerThreadableWebSocketChannel.cpp:
2498         (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
2499         (WebCore::workerContextDidClose):
2500         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
2501         * websockets/WorkerThreadableWebSocketChannel.h:
2502
2503 2011-05-27  Rob Buis  <rbuis@rim.com>
2504
2505         Reviewed by Nikolas Zimmermann.
2506
2507         https://bugs.webkit.org/show_bug.cgi?id=19995
2508         hixie.ch : anchor Link fails with fragment identifiers inside SVG fragments.
2509
2510         Only allow links to animation elements within the document.
2511
2512         Test: svg/hixie/links/003.xml
2513
2514         * svg/SVGAElement.cpp:
2515         (WebCore::SVGAElement::defaultEventHandler):
2516
2517 2011-05-27  Andreas Kling  <kling@webkit.org>
2518
2519         Reviewed by Benjamin Poulain.
2520
2521         Update RGBA color serialization to match HTML5.
2522         https://bugs.webkit.org/show_bug.cgi?id=61449
2523
2524         HTML5 now specifies that fully transparent colors should have their alpha value
2525         serialized to "0" rather than "0.0" (followed by any number of extra zeroes.)
2526
2527         The number of decimals for alpha values between 0 and 1 is not specified,
2528         so match Gecko and Presto by returning the lowest number of decimals needed
2529         to represent the number. (No more trailing zeroes.)
2530
2531         * platform/graphics/Color.cpp:
2532         (WebCore::Color::serialized):
2533
2534 2011-05-27  Hans Wennborg  <hans@chromium.org>
2535
2536         Reviewed by Tony Gentilcore.
2537
2538         IndexedDB: Support mutating cursors on top of LevelDB
2539         https://bugs.webkit.org/show_bug.cgi?id=61615
2540
2541         We need to support the case where a new node is added to the tree in a
2542         transaction after the TreeIterator has covered the whole tree.
2543
2544         Since this is done lazily, i.e. we set a flag that the tree might have
2545         changed, and act upon it later, some members need to be mutable,
2546         because we might need to re-seek the tree iterator in a const function.
2547
2548         Test: storage/indexeddb/mutating-cursor.html
2549               storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html (existing)
2550
2551         * platform/leveldb/LevelDBTransaction.cpp:
2552         (WebCore::LevelDBTransaction::set):
2553         (WebCore::LevelDBTransaction::TreeIterator::reset):
2554         (WebCore::LevelDBTransaction::TreeIterator::~TreeIterator):
2555         (WebCore::LevelDBTransaction::TreeIterator::TreeIterator):
2556         (WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
2557         (WebCore::LevelDBTransaction::TransactionIterator::~TransactionIterator):
2558         (WebCore::LevelDBTransaction::TransactionIterator::next):
2559         (WebCore::LevelDBTransaction::TransactionIterator::prev):
2560         (WebCore::LevelDBTransaction::TransactionIterator::key):
2561         (WebCore::LevelDBTransaction::TransactionIterator::value):
2562         (WebCore::LevelDBTransaction::TransactionIterator::treeChanged):
2563         (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
2564         (WebCore::LevelDBTransaction::registerIterator):
2565         (WebCore::LevelDBTransaction::unregisterIterator):
2566         (WebCore::LevelDBTransaction::notifyIteratorsOfTreeChange):
2567         * platform/leveldb/LevelDBTransaction.h:
2568         * storage/IDBFactoryBackendImpl.cpp:
2569         (WebCore::IDBFactoryBackendImpl::open):
2570         * storage/IDBLevelDBBackingStore.cpp:
2571         (WebCore::IDBLevelDBBackingStore::open):
2572
2573 2011-05-27  Sujin Park  <sujjin.park@gmail.com>
2574
2575         Unreviewed, buildfix if --no-javascript-debugger.
2576
2577         Regression(R84125): Broke GTK build
2578         https://bugs.webkit.org/show_bug.cgi?id=60698
2579
2580         No new tests since this doesn't change any behavior.
2581
2582         * inspector/WorkerInspectorController.h:
2583
2584 2011-05-26  Yael Aharon  <yael.aharon@nokia.com>
2585
2586         Reviewed by Tony Chang.
2587
2588         webkit should implement the dropzone attribute
2589         https://bugs.webkit.org/show_bug.cgi?id=58210
2590
2591         Add support for dropzone attribute.
2592         http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dropzone-attribute
2593         If a drag event was not canceled by JavaScript, look for an element with a dropzone attribute.
2594         If there is such an element, and it matches the drag data store, set the action defined by that
2595         element and continue processing the drag and drop operation.
2596
2597         Tests: fast/events/dropzone-001.html
2598                fast/events/dropzone-002.html
2599                fast/events/dropzone-003.html
2600                fast/events/dropzone-004.html
2601
2602         * dom/Clipboard.cpp:
2603         (WebCore::Clipboard::hasFileOfType):
2604         (WebCore::Clipboard::hasStringOfType):
2605         (WebCore::convertDropZoneOperationToDragOperation):
2606         (WebCore::convertDragOperationToDropZoneOperation):
2607         (WebCore::Clipboard::processDropZoneKeyword):
2608         * dom/Clipboard.h:
2609         * html/HTMLAttributeNames.in:
2610         * html/HTMLElement.idl:
2611         * page/EventHandler.cpp:
2612         (WebCore::EventHandler::findDropZone):
2613         (WebCore::EventHandler::updateDragAndDrop):
2614         * page/EventHandler.h:
2615
2616 2011-05-27  Patrick Gansterer  <paroga@webkit.org>
2617
2618         Unreviewed WinCE build fix for r87467.
2619
2620         * page/wince/FrameWinCE.cpp:
2621
2622 2011-05-26  Hans Wennborg  <hans@chromium.org>
2623
2624         Reviewed by Tony Gentilcore.
2625
2626         IndexedDB: Support NO_DUPLICATE cursors on LevelDB back-end
2627         https://bugs.webkit.org/show_bug.cgi?id=61517
2628
2629         Support cursors where the direction is set to NEXT_NO_DUPLICATE,
2630         or PREV_NO_DUPLICATE, as specified here:
2631         http://www.w3.org/TR/IndexedDB/#widl-IDBCursor-NEXT_NO_DUPLICATE
2632
2633         This is tested by storage/indexeddb/mozilla/indexes.html
2634
2635         * storage/IDBLevelDBBackingStore.cpp:
2636         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
2637         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
2638         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
2639
2640 2011-05-26  Hans Wennborg  <hans@chromium.org>
2641
2642         Reviewed by Tony Gentilcore.
2643
2644         LevelDB: turn on paranoid checks and verify checksums, log errors
2645         https://bugs.webkit.org/show_bug.cgi?id=61516
2646
2647         This allows for detection of corrupted databases.
2648         Even if we can't recover from a corrupted database, discovering the
2649         problem is a step in the right direction.
2650
2651         No new functionality, no new tests.
2652
2653         * platform/leveldb/LevelDBDatabase.cpp:
2654         (WebCore::LevelDBDatabase::open):
2655         (WebCore::LevelDBDatabase::put):
2656         (WebCore::LevelDBDatabase::remove):
2657         (WebCore::LevelDBDatabase::get):
2658         (WebCore::LevelDBDatabase::write):
2659         (WebCore::IteratorImpl::checkStatus):
2660         (WebCore::IteratorImpl::seekToLast):
2661         (WebCore::IteratorImpl::seek):
2662         (WebCore::IteratorImpl::next):
2663         (WebCore::IteratorImpl::prev):
2664         (WebCore::LevelDBDatabase::createIterator):
2665
2666 2011-05-27  James Robinson  <jamesr@chromium.org>
2667
2668         Reviewed by Adam Barth.
2669
2670         CachedResourceLoader stores data: urls in validated URL set
2671         https://bugs.webkit.org/show_bug.cgi?id=61604
2672
2673         CachedResourceLoader maintains a set of URLs that have been validated to avoid validating the same resource
2674         multiple times for loads within the same document.  This doesn't make sense for data: URLs and just wastes
2675         memory.
2676
2677         * loader/cache/CachedResourceLoader.cpp:
2678         (WebCore::CachedResourceLoader::revalidateResource):
2679         (WebCore::CachedResourceLoader::loadResource):
2680
2681 2011-05-23  MORITA Hajime  <morrita@google.com>
2682
2683         Reviewed by Tony Chang.
2684
2685         [Refactoring] DocumentMarker should be carried around as a pointer, not value.
2686         https://bugs.webkit.org/show_bug.cgi?id=61262
2687
2688         - Changed return value of markersInRange() from Vector<DocumentMarker> to Vector<DocumentMarker*>.
2689         - Introduced markersFor() that returns Vector<DocumentMarker*>
2690         - Removed DocumentMarkerController::setRenderedRectForMarker() which now can be replaced by
2691           RenderedDocumentMarker::setRenderedRect().
2692         - This change didn't remove markersForNode() beucase there is patches on review which depends
2693           markersForNode(). I'll remove its call after these patches are landed.
2694         
2695         No new tests. No behavior change.
2696
2697         * WebCore.exp.in:
2698         * dom/DocumentMarkerController.cpp:
2699         (WebCore::DocumentMarkerController::addTextMatchMarker):
2700         (WebCore::DocumentMarkerController::markersFor):
2701         (WebCore::DocumentMarkerController::markersInRange):
2702         (WebCore::DocumentMarkerController::hasMarkers):
2703         * dom/DocumentMarkerController.h:
2704         * dom/RenderedDocumentMarker.h:
2705         (WebCore::toRenderedDocumentMarker):
2706         * editing/CompositeEditCommand.cpp:
2707         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
2708         * editing/DeleteSelectionCommand.cpp:
2709         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
2710         * editing/Editor.cpp:
2711         (WebCore::Editor::selectionStartHasMarkerFor):
2712         * editing/SpellingCorrectionController.cpp:
2713         (WebCore::markersHaveIdenticalDescription):
2714         (WebCore::SpellingCorrectionController::respondToChangedSelection):
2715         (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
2716         (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
2717         * editing/SpellingCorrectionController.h:
2718         (WebCore::SpellingCorrectionController::shouldStartTimerFor):
2719         * rendering/InlineTextBox.cpp:
2720         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2721         (WebCore::InlineTextBox::paintTextMatchMarker):
2722         (WebCore::InlineTextBox::computeRectForReplacementMarker):
2723         (WebCore::InlineTextBox::paintDocumentMarkers):
2724         * rendering/InlineTextBox.h:
2725         * rendering/svg/SVGInlineFlowBox.cpp:
2726         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
2727
2728 2011-05-26  MORITA Hajime  <morrita@google.com>
2729
2730         Reviewed by Kent Tamura.
2731
2732         WebCore::HTMLSummaryElement::isMainSummary ReadAV@NULL
2733         https://bugs.webkit.org/show_bug.cgi?id=61511
2734
2735         Removed Unnecessary wrong cast to Elmement, which can be non-Element.
2736
2737         Test: fast/html/details-summary-document-child.html
2738
2739         * html/HTMLSummaryElement.cpp:
2740         (WebCore::HTMLSummaryElement::detailsElement):
2741
2742 2011-05-26  Adam Barth  <abarth@webkit.org>
2743
2744         Reviewed by Ryosuke Niwa.
2745
2746         FrameLoader cannot be null
2747         https://bugs.webkit.org/show_bug.cgi?id=61609
2748
2749         This code has a bunch of cargo-cult null checking.
2750
2751         * html/HTMLMediaElement.cpp:
2752         (WebCore::HTMLMediaElement::createRenderer):
2753         (WebCore::HTMLMediaElement::attach):
2754         (WebCore::HTMLMediaElement::loadResource):
2755         (WebCore::HTMLMediaElement::getPluginProxyParams):
2756         (WebCore::HTMLMediaElement::createMediaPlayerProxy):
2757         (WebCore::HTMLMediaElement::updateWidget):
2758
2759 2011-05-26  Shane Stephens  <shanestephens@google.com>
2760
2761         Reviewed by James Robinson.
2762
2763         REGRESSION (r81992): layout triggered by position update fails to apply when transform is updated at same time
2764         https://bugs.webkit.org/show_bug.cgi?id=60689
2765
2766         When a transform is modified in a style, we were upgrading our understanding
2767         of the difference from PositionedMovementOnly to SimplifiedLayout.  However,
2768         if the position of the style is independently changed at the same time, both
2769         PositionedMovement and SimplifiedLayout passes are required.
2770
2771         Test: transforms/2d/set-transform-and-top.html
2772
2773         * rendering/RenderObject.cpp:
2774         Added checks for SimplifiedLayoutAndPositionedMovement - when encountered,
2775         set both PositionedMovement and SimplifiedLayout update flasgs. 
2776         * rendering/style/RenderStyleConstants.h:
2777         Added a new StyleDifference enum value (SimplifiedLayoutAndPositionedMovement) for 
2778         cases when both PositionedMovement and SimplifiedLayout are required.
2779
2780 2011-05-26  Luke Macpherson   <macpherson@chromium.org>
2781
2782         Reviewed by Eric Seidel.
2783
2784         Implement webkit margin collapse CSS properties in CSSStyleApplyProperty
2785         https://bugs.webkit.org/show_bug.cgi?id=61589
2786
2787         No new tests as no new functionality added.
2788
2789         * css/CSSStyleApplyProperty.cpp:
2790         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2791         Add handlers for:
2792           CSSPropertyWebkitMarginBeforeCollapse
2793           CSSPropertyWebkitMarginAfterCollapse
2794           CSSPropertyWebkitMarginTopCollapse
2795           CSSPropertyWebkitMarginBottomCollapse
2796           CSSPropertyWebkitMarginCollapse
2797         * css/CSSStyleSelector.cpp:
2798         (WebCore::CSSStyleSelector::applyProperty):
2799         Remove cases that are no longer required.
2800
2801 2011-05-26  Adam Barth  <abarth@webkit.org>
2802
2803         Reviewed by Eric Seidel.
2804
2805         Support cross-origin property for images
2806         https://bugs.webkit.org/show_bug.cgi?id=61015
2807
2808         This patch add support for the crossorigin attribute of images and
2809         teaches 2D canvas to respect that flag and not taint a canvas if the
2810         image drawn on the canvas is allowed by CORS.
2811
2812         While I was editing this code, I couldn't resist a couple touch-up
2813         changes.
2814
2815         Tests: http/tests/security/canvas-remote-read-remote-image-allowed-with-credentials.html
2816                http/tests/security/canvas-remote-read-remote-image-allowed.html
2817                http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin.html
2818
2819         * html/HTMLAttributeNames.in:
2820         * html/HTMLCanvasElement.cpp:
2821         (WebCore::HTMLCanvasElement::securityOrigin):
2822         * html/HTMLCanvasElement.h:
2823         * html/HTMLImageElement.idl:
2824         * html/canvas/CanvasRenderingContext.cpp:
2825         (WebCore::CanvasRenderingContext::checkOrigin):
2826         * html/canvas/CanvasRenderingContext2D.cpp:
2827         (WebCore::CanvasRenderingContext2D::createPattern):
2828         * loader/ImageLoader.cpp:
2829         (WebCore::ImageLoader::updateFromElement):
2830         * loader/cache/CachedResource.cpp:
2831         (WebCore::CachedResource::passesAccessControlCheck):
2832         * loader/cache/CachedResource.h:
2833
2834 2011-05-26  Mihai Parparita  <mihaip@chromium.org>
2835
2836         Reviewed by Adam Barth.
2837
2838         Fix worldID and destinationDomain argument names
2839         https://bugs.webkit.org/show_bug.cgi?id=61571
2840
2841         As part of working on r87423, I noticed a couple of inconsistencies in
2842         argument names:
2843         - We would use worldId in .h files but worldID in .cpp files.
2844           Standardize on the latter
2845         - SecurityOrigin::addOriginAccessWhitelistEntry would take a
2846           destinationDomains argument, even though the actual parameter was for
2847           a single domain (renamed to be singular).
2848
2849         * bindings/v8/ScriptController.h:
2850         * bindings/v8/V8Proxy.h:
2851         * page/SecurityOrigin.cpp:
2852         (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry):
2853         (WebCore::SecurityOrigin::removeOriginAccessWhitelistEntry):
2854         * page/SecurityOrigin.h:
2855
2856 2011-05-26  Emil A Eklund  <eae@chromium.org>
2857
2858         Reviewed by Eric Seidel.
2859
2860         Replace RenderLayer::x/y/width/height with location/size
2861         https://bugs.webkit.org/show_bug.cgi?id=61414
2862
2863         Covered by existing tests.
2864
2865         * dom/MouseRelatedEvent.cpp:
2866         (WebCore::MouseRelatedEvent::computeRelativePosition):
2867         * rendering/RenderBox.cpp:
2868         (WebCore::RenderBox::computeRectForRepaint):
2869         * rendering/RenderBox.h:
2870         (WebCore::RenderBox::maxLayoutOverflow):
2871         * rendering/RenderInline.cpp:
2872         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2873         (WebCore::RenderInline::computeRectForRepaint):
2874         * rendering/RenderLayer.cpp:
2875         (WebCore::RenderLayer::updateLayerPosition):
2876         (WebCore::RenderLayer::convertToLayerCoords):
2877         (WebCore::RenderLayer::offsetFromResizeCorner):
2878         (WebCore::RenderLayer::calculateRects):
2879         * rendering/RenderLayer.h:
2880         (WebCore::RenderLayer::location):
2881         (WebCore::RenderLayer::setSize):
2882         * rendering/RenderObject.cpp:
2883         (WebCore::RenderObject::computeRectForRepaint):
2884         * rendering/RenderTreeAsText.cpp:
2885         (WebCore::write):
2886         (WebCore::writeLayers):
2887         (WebCore::externalRepresentation):
2888         * rendering/RenderView.cpp:
2889         (WebCore::RenderView::absoluteRects):
2890         (WebCore::RenderView::absoluteQuads):
2891
2892 2011-05-26  Annie Sullivan  <sullivan@chromium.org>
2893
2894         Reviewed by Ryosuke Niwa.
2895
2896         Delete table in contentEditable/designMode produces odd contents
2897         https://bugs.webkit.org/show_bug.cgi?id=57148
2898
2899         Removes border-collapse, -webkit-border-horizontal-spacing, and
2900         -webkit-border-vertical-spacing from the list of properties which
2901         should be preserved during edit operations. Also renames this
2902         list to editingInheritableProperties to be more clear about what
2903         the list is for.
2904
2905         Test: editing/deleting/delete-last-char-in-table.html
2906
2907         * editing/EditingStyle.cpp: Removes border vertical/horizontal
2908         spacing from editingStyleProperties.
2909         * editing/EditingStyle.h: Renames OnlyInheritableProperties to
2910         OnlyEditingInheritableProperties.
2911         * editing/markup.cpp: Renames InheritablePropertiesAndBackgroundColorInEffect.
2912
2913 2011-05-26  Yuta Kitamura  <yutak@chromium.org>
2914
2915         Reviewed by Kent Tamura.
2916
2917         WebSocket closing handshake
2918         https://bugs.webkit.org/show_bug.cgi?id=35721
2919
2920         Implement WebSocket closing handshake based on Ian Hickson's
2921         WebSocket protocol draft 76.
2922
2923         Tests: http/tests/websocket/tests/client-close.html
2924                http/tests/websocket/tests/server-close.html
2925
2926         * platform/network/SocketStreamHandleBase.cpp:
2927         (WebCore::SocketStreamHandleBase::send):
2928         Do not send a message if we are in Closing state.
2929         (WebCore::SocketStreamHandleBase::close):
2930         Do not disconnect if we have pending data which have not been sent yet.
2931         In this case, the actual disconnection will happen in sendPendingData().
2932         (WebCore::SocketStreamHandleBase::disconnect):
2933         Renamed from close(). Disconnect the connection immediately.
2934         (WebCore::SocketStreamHandleBase::sendPendingData):
2935         * platform/network/SocketStreamHandleBase.h:
2936         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2937         Add didStartClosingHandshake(). Add a function argument (ClosingHandshakeCompletionStatus)
2938         to didClose().
2939         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
2940         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
2941         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
2942         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
2943         * websockets/ThreadableWebSocketChannelClientWrapper.h:
2944         * websockets/WebSocket.cpp:
2945         (WebCore::WebSocket::send):
2946         (WebCore::WebSocket::close):
2947         Fail if close() is attempted before the connection is established.
2948         Otherwise, set the state to CLOSING and start the closing handshake.
2949         (WebCore::WebSocket::bufferedAmount):
2950         If the state is CLOSING, we need to consider buffered data in m_channel and sent after close().
2951         (WebCore::WebSocket::didConnect):
2952         (WebCore::WebSocket::didReceiveMessage):
2953         We need to invoke message event in CLOSING state as well as OPEN state.
2954         (WebCore::WebSocket::didReceiveMessageError):
2955         (WebCore::WebSocket::didStartClosingHandshake):
2956         (WebCore::WebSocket::didClose):
2957         * websockets/WebSocket.h:
2958         * websockets/WebSocketChannel.cpp:
2959         (WebCore::WebSocketChannel::WebSocketChannel):
2960         (WebCore::WebSocketChannel::close):
2961         Start the closing handshake.
2962         (WebCore::WebSocketChannel::disconnect):
2963         Disconnect the socket stream, instead of close.
2964         (WebCore::WebSocketChannel::didClose):
2965         (WebCore::WebSocketChannel::didReceiveData): Ditto.
2966         (WebCore::WebSocketChannel::didFail): Ditto.
2967         (WebCore::WebSocketChannel::processBuffer):
2968         Ditto.
2969         Handle 0xFF 0x00 byte sequence, and discard received data once the closing handshake has started.
2970         (WebCore::WebSocketChannel::startClosingHandshake):
2971         Send 0xFF 0x00 byte sequence.
2972         (WebCore::WebSocketChannel::closingTimerFired):
2973         Disconnect the socket stream if the closing handshake has timed out.
2974         * websockets/WebSocketChannel.h:
2975         m_closing is true if "the WebSocket closing handshake has started" (as stated in the protocol
2976         specification).
2977         * websockets/WebSocketChannelClient.h:
2978         (WebCore::WebSocketChannelClient::didStartClosingHandshake): Added.
2979         (WebCore::WebSocketChannelClient::didClose): Add closingHandshakeCompletion parameter.
2980         * websockets/WorkerThreadableWebSocketChannel.cpp:
2981         Add closingHandshakeCompletion parameter to didClose(), and add didStartClosingHandshake().
2982         (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
2983         (WebCore::workerContextDidStartClosingHandshake):
2984         (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
2985         (WebCore::workerContextDidClose):
2986         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
2987         * websockets/WorkerThreadableWebSocketChannel.h:
2988
2989 2011-05-26  David Levin  <levin@chromium.org>
2990
2991         Reviewed by Dmitry Titov.
2992
2993         WebKit's font notification has problems when the WebKit main thread != UI thread.
2994         https://bugs.webkit.org/show_bug.cgi?id=61391
2995
2996         This doesn't happen in DumpRenderTree, so it needs a unit test which is taking me
2997         some time to write correctly. In the meantime, this issues happens to be causing
2998         some crashes in Chrome so here's the fix alone for the time being.
2999
3000         * platform/graphics/mac/FontCacheMac.mm:
3001         (WebCore::invalidateFontCache): Ensure that FontCache::invalidate is only called on WebKit's main thread.
3002         (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): Call common function for font cache invalidation.
3003          Note that the call to fontCache() is fine since the singleton is initialized well before calling this function. Theoretically,
3004          there could be a problem due to a lack of a memory barrier but that is highly unlikely and this is debug only code.
3005         (WebCore::fontCacheATSNotificationCallback): Ditto.
3006
3007 2011-05-26  Stephanie Lewis  <slewis@apple.com>
3008
3009         Reviewed by Geoff Garen.
3010
3011         https://bugs.webkit.org/show_bug.cgi?id=61345
3012         part of <rdar://problem/8675177>
3013         Roll back in now that the Crashes are fixed.  ResourceResponseBase and ResourceResponse had two different definitions
3014         for m_isNull.  ResourceResponse treats m_isNull as meaning there isn't any platform ResourceResponse. 
3015         ResourceResponseBase treats m_isNull as meaning no fields have been initialized.  Consolidate calls into ResourceResponseBase meaning. 
3016
3017         Don't initialize ResourceResponse.m_suggestedFilename until we want to use it.  Initializing it requires reading in and parsing a plist.  
3018         Add new initialization state CommonAndUncommonFields to ResourceResponse.  This will be for all the header fields.
3019         Move suggestedFilename initialization to AllFields so it is never initialized unless we ask for it. 
3020         Add "Content-Type" to common headers since it is looked for by every CSS sheet load.
3021
3022         No new functionality so no new tests.
3023
3024         * platform/network/ResourceResponseBase.cpp:
3025         (WebCore::ResourceResponseBase::adopt):
3026         (WebCore::ResourceResponseBase::suggestedFilename):
3027         (WebCore::ResourceResponseBase::setSuggestedFilename):
3028         (WebCore::ResourceResponseBase::httpStatusText):
3029         (WebCore::ResourceResponseBase::setHTTPStatusText):
3030         (WebCore::ResourceResponseBase::httpHeaderField):
3031         (WebCore::ResourceResponseBase::setHTTPHeaderField):
3032         (WebCore::ResourceResponseBase::httpHeaderFields):
3033         (WebCore::ResourceResponseBase::isAttachment):
3034         (WebCore::ResourceResponseBase::setLastModifiedDate):
3035         (WebCore::ResourceResponseBase::lastModifiedDate):
3036         (WebCore::ResourceResponseBase::wasCached):
3037         (WebCore::ResourceResponseBase::connectionReused):
3038         (WebCore::ResourceResponseBase::setConnectionReused):
3039         (WebCore::ResourceResponseBase::connectionID):
3040         (WebCore::ResourceResponseBase::setConnectionID):
3041         (WebCore::ResourceResponseBase::resourceLoadTiming):
3042         (WebCore::ResourceResponseBase::setResourceLoadTiming):
3043         (WebCore::ResourceResponseBase::resourceLoadInfo):
3044         (WebCore::ResourceResponseBase::setResourceLoadInfo):
3045         * platform/network/ResourceResponseBase.h:
3046         * platform/network/cf/ResourceResponse.h:
3047         (WebCore::ResourceResponse::ResourceResponse):
3048         * platform/network/cf/ResourceResponseCFNet.cpp:
3049         (WebCore::ResourceResponse::platformLazyInit):
3050         * platform/network/mac/ResourceResponseMac.mm:
3051
3052 2011-05-26  James Kozianski  <koz@chromium.org>
3053
3054         Reviewed by Eric Seidel.
3055
3056         Implement a whitelist for registerProtocolHandler
3057         https://bugs.webkit.org/show_bug.cgi?id=60322
3058
3059         * page/Navigator.cpp:
3060         (WebCore::initProtocolHandlerWhitelist):
3061         (WebCore::isProtocolWhitelisted):
3062         (WebCore::verifyProtocolHandlerScheme):
3063
3064 2011-05-26  Annie Sullivan  <sullivan@chromium.org>
3065
3066         Reviewed by Ryosuke Niwa.
3067
3068         [debug feature] CSSStyleDeclaration should have a way to print cssText
3069         https://bugs.webkit.org/show_bug.cgi?id=61570
3070
3071         Adds a method to print the cssText to stderr for debugging.
3072
3073         * css/CSSStyleDeclaration.cpp:
3074         (WebCore::CSSStyleDeclaration::showStyle): New method to print cssText to stderr
3075         * css/CSSStyleDeclaration.h: New method declaration
3076
3077 2011-05-26  Syed Idris Shah  <syed.idris-shah@nokia.com>
3078
3079         Reviewed by Andreas Kling.
3080
3081         [Qt] fast/canvas/webgl/gl-uniform-arrays.html failing for Qt on Linux
3082         https://bugs.webkit.org/show_bug.cgi?id=60377 
3083
3084         LayoutTests/fast/canvas/webgl/gl-uniform-arrays.html
3085
3086         For an array of active uniform, we should be careful while truncating the name of the uniform. 
3087         Currently we are truncating the last three characters of an array with out checking for [0]. 
3088         As a result we are truncating the the actual name of the active uniforms i.e. color to co. 
3089
3090         * html/canvas/WebGLRenderingContext.cpp:
3091         (WebCore::WebGLRenderingContext::getUniform): Strip "[0]" from the name if it's an array and is part of the name.
3092
3093 2011-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>
3094
3095         Unreviewed, rolling out r87444.
3096         http://trac.webkit.org/changeset/87444
3097         https://bugs.webkit.org/show_bug.cgi?id=61582
3098
3099         Layout test regressions in Chromium/WebKit: fast/css/first-
3100         letter-text-fragment-crash.html, fast/css/first-letter-
3101         visibility.html (Requested by aklein on #webkit).
3102
3103         * page/Chrome.cpp:
3104         * page/Chrome.h:
3105         * page/ChromeClient.h:
3106         * page/FrameView.cpp:
3107         (WebCore::FrameView::setContentsSize):
3108         * page/FrameView.h:
3109
3110 2011-05-26  David Levin  <levin@chromium.org>
3111
3112         Reviewed by Darin Fisher.
3113
3114         Need a callback for when the preferred rendered size changed.
3115         https://bugs.webkit.org/show_bug.cgi?id=61309
3116
3117         No new tests needed since no new functionality is exposed.
3118
3119         * page/Chrome.cpp:
3120         (WebCore::Chrome::contentsPreferredSizeChanged): Plumbed through the call.
3121         * page/Chrome.h: Added the new method.
3122         * page/ChromeClient.h: Ditto.
3123         * page/FrameView.cpp:
3124         (WebCore::FrameView::setContentsSize): Added calculations for the preferred size
3125         and the call to contentsPreferredSizeChanged.
3126
3127 2011-05-25  Levi Weintraub  <leviw@chromium.org>
3128
3129         Reviewed by Eric Seidel.
3130
3131         Switch controlClipRect to use IntPoint
3132         https://bugs.webkit.org/show_bug.cgi?id=60806
3133
3134         Switching controlClipRect to take an IntPoint representing the
3135         offset to be added instead of a pair of ints.
3136
3137         No new tests as this is just refactoring.
3138
3139         * WebCore.xcodeproj/project.pbxproj:
3140         * rendering/RenderBlock.cpp:
3141         (WebCore::RenderBlock::nodeAtPoint):
3142         * rendering/RenderBox.cpp:
3143         (WebCore::RenderBox::pushContentsClip):
3144         * rendering/RenderBox.h:
3145         (WebCore::RenderBox::controlClipRect):
3146         * rendering/RenderButton.cpp:
3147         (WebCore::RenderButton::controlClipRect):
3148         * rendering/RenderButton.h:
3149         * rendering/RenderListBox.cpp:
3150         (WebCore::RenderListBox::paintItemBackground):
3151         (WebCore::RenderListBox::controlClipRect):
3152         * rendering/RenderListBox.h:
3153         * rendering/RenderMenuList.cpp:
3154         (WebCore::RenderMenuList::controlClipRect):
3155         * rendering/RenderMenuList.h:
3156         * rendering/RenderTextControlSingleLine.cpp:
3157         (WebCore::RenderTextControlSingleLine::controlClipRect):
3158         * rendering/RenderTextControlSingleLine.h:
3159
3160 2011-05-25  Levi Weintraub  <leviw@chromium.org>
3161
3162         Reviewed by Eric Seidel.
3163
3164         Switch controlClipRect to use IntPoint
3165         https://bugs.webkit.org/show_bug.cgi?id=60806
3166
3167         Switching controlClipRect to take an IntPoint representing the
3168         offset to be added instead of a pair of ints.
3169
3170         No new tests as this is just refactoring.
3171
3172         * WebCore.xcodeproj/project.pbxproj:
3173         * rendering/RenderBlock.cpp:
3174         (WebCore::RenderBlock::nodeAtPoint):
3175         * rendering/RenderBox.cpp:
3176         (WebCore::RenderBox::pushContentsClip):
3177         * rendering/RenderBox.h:
3178         (WebCore::RenderBox::controlClipRect):
3179         * rendering/RenderButton.cpp:
3180         (WebCore::RenderButton::controlClipRect):
3181         * rendering/RenderButton.h:
3182         * rendering/RenderListBox.cpp:
3183         (WebCore::RenderListBox::paintItemBackground):
3184         (WebCore::RenderListBox::controlClipRect):
3185         * rendering/RenderListBox.h:
3186         * rendering/RenderMenuList.cpp:
3187         (WebCore::RenderMenuList::controlClipRect):
3188         * rendering/RenderMenuList.h:
3189         * rendering/RenderTextControlSingleLine.cpp:
3190         (WebCore::RenderTextControlSingleLine::controlClipRect):
3191         * rendering/RenderTextControlSingleLine.h:
3192
3193 2011-05-26  Jeff Miller  <jeffm@apple.com>
3194
3195         Reviewed by Steve Falkenburg.
3196
3197         Fullscreen content is sometimes obscured by taskbar (which even covers up the "exit fullscreen" button)
3198         https://bugs.webkit.org/show_bug.cgi?id=61569
3199         <rdar://problem/9454315>
3200
3201         Normally, when the background fullscreen window is animated in, the Windows taskbar will be hidden, but this doesn't always work for some reason.
3202         Workaround this issue by setting the real fullscreen window to be a topmost window.
3203
3204         * platform/graphics/win/FullScreenController.cpp:
3205         (FullScreenController::Private::fullscreenClientWndProc): Exit fullscreen when m_fullScreenWindow is deactivated.
3206         (FullScreenController::enterFullScreenRepaintCompleted): Make m_fullScreenWindow a topmost window before animating it in to ensure the taskbar is hidden.
3207
3208 2011-05-26  James Robinson  <jamesr@chromium.org>
3209
3210         Reviewed by Darin Fisher.
3211
3212         [skia] Add area check to ImageBufferData::getImageData
3213         https://bugs.webkit.org/show_bug.cgi?id=61375
3214
3215         No change in behavior, just a sanity check.
3216
3217         * platform/graphics/skia/ImageBufferSkia.cpp:
3218         (WebCore::getImageData):
3219
3220 2011-05-26  Levi Weintraub  <leviw@chromium.org>
3221
3222         Reviewed by Eric Seidel.
3223
3224         Switch positionOverflowControls to IntSize
3225         https://bugs.webkit.org/show_bug.cgi?id=61493
3226
3227         Switching positionOverflowControls to take a layerOffset IntSize
3228         as opposed to a pair of ints.
3229
3230         No new tests since this is just refactoring.
3231
3232         * rendering/RenderLayer.cpp:
3233         (WebCore::RenderLayer::updateLayerPositions):
3234         (WebCore::RenderLayer::positionOverflowControls):
3235         (WebCore::RenderLayer::paintOverflowControls):
3236         * rendering/RenderLayer.h:
3237
3238 2011-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>
3239
3240         Unreviewed, rolling out r87368.
3241         http://trac.webkit.org/changeset/87368
3242         https://bugs.webkit.org/show_bug.cgi?id=61564
3243
3244         Wrong approach, will do the wrong thing if the element needs
3245         simplified normal flow layout but is not positioned (Requested
3246         by jamesr on #webkit).
3247
3248         * rendering/RenderObject.h:
3249         (WebCore::RenderObject::needsPositionedMovementLayout):
3250
3251 2011-05-02  Robert Hogan  <robert@webkit.org>
3252
3253         Reviewed by Adam Roben.
3254
3255         [Qt] Allow popup windows from plugins when initiated by a user gesture
3256
3257         https://bugs.webkit.org/show_bug.cgi?id=41292
3258
3259         If the event is from a user gesture and the plugin doesn't support
3260         NPN_PushPopupsEnabledState() and NPN_PopPopupsEnabledState(), allow popups.
3261
3262         * plugins/qt/PluginViewQt.cpp:
3263         (WebCore::PluginView::dispatchNPEvent):
3264
3265 2011-05-26  Leandro Gracia Gil  <leandrogracia@chromium.org>
3266
3267         Reviewed by Dmitry Titov.
3268
3269         [V8] Add missing compile guards for WebWorkers in WebCore.
3270         https://bugs.webkit.org/show_bug.cgi?id=61535
3271
3272         No new tests - refactoring only.
3273
3274         * bindings/v8/V8AbstractEventListener.cpp:
3275         (WebCore::V8AbstractEventListener::invokeEventHandler):
3276         * bindings/v8/V8DOMWrapper.cpp:
3277         (WebCore::V8DOMWrapper::instantiateV8Object):
3278
3279 2011-05-26  Mihai Parparita  <mihaip@chromium.org>
3280
3281         Reviewed by Adam Barth.
3282
3283         Support cross-origin XMLHttpRequest in isolated worlds
3284         https://bugs.webkit.org/show_bug.cgi?id=59843
3285
3286         Allows isolated worlds to be associated with a different SecurityOrigin
3287         (exposed as a setIsolatedWorldSecurityOrigin function in
3288         ScriptController).
3289
3290         The XMLHttpRequest constructor can then check that it's being
3291         instantiated in an isolated world and use its security origin.
3292         XMLHttpRequest, ThreadableLoader and DocumentThreadableLoader had to be
3293         changed to use the copied SecurityOrigin instead of always grabbing the
3294         Document's.
3295
3296         Test: http/tests/security/isolatedWorld/cross-origin-xhr.html
3297
3298         * bindings/v8/ScriptController.cpp:
3299         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
3300         * bindings/v8/ScriptController.h:
3301         * bindings/v8/V8IsolatedContext.cpp:
3302         (WebCore::V8IsolatedContext::setSecurityOrigin):
3303         * bindings/v8/V8IsolatedContext.h:
3304         (WebCore::V8IsolatedContext::securityOrigin):
3305         * bindings/v8/V8Proxy.cpp:
3306         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3307         (WebCore::V8Proxy::setIsolatedWorldSecurityOrigin):
3308         (WebCore::V8Proxy::resetIsolatedWorlds):
3309         * bindings/v8/V8Proxy.h:
3310         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3311         (WebCore::V8XMLHttpRequest::constructorCallback):
3312         * loader/DocumentThreadableLoader.cpp:
3313         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
3314         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
3315         (WebCore::DocumentThreadableLoader::didReceiveResponse):
3316         (WebCore::DocumentThreadableLoader::preflightSuccess):
3317         (WebCore::DocumentThreadableLoader::isAllowedRedirect):
3318         (WebCore::DocumentThreadableLoader::securityOrigin):
3319         * loader/DocumentThreadableLoader.h:
3320         * loader/ThreadableLoader.h:
3321         * xml/XMLHttpRequest.cpp:
3322         (WebCore::XMLHttpRequest::create):
3323         (WebCore::XMLHttpRequest::XMLHttpRequest):
3324         (WebCore::XMLHttpRequest::securityOrigin):
3325         (WebCore::XMLHttpRequest::responseXML):
3326         (WebCore::XMLHttpRequest::createRequest):
3327         (WebCore::XMLHttpRequest::setRequestHeader):
3328         (WebCore::XMLHttpRequest::getAllResponseHeaders):
3329         (WebCore::XMLHttpRequest::getResponseHeader):
3330         * xml/XMLHttpRequest.h:
3331
3332 2011-05-26  Michael Nordman  <michaeln@google.com>
3333
3334         Reviewed by Darin Fisher.
3335
3336         [Chromium] Use SecurityOrigin produced databaseIdentifier strings, instead of
3337         SecurityOrigin RefPtrs, as the top level key into the DatabaseTracker's
3338         collection of open databases. Otherwise we can fail to lookup databases when
3339         trying to forceably close them via  WebDatabase::closeDatabaseImmediately.
3340         https://bugs.webkit.org/show_bug.cgi?id=61417
3341
3342         New new functionality, no tests.
3343
3344         * storage/DatabaseTracker.h:
3345         * storage/chromium/DatabaseTrackerChromium.cpp:
3346         (WebCore::DatabaseTracker::addOpenDatabase):
3347         (WebCore::DatabaseTracker::removeOpenDatabase):
3348         (WebCore::DatabaseTracker::getOpenDatabases):
3349         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
3350
3351 2011-05-25  Jer Noble  <jer.noble@apple.com>
3352
3353         Reviewed by Maciej Stachowiak.
3354
3355         Safari Web Content crashes while entering/exiting the full screen mode of the video content
3356         https://bugs.webkit.org/show_bug.cgi?id=61498
3357
3358         No new tests, as DRT does not currently animate the full screen transition.
3359
3360         To guard against m_fullScreenRenderer being called after it has been deleted, add
3361         code in RenderFullScreen which notifies the document when its full-screen renderer
3362         will be destroyed.
3363
3364         Also, add some sanity checks when accessing the full-screen renderer's layer backing.
3365
3366         * dom/Document.cpp:
3367         (WebCore::Document::webkitWillEnterFullScreenForElement): Guard against a missing
3368             full-screen renderer layer.
3369         (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
3370         (WebCore::Document::setFullScreenRenderer): Added ASSERT.
3371         (WebCore::Document::fullScreenRendererDestroyed): Added.
3372         (WebCore::Document::setAnimatingFullScreen): Guard against the full-screen
3373             element having been removed from the document.
3374         * dom/Document.h:
3375         * rendering/RenderFullScreen.cpp:
3376         (RenderFullScreen::destroy): Added.  Tell the Document that it's full-screen
3377             renderer is about to be destroyed.
3378         * rendering/RenderFullScreen.h:
3379
3380 2011-05-26  Andreas Kling  <kling@webkit.org>
3381
3382         Reviewed by Geoffrey Garen.
3383
3384         Overload resolution in generated JSC bindings could be more efficient.
3385         https://bugs.webkit.org/show_bug.cgi?id=61544
3386
3387         Only fetch the arguments once, and not until they are needed (less work
3388         in the case of an early return.)
3389
3390         * bindings/scripts/CodeGeneratorJS.pm:
3391         * bindings/scripts/test/JS/JSTestObj.cpp: Rebaselined.
3392         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
3393
3394 2011-05-26  Adrienne Walker  <enne@google.com>
3395
3396         Reviewed by James Robinson.
3397
3398         [chromium] Be robust to empty viewports in the compositor
3399         https://bugs.webkit.org/show_bug.cgi?id=61545
3400
3401         It's possible for a frame to be requested to be drawn before it is
3402         non-empty.  The compositor should be robust to that possibility.  The
3403         changes in LayerTilerChromium are the only required changes to handle
3404         this, but having an early out in LayerRendererChromium seemed like a
3405         good sanity check.
3406
3407         * platform/graphics/chromium/LayerRendererChromium.cpp:
3408         (WebCore::LayerRendererChromium::updateAndDrawLayers):
3409         (WebCore::LayerRendererChromium::drawLayers):
3410         * platform/graphics/chromium/LayerTilerChromium.cpp:
3411         (WebCore::LayerTilerChromium::prepareToUpdate):
3412         (WebCore::LayerTilerChromium::updateRect):
3413         (WebCore::LayerTilerChromium::draw):
3414
3415 2011-05-26  Emil A Eklund  <eae@chromium.org>
3416
3417         Reviewed by Eric Seidel.
3418
3419         Change RenderObject to use FloatPoint::scale and FloatQuad::scale
3420         https://bugs.webkit.org/show_bug.cgi?id=61497
3421
3422         Covered by existing test.
3423
3424         * platform/graphics/FloatQuad.h:
3425         (WebCore::FloatQuad::scale):
3426         * rendering/RenderObject.h:
3427         (WebCore::adjustFloatQuadForAbsoluteZoom):
3428         (WebCore::adjustFloatRectForAbsoluteZoom):
3429         (WebCore::adjustFloatQuadForPageScale):
3430         (WebCore::adjustFloatRectForPageScale):
3431
3432 2011-05-26  Alexis Menard  <alexis.menard@openbossa.org>
3433
3434         Unreviewed build fix for Qt and QuickTime backend.
3435
3436         r87328 added a new system interface, we need to add it too.
3437
3438         * platform/qt/WebCoreSystemInterface.h:
3439         * platform/qt/WebCoreSystemInterface.mm:
3440
3441 2011-05-26  Andrey Kosyakov  <caseq@chromium.org>
3442
3443         Unreviewed follow-up to r87395, added checks to avoid accessing undefined member for certain timeline events.
3444
3445         * inspector/front-end/TimelinePanel.js:
3446         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3447         (WebInspector.TimelinePanel.FormattedRecord):
3448
3449 2011-05-25  Ryosuke Niwa  <rniwa@webkit.org>
3450
3451         Reviewed by Enrica Casucci.
3452
3453         WebKit duplicates styles from css rules on copy and paste
3454         https://bugs.webkit.org/show_bug.cgi?id=61466
3455
3456         Fixed the bug by removing duplicate properties from inline style declarations in ReplaceSelectionCommand.
3457         Also moved the code to obtain style from rules from markup.cpp to EditingStyle.cpp to share code.
3458
3459         Test: editing/pasteboard/style-from-rules.html
3460
3461         * editing/EditingStyle.cpp:
3462         (WebCore::EditingStyle::EditingStyle): Added a null check.
3463         (WebCore::EditingStyle::extractFontSizeDelta): Ditto.
3464         (WebCore::styleFromMatchedRulesForElement): Moved from markup.cpp.
3465         (WebCore::EditingStyle::mergeStyleFromRules): Extracted from StyledMarkupAccumulator::appendElement.
3466         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization): Ditto.
3467         (WebCore::EditingStyle::removeStyleFromRules): Added.
3468         * editing/EditingStyle.h:
3469         * editing/ReplaceSelectionCommand.cpp:
3470         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Renamed from
3471         negateStyleRulesThatAffectAppearance; Calls removeStyleFromRules.
3472         * editing/markup.cpp:
3473         (WebCore::StyledMarkupAccumulator::appendElement): Calls mergeStyleFromRulesForSerialization.
3474         (WebCore::styleFromMatchedRulesAndInlineDecl): Calls mergeStyleFromRules; changed the return type
3475         from CSSMutableStyleDeclaration to EditingStyle.
3476         (WebCore::isElementPresentational): Calls styleFromMatchedRulesAndInlineDecl.
3477         (WebCore::shouldIncludeWrapperForFullySelectedRoot): Ditto.
3478         (WebCore::highestAncestorToWrapMarkup): Calls shouldIncludeWrapperForFullySelectedRoot.
3479         (WebCore::createMarkup): Calls styleFromMatchedRulesAndInlineDecl.
3480
3481 2011-05-26  Michael Schneider  <michschn@google.com>
3482
3483         Reviewed by Pavel Feldman.
3484
3485         WebInspector: Added API to access the timeline data in a inspector extension.
3486         https://bugs.webkit.org/show_bug.cgi?id=61098
3487
3488         * WebCore.gypi:
3489         * WebCore.vcproj/WebCore.vcproj:
3490         * inspector/front-end/ExtensionAPI.js:
3491         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
3492         (WebInspector.injectedExtensionAPI):
3493         * inspector/front-end/ExtensionServer.js:
3494         (WebInspector.ExtensionServer):
3495         (WebInspector.ExtensionServer.prototype._addRecordToTimeline):
3496         (WebInspector.ExtensionServer.prototype._onSubscribe):
3497         (WebInspector.ExtensionServer.prototype._onUnsubscribe):
3498         (WebInspector.ExtensionServer.prototype._registerHandler):
3499         (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
3500         * inspector/front-end/TimelineManager.js: Added.
3501         (WebInspector.TimelineManager):
3502         (WebInspector.TimelineManager.prototype.start):
3503         (WebInspector.TimelineManager.prototype.stop):
3504         (WebInspector.TimelineDispatcher):
3505         (WebInspector.TimelineDispatcher.prototype.started):
3506         (WebInspector.TimelineDispatcher.prototype.stopped):
3507         (WebInspector.TimelineDispatcher.prototype.eventRecorded):
3508         * inspector/front-end/TimelinePanel.js:
3509         (WebInspector.TimelinePanel):
3510         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
3511         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
3512         * inspector/front-end/WebKit.qrc:
3513         * inspector/front-end/inspector.html:
3514
3515 2011-05-26  Andrey Kosyakov  <caseq@chromium.org>
3516
3517         Reviewed by Yury Semikhatsky.
3518
3519         Web Inspector: TimelinePanel should not modify input timeline data when processing timeline event
3520         https://bugs.webkit.org/show_bug.cgi?id=61529
3521
3522         Do not modify input timeline data when processing timeline event.
3523
3524         * inspector/front-end/TimelinePanel.js:
3525         (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
3526         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3527         (WebInspector.TimelinePanel.FormattedRecord):
3528         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
3529         (WebInspector.TimelinePanel.FormattedRecord.prototype._refreshDetails):
3530         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
3531
3532 2011-05-26  Rob Buis  <rbuis@rim.com>
3533
3534         Reviewed by Dirk Schulze.
3535
3536         Dynamically created <animate> elements do not animate upon document insertion as they should
3537         https://bugs.webkit.org/show_bug.cgi?id=20028
3538
3539         Tests: svg/animations/animate-insert-begin.html
3540                svg/animations/animate-insert-no-begin.html
3541
3542         Move animation initializing and rescheduling to insertedIntoDocument. This way animate elements
3543         dynamicaly inserted into the document using js start as well.
3544
3545         * svg/animation/SVGSMILElement.cpp:
3546         (WebCore::SVGSMILElement::insertedIntoDocument):
3547         * svg/animation/SVGSMILElement.h:
3548
3549 2011-05-26  Andreas Kling  <kling@webkit.org>
3550
3551         Reviewed by Benjamin Poulain.
3552
3553         JSC DOM bindings: ExecState::argumentCount() is size_t, not int.
3554         https://bugs.webkit.org/show_bug.cgi?id=61530
3555
3556         * bindings/scripts/CodeGeneratorJS.pm:
3557         * bindings/scripts/test/JS/JSTestObj.cpp:
3558         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
3559         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
3560         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
3561         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
3562         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
3563         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
3564         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
3565         (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
3566
3567 2011-05-26  Simon Fraser  <simon.fraser@apple.com>
3568
3569         Reviewed by Adam Roben.
3570
3571         Some repeating linear gradients look wrong
3572         https://bugs.webkit.org/show_bug.cgi?id=61371
3573
3574         Test: fast/gradients/css3-repeating-linear-gradients2.html
3575         
3576         Fix incorrect stop duplication code when filling forwards a repeating
3577         gradient. The "if (srcStopOrdinal < originalNumStops - 1)" test was wrong
3578         because srcStopOrdinal had been adjusted for stops added by start-filling,
3579         but originalNumStops had not. Fix by considering srcStopOrdinal as an index
3580         into the original stops, so comparing it with originalNumStops remains valid.
3581
3582         * css/CSSGradientValue.cpp:
3583         (WebCore::CSSGradientValue::addStops):
3584
3585 2011-05-26  Vsevolod Vlasov  <vsevik@chromium.org>
3586
3587         Reviewed by Yury Semikhatsky.
3588
3589         Web Inspector: In network panel, show transfer size in a first line of resource row.
3590         https://bugs.webkit.org/show_bug.cgi?id=61354
3591
3592         * English.lproj/localizedStrings.js:
3593         * inspector/front-end/NetworkPanel.js:
3594         (WebInspector.NetworkPanel.prototype._createTable):
3595         (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell):
3596
3597 2011-05-25  Simon Fraser  <simon.fraser@apple.com>
3598
3599         Reviewed by Dan Bernstein.
3600
3601         Always antialias borders, outlines and rules when scaling
3602         https://bugs.webkit.org/show_bug.cgi?id=61502
3603         
3604         r84273 changed the behavior of drawLineForBoxSide() to never antialias by default.
3605         This actually disabled antialiasing in some circumstances where it used to be enabled,
3606         for example collapsed table border drawing.
3607         
3608         Fix by allowing antialiasing for collapsed table borders, column rules and span
3609         outlines when the context is scaled.
3610
3611         Test: fast/borders/border-antialiasing.html
3612
3613         * rendering/RenderBlock.cpp:
3614         (WebCore::RenderBlock::paintColumnRules):
3615         * rendering/RenderInline.cpp:
3616         (WebCore::RenderInline::paintOutline):
3617         (WebCore::RenderInline::paintOutlineForLine):
3618         * rendering/RenderTableCell.cpp:
3619         (WebCore::RenderTableCell::paintCollapsedBorder):
3620
3621 2011-05-26  Vsevolod Vlasov  <vsevik@chromium.org>
3622
3623         Reviewed by Yury Semikhatsky.
3624
3625         Web Inspector: Use different SourceFrame instances for ResourcesPanel and NetworkPanel
3626         https://bugs.webkit.org/show_bug.cgi?id=59193
3627
3628         * inspector/front-end/NetworkItemView.js:
3629         (WebInspector.NetworkItemView):
3630         (WebInspector.NetworkItemView._contentViewForResource):
3631         * inspector/front-end/NetworkPanel.js:
3632         (WebInspector.NetworkPanel.prototype._refreshResource):
3633         * inspector/front-end/Resource.js:
3634         (WebInspector.Resource.prototype.get messages):
3635         (WebInspector.Resource.prototype.addMessage):
3636         (WebInspector.Resource.prototype.set errors):
3637         (WebInspector.Resource.prototype.set warnings):
3638         (WebInspector.Resource.prototype.clearErrorsAndWarnings):
3639         * inspector/front-end/ResourceTreeModel.js:
3640         (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
3641         * inspector/front-end/ResourceView.js:
3642         (WebInspector.ResourceView.hasTextContent):
3643         (WebInspector.ResourceView.nonSourceViewForResource):
3644         (WebInspector.ResourceSourceFrame):
3645         (WebInspector.ResourceSourceFrame.mimeTypeForResource):
3646         (WebInspector.ResourceSourceFrame.prototype.requestContent):
3647         (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
3648         (WebInspector.EditableResourceSourceFrame):
3649         (WebInspector.EditableResourceSourceFrame.prototype.doubleClick):
3650         (WebInspector.EditableResourceSourceFrame.prototype.editContent):
3651         (WebInspector.EditableResourceSourceFrame.prototype.cancelEditing):
3652         (WebInspector.EditableResourceSourceFrame.prototype.afterTextChanged):
3653         (WebInspector.EditableResourceSourceFrame.prototype._clearIncrementalUpdateTimer):
3654         (WebInspector.ResourceRevisionSourceFrame):
3655         (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent):
3656         * inspector/front-end/ResourcesPanel.js:
3657         (WebInspector.ResourcesPanel.prototype.showResource):
3658         (WebInspector.ResourcesPanel.prototype._showResourceView):
3659         (WebInspector.ResourcesPanel.prototype._resourceViewForResource):
3660         (WebInspector.ResourcesPanel.prototype._showRevisionView):
3661         (WebInspector.ResourcesPanel.prototype._sourceViewForRevision):
3662         (WebInspector.ResourcesPanel.prototype.searchCanceled):
3663         (WebInspector.ResourcesPanel.prototype._findTreeElementForRevision):
3664         (WebInspector.ResourcesPanel.prototype._findTreeElementForRevision.getParent):
3665         (WebInspector.FrameResourceTreeElement):
3666         (WebInspector.FrameResourceTreeElement.prototype.onattach):
3667         (WebInspector.FrameResourceTreeElement.prototype._updateErrorsAndWarningsBubbles):
3668         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsCleared):
3669         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsMessageAdded):
3670         (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
3671         (WebInspector.FrameResourceTreeElement.prototype.sourceView):
3672         (WebInspector.FrameResourceTreeElement.prototype._createSourceView):
3673         (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
3674         (WebInspector.ResourceRevisionTreeElement):
3675         (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
3676         (WebInspector.ResourceRevisionTreeElement.prototype.sourceView):
3677
3678 2011-05-26  Andreas Kling  <kling@webkit.org>
3679
3680         Reviewed by Darin Adler.
3681
3682         JSC DOM bindings: Use isUndefinedOrNull() instead of (isNull() || isUndefined()).
3683         https://bugs.webkit.org/show_bug.cgi?id=61472
3684
3685         * bindings/scripts/CodeGeneratorJS.pm:
3686         * bindings/scripts/test/JS/JSTestObj.cpp: Rebaselined.
3687         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
3688         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
3689
3690 2011-05-26  Keishi Hattori  <keishi@webkit.org>
3691
3692         Reviewed by Kent Tamura.
3693
3694         Add <input type=color> appearance.
3695         https://bugs.webkit.org/show_bug.cgi?id=61275
3696
3697         Test: fast/forms/color/input-appearance-color.html
3698
3699         * css/html.css:
3700         (input[type="color"]): Adds square-button appearance.
3701         (input[type="color"]::-webkit-color-swatch-wrapper):
3702         (input[type="color"]::-webkit-color-swatch):
3703         (input[type="color"][list]): Adds menulist appearance.
3704         (input[type="color"][list]::-webkit-color-swatch-wrapper):
3705         (input[type="color"][list]::-webkit-color-swatch):
3706         * html/ColorInputType.cpp:
3707         (WebCore::ColorInputType::createShadowSubtree): Creates -webkit-color-swatch inside -webkit-color-swatch-wrapper.
3708         (WebCore::ColorInputType::updateColorSwatch): Updates background color of shadowColorSwatch.
3709         (WebCore::ColorInputType::valueChanged): Calls updateColorSwatch.
3710         (WebCore::ColorInputType::shadowColorSwatch): Gets shadowColorSwatch element.
3711         * html/ColorInputType.h:
3712         (WebCore::ColorInputType::ColorInputType): Changed to inherit InputType.
3713
3714 2011-05-26  Kent Tamura  <tkent@chromium.org>
3715
3716         Reviewed by Dimitri Glazkov.
3717
3718         Fix a bug that <input type="number"> dispatches two blurs when tabbing
3719         from an invalid number
3720         https://bugs.webkit.org/show_bug.cgi?id=59071
3721
3722         NumberInputType::handleBlurEvent() dispatched an extra focus event
3723         and an extra blur event because
3724         SelectionController::textWillBeReplaced() called by
3725         RenderTextControlSingleLine::updateFromElement() focuses a node
3726         with the selection.
3727
3728         In order to avoid this problem,
3729          - Introduce Node::willBlur()
3730            It is called before any state changes by a blur event.
3731          - Call RenderTextControlSingleLine::updateFromElement() in willBlur()
3732            It avoids extra focus/blur events because Document::m_focusedNode is
3733            still the number input during willBlur().
3734
3735         Test: fast/forms/input-number-blur-twice.html
3736
3737         * dom/Document.cpp:
3738         (WebCore::Document::setFocusedNode): Calls Node::beforeBlueEvent().
3739         * dom/Node.cpp:
3740         (WebCore::Node::willBlur):
3741           Default empty implementation of willBlur().
3742         * dom/Node.h: Declare willBlur().
3743         * html/HTMLInputElement.cpp:
3744         (WebCore::HTMLInputElement::willBlur):
3745           Added.  It just calls InputType::willBlur().
3746         (WebCore::HTMLInputElement::handleBlurEvent):
3747           Removed InputType::handleBlurEvent() call.
3748         * html/HTMLInputElement.h: Declare willBlur().
3749         * html/InputType.cpp:
3750         (WebCore::InputType::willBlur): Default empty implementation.
3751         (WebCore::InputType::handleBlurEvent): Removed.
3752         * html/InputType.h: Declare willBlur(), remove handleBlurEvent().
3753         * html/NumberInputType.cpp:
3754         (WebCore::NumberInputType::willBlur):
3755           Move the code in handleBlurEvent() here.
3756         * html/NumberInputType.h: Declare willBlur().
3757
3758 2011-05-25  Hans Wennborg  <hans@chromium.org>
3759
3760         Reviewed by Steve Block.
3761
3762         IndexedDB: Support LevelDB transactions.
3763         https://bugs.webkit.org/show_bug.cgi?id=61270
3764
3765         Introduce LevelDBTransaction, which implements in-memory transaction
3766         support on top of LevelDB, and hook this up for IndexedDB to use.
3767
3768         This is all covered by existing tests.
3769
3770         * CMakeLists.txt:
3771         * GNUmakefile.list.am:
3772         * WebCore.gypi:
3773         * WebCore.pro:
3774         * WebCore.xcodeproj/project.pbxproj:
3775         * platform/leveldb/LevelDBDatabase.cpp:
3776         (WebCore::LevelDBDatabase::open):
3777         (WebCore::LevelDBDatabase::put):
3778         (WebCore::LevelDBDatabase::remove):
3779         (WebCore::LevelDBDatabase::write):
3780         (WebCore::IteratorImpl::IteratorImpl):
3781         (WebCore::IteratorImpl::isValid):
3782         (WebCore::IteratorImpl::seekToLast):
3783         (WebCore::IteratorImpl::seek):
3784         (WebCore::IteratorImpl::next):
3785         (WebCore::IteratorImpl::prev):
3786         (WebCore::IteratorImpl::key):
3787         (WebCore::IteratorImpl::value):
3788         (WebCore::LevelDBDatabase::createIterator):
3789         (WebCore::LevelDBDatabase::comparator):
3790         * platform/leveldb/LevelDBDatabase.h:
3791         * platform/leveldb/LevelDBIterator.h:
3792         (WebCore::LevelDBIterator::~LevelDBIterator):
3793         * platform/leveldb/LevelDBTransaction.cpp: Added.
3794         (WebCore::LevelDBTransaction::create):
3795         (WebCore::LevelDBTransaction::LevelDBTransaction):
3796         (WebCore::LevelDBTransaction::clearTree):
3797         (WebCore::LevelDBTransaction::~LevelDBTransaction):
3798         (WebCore::makeVector):
3799         (WebCore::LevelDBTransaction::set):
3800         (WebCore::LevelDBTransaction::put):
3801         (WebCore::LevelDBTransaction::remove):
3802         (WebCore::LevelDBTransaction::get):
3803         (WebCore::LevelDBTransaction::commit):
3804         (WebCore::LevelDBTransaction::rollback):
3805         (WebCore::LevelDBTransaction::createIterator):
3806         (WebCore::LevelDBTransaction::TreeIterator::create):
3807         (WebCore::LevelDBTransaction::TreeIterator::isValid):
3808         (WebCore::LevelDBTransaction::TreeIterator::seekToLast):
3809         (WebCore::LevelDBTransaction::TreeIterator::seek):
3810         (WebCore::LevelDBTransaction::TreeIterator::next):
3811         (WebCore::LevelDBTransaction::TreeIterator::prev):
3812         (WebCore::LevelDBTransaction::TreeIterator::key):
3813         (WebCore::LevelDBTransaction::TreeIterator::value):
3814         (WebCore::LevelDBTransaction::TreeIterator::isDeleted):
3815         (WebCore::LevelDBTransaction::TreeIterator::reset):
3816         (WebCore::LevelDBTransaction::TreeIterator::~TreeIterator):
3817         (WebCore::LevelDBTransaction::TreeIterator::TreeIterator):
3818         (WebCore::LevelDBTransaction::TransactionIterator::create):
3819         (WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
3820         (WebCore::LevelDBTransaction::TransactionIterator::isValid):
3821         (WebCore::LevelDBTransaction::TransactionIterator::seekToLast):
3822         (WebCore::LevelDBTransaction::TransactionIterator::seek):
3823         (WebCore::LevelDBTransaction::TransactionIterator::next):
3824         (WebCore::LevelDBTransaction::TransactionIterator::prev):
3825         (WebCore::LevelDBTransaction::TransactionIterator::key):
3826         (WebCore::LevelDBTransaction::TransactionIterator::value):
3827         (WebCore::LevelDBTransaction::TransactionIterator::handleConflictsAndDeletes):
3828         (WebCore::LevelDBTransaction::TransactionIterator::setCurrentIteratorToSmallestKey):
3829         (WebCore::LevelDBTransaction::TransactionIterator::setCurrentIteratorToLargestKey):
3830         (WebCore::LevelDBTransaction::registerIterator):
3831         (WebCore::LevelDBTransaction::unregisterIterator):
3832         (WebCore::LevelDBTransaction::resetIterators):
3833         * platform/leveldb/LevelDBTransaction.h: Added.
3834         (WebCore::LevelDBTransaction::AVLTreeAbstractor::get_less):
3835         (WebCore::LevelDBTransaction::AVLTreeAbstractor::set_less):
3836         (WebCore::LevelDBTransaction::AVLTreeAbstractor::get_greater):
3837         (WebCore::LevelDBTransaction::AVLTreeAbstractor::set_greater):
3838         (WebCore::LevelDBTransaction::AVLTreeAbstractor::get_balance_factor):
3839         (WebCore::LevelDBTransaction::AVLTreeAbstractor::set_balance_factor):
3840         (WebCore::LevelDBTransaction::AVLTreeAbstractor::compare_key_key):
3841         (WebCore::LevelDBTransaction::AVLTreeAbstractor::compare_key_node):
3842         (WebCore::LevelDBTransaction::AVLTreeAbstractor::compare_node_node):
3843         (WebCore::LevelDBTransaction::AVLTreeAbstractor::null):
3844         (WebCore::LevelDBTransaction::TransactionIterator::~TransactionIterator):
3845         * platform/leveldb/LevelDBWriteBatch.cpp:
3846         (WebCore::LevelDBWriteBatch::create):
3847         (WebCore::LevelDBWriteBatch::LevelDBWriteBatch):
3848         (WebCore::LevelDBWriteBatch::~LevelDBWriteBatch):
3849         (WebCore::makeSlice):
3850         (WebCore::LevelDBWriteBatch::put):
3851         (WebCore::LevelDBWriteBatch::remove):
3852         (WebCore::LevelDBWriteBatch::clear):
3853         * storage/IDBLevelDBBackingStore.cpp:
3854         (WebCore::getInt):
3855         (WebCore::putInt):
3856         (WebCore::getString):
3857         (WebCore::putString):
3858         (WebCore::getNewObjectStoreId):
3859         (WebCore::IDBLevelDBBackingStore::createObjectStore):
3860         (WebCore::deleteRange):
3861         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
3862         (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
3863         (WebCore::getNewVersionNumber):
3864         (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
3865         (WebCore::IDBLevelDBBackingStore::clearObjectStore):
3866         (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
3867         (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
3868         (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
3869         (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
3870         (WebCore::getNewIndexId):
3871         (WebCore::IDBLevelDBBackingStore::createIndex):
3872         (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
3873         (WebCore::findGreatestKeyLessThan):
3874         (WebCore::versionExists):
3875         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
3876         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
3877         (WebCore::findLastIndexKeyEqualTo):
3878         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
3879         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
3880         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
3881         (WebCore::IDBLevelDBBackingStore::createTransaction):
3882         (WebCore::IDBLevelDBBackingStore::Transaction::create):
3883         (WebCore::IDBLevelDBBackingStore::Transaction::Transaction):
3884         (WebCore::IDBLevelDBBackingStore::Transaction::begin):
3885         (WebCore::IDBLevelDBBackingStore::Transaction::commit):
3886         (WebCore::IDBLevelDBBackingStore::Transaction::rollback):
3887         * storage/IDBLevelDBBackingStore.h:
3888         * storage/IDBTransactionBackendImpl.cpp:
3889         (WebCore::IDBTransactionBackendImpl::abort):
3890
3891 2011-05-26  Shane Stephens  <shanestephens@google.com>
3892
3893         Reviewed by James Robinson.
3894
3895         REGRESSION (r81992): layout triggered by position update fails to apply when transform is updated at same time
3896         https://bugs.webkit.org/show_bug.cgi?id=60689
3897
3898         Test: transforms/2d/set-transform-and-top.html
3899
3900         * rendering/RenderBlock.cpp:
3901         (WebCore::RenderBlock::simplifiedLayout):
3902
3903 2011-05-26  Igor Oliveira  <igor.oliveira@openbossa.org>
3904
3905         Reviewed by Andreas Kling.
3906
3907         drag-not-loaded-image.html test crashes when WebKit is built with debug option
3908         https://bugs.webkit.org/show_bug.cgi?id=61480
3909
3910         Checks if image has content before starting to drag.
3911
3912         * page/DragController.cpp:
3913         (WebCore::DragController::startDrag):
3914
3915 2011-05-26  Alok Priyadarshi  <alokp@chromium.org>
3916
3917         Reviewed by James Robinson.
3918
3919         [chromium] Cannot create stencil render-buffer for accelerated drawing on desktop GL
3920         https://bugs.webkit.org/show_bug.cgi?id=61444
3921
3922         Used DEPTH24_STENCIL8 format for stencil buffer instead of STENCIL_INDEX8.
3923         Packed depth-stencil buffer is the most common format supported by graphics cards.
3924         It is not very robust to rely on just one format being supported,
3925         so long term the task of creating FBO should be delegated to SKIA,
3926         which has necessary code to iterate through all possible formats.
3927
3928         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
3929         (WebCore::LayerTextureUpdaterSkPicture::deleteFrameBuffer):
3930         (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
3931
3932 2011-05-25  Jer Noble  <jer.noble@apple.com>
3933
3934         Reviewed by Dan Bernstein.
3935
3936         30 second rewind button dysfunctional viewing trailers fullscreen.
3937         https://bugs.webkit.org/show_bug.cgi?id=61505
3938
3939         Add support for painting MediaReturnToRealtimeButton, as well as hide and show
3940         the correct default video control buttons when entering full-screen mode.
3941
3942         * css/fullscreenQuickTime.css:
3943         (video:-webkit-full-screen::-webkit-media-controls-return-to-realtime-button):
3944         * html/shadow/MediaControlRootElement.cpp:
3945         (WebCore::MediaControlRootElement::enteredFullscreen): Show the "Back 30s" and
3946             "Return to Realtime" buttons for Live Streams in full-screen mode.
3947         (WebCore::MediaControlRootElement::exitedFullscreen): Reset the styles of 
3948             all the buttons affected by enteredFullscreen().
3949         * rendering/RenderMediaControls.cpp:
3950         (WebCore::RenderMediaControls::paintMediaControlsPart): Add support for 
3951             MediaReturnToRealtimeButton.
3952
3953 2011-05-25  Luke Macpherson   <macpherson@chromium.org>
3954
3955         Reviewed by Dimitri Glazkov.
3956
3957         Implement various CSS font properties in CSSStyleApplyProperty.
3958         https://bugs.webkit.org/show_bug.cgi?id=60603
3959
3960         No new tests - refactoring only.
3961
3962         * css/CSSStyleApplyProperty.cpp:
3963         (WebCore::ApplyPropertyFont):
3964         Added templated class to handle font properties
3965         (WebCore::ApplyPropertyFontWeight):
3966         Added class to handle font weight calculation
3967         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3968         Instantiate ApplyPropertyFont/ApplyPropertyFontWeight for appropriate properties.
3969         * css/CSSStyleSelector.cpp:
3970         (WebCore::CSSStyleSelector::applyProperty):
3971         Remove properties that are now implemented in CSSStyleApplyProperty
3972         * css/CSSStyleSelector.h:
3973         (WebCore::CSSStyleSelector::fontDescription):
3974         Added getter for m_style->fontDescription()
3975         (WebCore::CSSStyleSelector::parentFontDescription):
3976         Added getter for m_parentStyle->fontDescription()
3977         (WebCore::CSSStyleSelector::setFontDescription):
3978         Added setter for m_style->setFontDescription() that automatically sets m_fontDirty
3979
3980 2011-05-25  James Simonsen  <simonjam@chromium.org>
3981
3982         Reviewed by Adam Barth.
3983
3984         Add site-specific hack for zipcar.com with old versions of requirejs.
3985         https://bugs.webkit.org/show_bug.cgi?id=61321
3986
3987         Old versions of requirejs (< 0.15.0) try to load scripts in parallel but execute them in
3988         order. This used to work in webkit by setting a bogus script type (script/cache), then
3989         changing the type to a valid one when they wanted to execute it. This hack translates the
3990         behavior into the new API (by disabling forceAsync).
3991
3992         * html/HTMLScriptElement.cpp:
3993         (WebCore::needsOldRequirejsQuirk): Added.
3994         (WebCore::HTMLScriptElement::insertedIntoDocument):
3995         If hack is needed, set a proper script type so script loads.
3996         If script isn't async, disable forceAsync so script executes in order.
3997
3998 2011-05-25  Andreas Kling  <kling@webkit.org>
3999
4000         Reviewed by David Levin.
4001
4002         Rebaseline run-bindings-tests.
4003         https://bugs.webkit.org/show_bug.cgi?id=61469
4004
4005         * bindings/scripts/test/JS/:
4006         * bindings/scripts/test/V8/:
4007
4008 2011-05-25  Levi Weintraub  <leviw@chromium.org>
4009
4010         Reviewed by Eric Seidel.
4011
4012         Switch itemBoundingBoxRect to use IntPoint
4013         https://bugs.webkit.org/show_bug.cgi?id=60789
4014
4015         Changing itemBoundingBoxRect to use an IntPoint representing the offset
4016         to be added tot he box rect instead of a pair of ints.
4017
4018         No new tests since this is just refactoring.
4019
4020         * accessibility/AccessibilityListBox.cpp:
4021         (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
4022         * accessibility/AccessibilityListBoxOption.cpp:
4023         (WebCore::AccessibilityListBoxOption::elementRect):
4024         * rendering/RenderListBox.cpp:
4025         (WebCore::RenderListBox::itemBoundingBoxRect):
4026         (WebCore::RenderListBox::addFocusRingRects):
4027         (WebCore::RenderListBox::paintItemForeground):
4028         (WebCore::RenderListBox::paintItemBackground):
4029         (WebCore::RenderListBox::nodeAtPoint):
4030         * rendering/RenderListBox.h:
4031
4032 2011-05-24  MORITA Hajime  <morrita@google.com>
4033
4034         Reviewed by Dimitri Glazkov.
4035
4036         RenderText with empty text is not created inside ShadowContentElement 
4037         https://bugs.webkit.org/show_bug.cgi?id=61111        
4038
4039         - Changed Text::rendererIsNeeded() to be shadow-aware.
4040         - previousRenderer(), nextRenderer() and parentRenderer() on NodeRenderingContext is now
4041           safe even if it's used with an attached node, which was originally used only during attach().
4042           We need this change because these APIs are called inside CharacterData::updateRenderer() callstack.
4043         
4044         Tests: fast/html/details-replace-summary-child.html
4045                fast/html/details-replace-text.html
4046
4047         * dom/NodeRenderingContext.cpp:
4048         (WebCore::NodeRenderingContext::NodeRenderingContext):
4049         (WebCore::NodeRenderingContext::nextRenderer):
4050         (WebCore::NodeRenderingContext::previousRenderer):
4051         (WebCore::NodeRenderingContext::parentRenderer):
4052         (WebCore::NodeRenderingContext::shouldCreateRenderer):
4053         * dom/NodeRenderingContext.h:
4054         (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
4055         * dom/Text.cpp:
4056         (WebCore::Text::rendererIsNeeded):
4057
4058 2011-05-25  Sailesh Agrawal  <sail@chromium.org>
4059
4060         Reviewed by Tony Chang.
4061
4062         Rename ScrollbarOverlayUtilitiesMac to ScrollbarOverlayUtilitiesChromiumMac
4063         https://bugs.webkit.org/show_bug.cgi?id=61401
4064
4065         ScrollbarOverlayUtilitiesMac.mm was being excluded from the WebCore project. Fix was to make sure the file name ended with ChromiumMac.
4066
4067         * WebCore.gypi:
4068         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Copied from Source/WebCore/platform/chromium/ScrollbarOverlayUtilitiesMac.h.
4069         * platform/chromium/ScrollbarOverlayUti