42cf4af230adda253eab580d4c7e10f51c30ed93
[WebKit-https.git] / WebCore / ChangeLog
1 2010-05-21  Jer Noble  <jer.noble@apple.com>
2
3         Reviewed by Anders Carlsson.
4
5         Disable full-screen video on Windows
6         https://bugs.webkit.org/show_bug.cgi?id=39506
7         rdar://problem/8012516
8         
9         Disable full-screen video through MediaPlayerPrivateVisualContext since
10         we no longer use GWorlds and QuickTime's built in full-screen support.
11         
12         Media layout tests updated with new expected results.        
13         
14         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
15         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
16
17 2010-05-21  Simon Fraser  <simon.fraser@apple.com>
18
19         Reviewed by Dan Bernstein.
20
21         Avoid creating huge tiled layers with accelerated compositing
22         https://bugs.webkit.org/show_bug.cgi?id=39515
23         
24         Constrain the size of huge composited layers, to avoid bad behavior. We only
25         need to do this if we detect that we need a tiled layer, since we'll make tiled
26         layers for elements over a certain size that need to draw already.
27         
28         Constrain the size by attempting to shrink the longer dimension first.
29
30         Test: compositing/geometry/huge-layer.html
31
32         * platform/graphics/mac/GraphicsLayerCA.h:
33         * platform/graphics/mac/GraphicsLayerCA.mm:
34         (WebCore::GraphicsLayerCA::updateLayerPosition):
35         (WebCore::GraphicsLayerCA::updateLayerSize):
36         (WebCore::GraphicsLayerCA::constrainedSize):
37
38 2010-05-21  David Hyatt  <hyatt@apple.com>
39
40         Reviewed by Dan Bernstein.
41
42         https://bugs.webkit.org/show_bug.cgi?id=39420, :visited not working with background-color.
43
44         Make the RenderStyle color accessors private.  This forces callers to use visitedDependentColor
45         instead (or to make the decision to become friends of the RenderStyle class in order to get access
46         to the real style information).
47
48         Modified history/self-is-visited.html to also test background colors.
49
50         * WebCore.base.exp:
51         * accessibility/AccessibilityTable.cpp:
52         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
53         * accessibility/mac/AccessibilityObjectWrapper.mm:
54         (AXAttributeStringSetStyle):
55         * css/CSSComputedStyleDeclaration.cpp:
56         (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
57         * css/CSSComputedStyleDeclaration.h:
58         * css/SVGCSSStyleSelector.cpp:
59         (WebCore::colorFromSVGColorCSSValue):
60         * editing/ApplyStyleCommand.cpp:
61         (WebCore::ApplyStyleCommand::editingStyleAtPosition):
62         (WebCore::prepareEditingStyleToApplyAt):
63         (WebCore::removeStylesAddedByNode):
64         (WebCore::fontColorChangesComputedStyle):
65         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
66         * editing/ApplyStyleCommand.h:
67         (WebCore::):
68         * editing/CompositeEditCommand.cpp:
69         (WebCore::CompositeEditCommand::moveParagraphs):
70         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
71         * editing/DeleteButtonController.cpp:
72         (WebCore::isDeletableElement):
73         * editing/DeleteSelectionCommand.cpp:
74         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
75         * editing/InsertParagraphSeparatorCommand.cpp:
76         (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion):
77         * editing/RemoveFormatCommand.cpp:
78         (WebCore::RemoveFormatCommand::doApply):
79         * editing/ReplaceSelectionCommand.cpp:
80         (WebCore::handleStyleSpansBeforeInsertion):
81         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
82         (WebCore::ReplaceSelectionCommand::doApply):
83         * editing/SelectionController.cpp:
84         (WebCore::SelectionController::paintCaret):
85         * editing/markup.cpp:
86         (WebCore::createMarkup):
87         * page/animation/AnimationBase.cpp:
88         (WebCore::AnimationBase::ensurePropertyMap):
89         * page/animation/AnimationBase.h:
90         * page/mac/FrameMac.mm:
91         (WebCore::Frame::fontAttributesForSelectionStart):
92         * rendering/EllipsisBox.cpp:
93         (WebCore::EllipsisBox::paint):
94         (WebCore::EllipsisBox::paintSelection):
95         * rendering/InlineTextBox.cpp:
96         (WebCore::InlineTextBox::paint):
97         * rendering/RenderBox.cpp:
98         (WebCore::RenderBox::styleDidChange):
99         (WebCore::RenderBox::paintRootBoxDecorations):
100         (WebCore::RenderBox::paintBoxDecorationsWithSize):
101         * rendering/RenderBoxModelObject.cpp:
102         (WebCore::RenderBoxModelObject::paintBoxShadow):
103         * rendering/RenderFieldset.cpp:
104         (WebCore::RenderFieldset::paintBoxDecorations):
105         * rendering/RenderFileUploadControl.cpp:
106         (WebCore::RenderFileUploadControl::paintObject):
107         * rendering/RenderFrameSet.cpp:
108         (WebCore::RenderFrameSet::paintColumnBorder):
109         (WebCore::RenderFrameSet::paintRowBorder):
110         * rendering/RenderImage.cpp:
111         (WebCore::RenderImage::paintReplaced):
112         * rendering/RenderLayerBacking.cpp:
113         (WebCore::RenderLayerBacking::rendererBackgroundColor):
114         * rendering/RenderLayerBacking.h:
115         * rendering/RenderListBox.cpp:
116         (WebCore::RenderListBox::paintItemForeground):
117         (WebCore::RenderListBox::paintItemBackground):
118         * rendering/RenderListMarker.cpp:
119         (WebCore::RenderListMarker::paint):
120         * rendering/RenderMenuList.cpp:
121         (WebCore::RenderMenuList::itemStyle):
122         (WebCore::RenderMenuList::itemBackgroundColor):
123         (WebCore::RenderMenuList::menuStyle):
124         * rendering/RenderObject.cpp:
125         (WebCore::RenderObject::selectionBackgroundColor):
126         (WebCore::RenderObject::selectionForegroundColor):
127         * rendering/RenderSVGResource.cpp:
128         (WebCore::RenderSVGResource::adjustColorForPseudoRules):
129         (WebCore::RenderSVGResource::fillPaintingResource):
130         (WebCore::RenderSVGResource::strokePaintingResource):
131         * rendering/RenderSVGResource.h:
132         * rendering/RenderTable.cpp:
133         (WebCore::RenderTable::paintBoxDecorations):
134         * rendering/RenderTable.h:
135         (WebCore::RenderTable::bgColor):
136         * rendering/RenderTableCell.cpp:
137         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
138         * rendering/RenderTextControl.cpp:
139         (WebCore::RenderTextControl::adjustInnerTextStyle):
140         * rendering/RenderTextControlSingleLine.cpp:
141         (WebCore::RenderTextControlSingleLine::menuStyle):
142         * rendering/RenderTheme.cpp:
143         (WebCore::RenderTheme::isControlStyled):
144         * rendering/RenderThemeMac.mm:
145         (WebCore::RenderThemeMac::paintMenuListButton):
146         * rendering/RenderTreeAsText.cpp:
147         (WebCore::RenderTreeAsText::writeRenderObject):
148         (WebCore::write):
149         * rendering/RenderTreeAsText.h:
150         * rendering/SVGInlineTextBox.cpp:
151         (WebCore::SVGInlineTextBox::paintSelection):
152         * rendering/SVGRenderTreeAsText.cpp:
153         (WebCore::writeRenderSVGTextBox):
154         * rendering/style/RenderStyle.cpp:
155         (WebCore::RenderStyle::colorIncludingFallback):
156         (WebCore::RenderStyle::visitedDependentColor):
157         * rendering/style/RenderStyle.h:
158         (WebCore::):
159         (WebCore::InheritedFlags::hasBackground):
160         (WebCore::InheritedFlags::borderLeftStyle):
161         (WebCore::InheritedFlags::borderRightStyle):
162         (WebCore::InheritedFlags::borderTopStyle):
163         (WebCore::InheritedFlags::borderBottomStyle):
164         (WebCore::InheritedFlags::textShadow):
165         (WebCore::InheritedFlags::textStrokeWidth):
166         (WebCore::InheritedFlags::hasNormalColumnGap):
167         (WebCore::InheritedFlags::borderLeftColor):
168         (WebCore::InheritedFlags::borderRightColor):
169         (WebCore::InheritedFlags::borderTopColor):
170         (WebCore::InheritedFlags::borderBottomColor):
171         (WebCore::InheritedFlags::backgroundColor):
172         (WebCore::InheritedFlags::color):
173         (WebCore::InheritedFlags::columnRuleColor):
174         (WebCore::InheritedFlags::outlineColor):
175         (WebCore::InheritedFlags::textFillColor):
176         (WebCore::InheritedFlags::textStrokeColor):
177         * svg/SVGAnimationElement.cpp:
178         (WebCore::adjustForCurrentColor):
179
180 2010-05-21  Beth Dakin  <bdakin@apple.com>
181
182         Reviewed by Darin Adler.
183
184         Fix for <rdar://problem/8009118> Crash in WebCore::toAlphabetic() 
185         while running MangleMe
186         -and corresponding-
187         https://bugs.webkit.org/show_bug.cgi?id=39508
188
189         The math was slightly off here, and we wound up trying to access an 
190         array at index -1 in some cases. We need to decrement numberShadow 
191         rather than subtracting one from the result of the modulo 
192         operation.
193
194         * rendering/RenderListMarker.cpp:
195         (WebCore::toAlphabeticOrNumeric):
196
197 2010-05-21  Oliver Hunt  <oliver@apple.com>
198
199         Qt buildfix #2
200
201         * bridge/qt/qt_runtime.cpp:
202         (JSC::Bindings::convertQVariantToValue):
203         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
204
205 2010-05-21  Oliver Hunt  <oliver@apple.com>
206
207         Qt buildfix #1
208
209         * bridge/qt/qt_instance.cpp:
210         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
211         (JSC::Bindings::QtInstance::newRuntimeObject):
212         (JSC::Bindings::QtInstance::getMethod):
213         * bridge/qt/qt_pixmapruntime.cpp:
214         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
215         (JSC::Bindings::QtPixmapInstance::getMethod):
216         (JSC::Bindings::QtPixmapInstance::createRuntimeObject):
217
218 2010-05-21  Geoffrey Garen  <ggaren@apple.com>
219
220         Reviewed by Oliver Hunt.
221
222         Fixed failure seen on buildbot (due to flaky test).
223         
224         Don't report an exception in a nested script evaluation -- just pass the
225         exception on to our caller. Our caller can decide to report the exception,
226         if it fully propagates -- but we don't want to report an exception that's
227         going to get caught.
228
229         * bindings/js/ScriptController.cpp:
230         (WebCore::ScriptController::ScriptController):
231         (WebCore::ScriptController::evaluateInWorld):
232         * bindings/js/ScriptController.h:
233
234 2010-05-21  Oliver Hunt  <oliver@apple.com>
235
236         Reviewed by Geoffrey Garen.
237
238         All callable objects should have a global object reference
239         https://bugs.webkit.org/show_bug.cgi?id=39495
240
241         Update the bindings generator to give prototype objects a
242         global object.  Update all the manually written JSObject
243         subclasses to pass a global object.
244
245         * ForwardingHeaders/runtime/JSObjectWithGlobalObject.h: Added.
246         * WebCore.PluginHostProcess.exp:
247         * bindings/js/JSDOMBinding.cpp:
248         (WebCore::objectToStringFunctionGetter):
249         * bindings/js/JSDOMWindowCustom.cpp:
250         (WebCore::nonCachingStaticFunctionGetter):
251         * bindings/js/JSDOMWindowShell.cpp:
252         (WebCore::JSDOMWindowShell::setWindow):
253         * bindings/js/JSHistoryCustom.cpp:
254         (WebCore::nonCachingStaticBackFunctionGetter):
255         (WebCore::nonCachingStaticForwardFunctionGetter):
256         (WebCore::nonCachingStaticGoFunctionGetter):
257         * bindings/js/JSLocationCustom.cpp:
258         (WebCore::nonCachingStaticReplaceFunctionGetter):
259         (WebCore::nonCachingStaticReloadFunctionGetter):
260         (WebCore::nonCachingStaticAssignFunctionGetter):
261         * bindings/js/WorkerScriptController.cpp:
262         (WebCore::WorkerScriptController::initScript):
263         * bindings/scripts/CodeGeneratorJS.pm:
264         * bridge/c/CRuntimeObject.cpp:
265         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
266         * bridge/c/CRuntimeObject.h:
267         * bridge/c/c_instance.cpp:
268         (JSC::Bindings::CInstance::newRuntimeObject):
269         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
270         (JSC::Bindings::CInstance::getMethod):
271         * bridge/jni/jsc/JavaInstanceJSC.cpp:
272         (JavaInstance::newRuntimeObject):
273         (JavaRuntimeMethod::JavaRuntimeMethod):
274         (JavaInstance::getMethod):
275         * bridge/jni/jsc/JavaRuntimeObject.cpp:
276         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
277         * bridge/jni/jsc/JavaRuntimeObject.h:
278         * bridge/jsc/BridgeJSC.cpp:
279         (JSC::Bindings::Instance::newRuntimeObject):
280         * bridge/objc/ObjCRuntimeObject.h:
281         * bridge/objc/ObjCRuntimeObject.mm:
282         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
283         * bridge/objc/objc_class.mm:
284         (JSC::Bindings::ObjcClass::fallbackObject):
285         * bridge/objc/objc_instance.mm:
286         (ObjcInstance::newRuntimeObject):
287         (ObjCRuntimeMethod::ObjCRuntimeMethod):
288         (ObjcInstance::getMethod):
289         * bridge/objc/objc_runtime.h:
290         * bridge/objc/objc_runtime.mm:
291         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
292         * bridge/runtime_method.cpp:
293         (JSC::RuntimeMethod::RuntimeMethod):
294         * bridge/runtime_method.h:
295         * bridge/runtime_object.cpp:
296         (JSC::Bindings::RuntimeObject::RuntimeObject):
297         * bridge/runtime_object.h:
298
299 2010-05-21  Steve Block  <steveblock@google.com>
300
301         Reviewed by Jeremy Orlow.
302
303         Add DeviceOrientation and DeviceOrientationClient
304         https://bugs.webkit.org/show_bug.cgi?id=39479
305
306         The page owns a DeviceOrientation object, which has a pointer to a
307         DeviceOrientationClient object provided by the embedder. The
308         DeviceOrientation object forwards requests to start listening to
309         orientation to the client, and when updates are available, fires a
310         DeviceOrientationEvent on the window object.
311
312         No new tests are possible at this time as the implementation is
313         incomplete. Future patches will add LayoutTestController methods
314         to provide mock orientation events to test this.
315
316         * Android.mk:
317         * CMakeLists.txt:
318         * GNUmakefile.am:
319         * WebCore.base.exp:
320         * WebCore.gypi:
321         * WebCore.pro:
322         * WebCore.vcproj/WebCore.vcproj
323         * WebCore.xcodeproj/project.pbxproj:
324         * dom/DeviceOrientation.cpp: Added.
325         (WebCore::DeviceOrientation::DeviceOrientation):
326         (WebCore::DeviceOrientation::onDeviceOrientationChange):
327         * dom/DeviceOrientation.h: Added.
328         * dom/DeviceOrientationClient.h: Added.
329         (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
330         * page/Page.cpp:
331         (WebCore::Page::Page):
332         * page/Page.h:
333         (WebCore::Page::deviceOrientation):
334         * svg/graphics/SVGImage.cpp:
335         (WebCore::SVGImage::dataChanged):
336
337 2010-05-21  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
338
339         Reviewed by Simon Hausmann.
340
341         [Qt] Fix compilation with QT_NO_GRAPHICSEFFECT
342         https://bugs.webkit.org/show_bug.cgi?id=38324
343
344         * platform/graphics/qt/GraphicsLayerQt.cpp:
345         (WebCore::GraphicsLayerQtImpl::flushChanges):
346
347 2010-05-21  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
348
349         Reviewed by Darin Fisher.
350
351         Fix the HistoryController::pushState.
352
353         It should be possible to call the pushState method from
354         the first page in a window.
355
356         history.pushState doesn't work for the first page in a window.
357         https://bugs.webkit.org/show_bug.cgi?id=39418
358
359         * loader/HistoryController.cpp:
360         (WebCore::HistoryController::pushState):
361
362 2010-05-21  Victoria Kirst  <vrk@google.com>
363
364         Reviewed by David Levin.
365
366         [chromium] Fix slider status when buffering
367         https://bugs.webkit.org/show_bug.cgi?id=39370
368         Adjusts the buffering bar to be aligned with the slider thumb.
369
370         No new tests. (Covered by existing layout tests.)
371
372         * rendering/RenderMediaControlsChromium.cpp:
373         (WebCore::paintMediaSlider):
374         Added logic to align the buffering bar with the thumb. Half of the
375         thumb image is transparent, so the buffer bar is adjusted to fill in
376         this gap.
377
378 2010-05-21  Jesus Sanchez-Palencia  <jesus@webkit.org>
379
380         Reviewed by Eric Seidel.
381
382         Extra processesArguments() calls in Document::processViewport
383         https://bugs.webkit.org/show_bug.cgi?id=39358
384
385         The viewport arguments are only needed when there is a frame->page(),
386         therefore we don't need to always call processArguments().
387
388         * dom/Document.cpp:
389         (WebCore::Document::processViewport):
390
391 2010-05-17  Philippe Normand  <pnormand@igalia.com>
392
393         Reviewed by Eric Carlson.
394
395         [GStreamer] video painting support on mac port
396         https://bugs.webkit.org/show_bug.cgi?id=39206
397
398         ImageGStreamer support for mac port. A CG Image is created using
399         the GstBuffer data. It can then be painted by the gstreamer player.
400
401         * platform/graphics/gstreamer/ImageGStreamer.h:
402         * platform/graphics/gstreamer/ImageGStreamerCG.mm: Added.
403         (ImageGStreamer::createImage):
404         (ImageGStreamer::ImageGStreamer):
405         (ImageGStreamer::~ImageGStreamer):
406
407 2010-05-21  Robin Cao  <robin.cao@torchmobile.com.cn>
408
409         Reviewed by Eric Seidel.
410
411         animateTransform does not work on gradientTransform
412         https://bugs.webkit.org/show_bug.cgi?id=38115
413
414         Tests: svg/animations/animate-gradient-transform.html
415
416         * svg/SVGAnimateTransformElement.cpp:
417         (WebCore::SVGAnimateTransformElement::hasValidTarget): Check if the target element is gradient.
418         (WebCore::transformListFor): Ditto.
419         (WebCore::SVGAnimateTransformElement::resetToBaseValue): Ditto.
420         (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto.
421
422 2010-05-21  Young Han Lee  <joybro@company100.net>
423
424         Reviewed by Eric Seidel.
425
426         Fix guard around DatabaseSync
427         https://bugs.webkit.org/show_bug.cgi?id=38897
428
429         * storage/DatabaseSync.cpp:
430
431 2010-05-21  Simon Hausmann  <simon.hausmann@nokia.com>
432
433         [Qt] Prospective Qt/Mac build fix
434
435         My cpp is paranoid and doesn't like #if Q_WS_MAC:
436         error: #if with no expression
437
438         * page/qt/EventHandlerQt.cpp:
439
440 2010-05-21  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
441
442         Reviewed by Eric Seidel.
443
444         [EFL] Update Localized Strings. Remove markers from strings
445         since we are not using them and they are only polluting output.
446         https://bugs.webkit.org/show_bug.cgi?id=39371
447
448         No new tests required.
449
450         * platform/efl/LocalizedStringsEfl.cpp:
451         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
452         (WebCore::contextMenuItemTagDownloadLinkToDisk):
453         (WebCore::contextMenuItemTagCopyLinkToClipboard):
454         (WebCore::contextMenuItemTagOpenImageInNewWindow):
455         (WebCore::contextMenuItemTagDownloadImageToDisk):
456         (WebCore::contextMenuItemTagCopyImageToClipboard):
457         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
458         (WebCore::contextMenuItemTagSelectAll):
459         (WebCore::contextMenuItemTagUnicode):
460         (WebCore::contextMenuItemTagInputMethods):
461         (WebCore::contextMenuItemTagGoBack):
462         (WebCore::contextMenuItemTagGoForward):
463         (WebCore::contextMenuItemTagReload):
464         (WebCore::contextMenuItemTagIgnoreSpelling):
465         (WebCore::contextMenuItemTagLearnSpelling):
466         (WebCore::contextMenuItemTagSearchWeb):
467         (WebCore::contextMenuItemTagLookUpInDictionary):
468         (WebCore::contextMenuItemTagOpenLink):
469         (WebCore::contextMenuItemTagIgnoreGrammar):
470         (WebCore::contextMenuItemTagSpellingMenu):
471         (WebCore::contextMenuItemTagCheckSpelling):
472         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
473         (WebCore::contextMenuItemTagFontMenu):
474         (WebCore::contextMenuItemTagOutline):
475         (WebCore::contextMenuItemTagInspectElement):
476         (WebCore::searchMenuClearRecentSearchesText):
477         (WebCore::missingPluginText): Add missing message.
478         (WebCore::multipleFileUploadText):
479         (WebCore::crashedPluginText):
480
481 2010-05-21  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
482
483         Reviewed by Eric Seidel.
484
485         [EF] Fix support for focus ring.
486         https://bugs.webkit.org/show_bug.cgi?id=39387
487
488         No new tests required.
489
490         * html/HTMLAnchorElement.cpp: Add EFL to #ifdef
491         (WebCore::HTMLAnchorElement::isMouseFocusable):
492
493 2010-05-21  Kwang Yul Seo  <skyul@company100.net>
494
495         Reviewed by Eric Seidel.
496
497         [BREWMP] Add missing localized string symbols.
498         https://bugs.webkit.org/show_bug.cgi?id=39394
499
500         Add missingPluginText and crashedPluginText.
501
502         * platform/brew/LocalizedStringsBrew.cpp:
503         (WebCore::missingPluginText):
504         (WebCore::crashedPluginText):
505
506 2010-05-21  Steve Block  <steveblock@google.com>
507
508         Reviewed by Alexey Proskuryakov.
509
510         Calls to CallJNIMethodIDA() in JavaInstance::invokeMethod() are required on Android
511         https://bugs.webkit.org/show_bug.cgi?id=39426
512
513         This code path has always been used by Android, but was guarded with
514         BUILDING_ON_TIGER in http://trac.webkit.org/changeset/55054, thus
515         breaking the Android build.
516
517         No new tests, build fix only.
518
519         * bridge/jni/jsc/JavaInstanceJSC.cpp:
520         (JavaInstance::invokeMethod):
521
522 2010-05-20  Tony Chang  <tony@chromium.org>
523
524         Reviewed by Kent Tamura.
525
526         escape link text when copying or dragging links on win or chromium
527         https://bugs.webkit.org/show_bug.cgi?id=39413
528
529         * editing/markup.cpp:
530         (WebCore::urlToMarkup):
531         * editing/markup.h:
532         * platform/chromium/ClipboardUtilitiesChromium.cpp:
533         * platform/chromium/ClipboardUtilitiesChromium.h:
534         * platform/win/ClipboardUtilitiesWin.cpp:
535         * platform/win/ClipboardUtilitiesWin.h:
536
537 2010-05-18  Philippe Normand  <pnormand@igalia.com>
538
539         Reviewed by Eric Carlson.
540
541         [GStreamer] PlatformMedia support
542         https://bugs.webkit.org/show_bug.cgi?id=39300
543
544         Basic support for PlatformMedia in the gst player. The
545         PlatformMedia object contains a GStreamerGWorld object. That
546         object is empty for now. XOverlay features will be added later
547         on for easy review sake.
548
549         * GNUmakefile.am:
550         * platform/graphics/MediaPlayer.h:
551         (WebCore::PlatformMedia::):
552         * platform/graphics/gstreamer/GStreamerGWorld.cpp: Added.
553         (WebCore::GStreamerGWorld::createGWorld):
554         (WebCore::GStreamerGWorld::GStreamerGWorld):
555         (WebCore::GStreamerGWorld::~GStreamerGWorld):
556         * platform/graphics/gstreamer/GStreamerGWorld.h: Added.
557         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
558         (WebCore::MediaPlayerPrivateGStreamer::platformMedia):
559         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
560         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
561
562 2010-05-20  Kwang Yul Seo  <skyul@company100.net>
563
564         Reviewed by Eric Seidel.
565
566         [BREWMP] Add dummy SSLKeyGenerator
567         https://bugs.webkit.org/show_bug.cgi?id=39403
568
569         Add dummy implementation of SSLKeyGenerator.
570
571         * platform/brew/SSLKeyGeneratorBrew.cpp: Added.
572         (WebCore::WebCore::getSupportedKeySizes):
573         (WebCore::WebCore::signedPublicKeyAndChallengeString):
574
575 2010-05-20  Mark Rowe  <mrowe@apple.com>
576
577         Rubber-stamped by Dan Bernstein.
578
579         <rdar://problem/7848154> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS_2__ define.
580
581         * platform/mac/EmptyProtocolDefinitions.h:
582
583 2010-05-20  Kwang Yul Seo  <skyul@company100.net>
584
585         Reviewed by Eric Seidel.
586
587         [BREWMP] Add Editor
588         https://bugs.webkit.org/show_bug.cgi?id=39404
589
590         Implement Editor::newGeneralClipboard.
591
592         * editing/brew/EditorBrew.cpp: Added.
593         (WebCore::Editor::newGeneralClipboard):
594
595 2010-05-20  Simon Fraser  <simon.fraser@apple.com>
596
597         Reviewed by Adam Roben.
598
599         Avoid flushing CA layers when a layout is pending
600         https://bugs.webkit.org/show_bug.cgi?id=39463
601         <rdar://problem/7999463>
602
603         Avoid rendering the compositing layers to the screen if there's a layout pending,
604         since the layer tree not in a state that should be presented to the user.
605         
606         This fixes flashes in some types of content that dynamically add and remove layers.
607
608         Do this by adding a WKCACFLayerRendererClient for WKCACFLayerRenderer, which it can
609         call through to ask whether now is a good time to render. If not, it schedules
610         another render soon.
611         
612         * platform/graphics/win/WKCACFLayerRenderer.h:
613         (WebCore::WKCACFLayerRendererClient::~WKCACFLayerRendererClient):
614         * platform/graphics/win/WKCACFLayerRenderer.cpp:
615         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
616         (WebCore::WKCACFLayerRenderer::create):
617         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
618         (WebCore::WKCACFLayerRenderer::render):
619
620 2010-05-20  Kwang Yul Seo  <skyul@company100.net>
621
622         Reviewed by Eric Seidel.
623
624         [BREWMP] Don't include CoreFoundation.h when building for BREW MP
625         https://bugs.webkit.org/show_bug.cgi?id=39405
626
627         Add !defined(BUILDING_BREWMP__) guard for CoreFoundation.h.
628
629         * WebCorePrefix.h:
630
631 2010-05-20  Kwang Yul Seo  <skyul@company100.net>
632
633         Reviewed by Eric Seidel.
634
635         [BREWMP] Add ScrollTheme
636         https://bugs.webkit.org/show_bug.cgi?id=39406
637
638         As BREW MP always uses frame flattening, there is no need to render scorllbars.
639         Use the default scrollbar theme with thickness 0.
640
641         * platform/brew/ScrollbarThemeBrew.cpp: Added.
642         (WebCore::ScrollbarTheme::nativeTheme):
643         (WebCore::ScrollbarThemeBrew::~ScrollbarThemeBrew):
644         * platform/brew/ScrollbarThemeBrew.h: Added.
645
646 2010-05-20  Jon Honeycutt  <jhoneycutt@apple.com>
647
648         REGRESSION(r53637): DivX plug-in fails to start until window is resized
649         https://bugs.webkit.org/show_bug.cgi?id=39457
650         <rdar://problem/8006102>
651
652         Before r53637, we called Widget::move() (which caused us to call
653         NPP_SetWindow) before painting a plug-in. r53637 removed the call to
654         Widget::move(), and we end up never calling NPP_SetWindow for plug-ins
655         with the "DeferFirstSetWindowCall" quirk, including the DivX plug-in.
656
657         Reviewed by Simon Fraser.
658
659         * manual-tests/divx-plugin-fails-to-draw.html: Added.
660
661         * plugins/PluginView.cpp:
662         (WebCore::PluginView::PluginView):
663         Initialize new member to false.
664
665         * plugins/PluginView.h:
666         Added new member.
667
668         * plugins/win/PluginViewWin.cpp:
669         (WebCore::PluginView::paint):
670         Call setNPWindowRect() before painting to ensure that NPP_SetWindow gets
671         called.
672         (WebCore::PluginView::setNPWindowRect):
673         Set m_haveCalledSetWindow.
674
675 2010-05-20  Fumitoshi Ukai  <ukai@chromium.org>
676
677         Reviewed by Alexey Proskuryakov.
678
679         WebSocket handshake incompatible change in draft-hixie-thewebsocketprotocol-76
680         https://bugs.webkit.org/show_bug.cgi?id=35572
681
682         WebSocket opening handshake is changed.  New protocol draft could be found at http://www.whatwg.org/specs/web-socket-protocol/
683         It requires https://bugs.webkit.org/show_bug.cgi?id=38034 to pass websocket tests.
684
685         * websockets/WebSocketHandshake.cpp:
686         (WebCore::extractResponseCode):
687         add lineLength parameter to return length of status line.
688         (WebCore::hostName): Added.
689         (WebCore::generateSecWebSocketKey): Added.
690         (WebCore::generateKey3): Added.
691         (WebCore::setChallengeNumber): Added.
692         (WebCore::generateChallengeResponseExpected): Added.
693         (WebCore::WebSocketHandshake::WebSocketHandshake):
694          generate challenge response key and expected data.
695         (WebCore::WebSocketHandshake::clientLocation):
696          use hostName.
697         (WebCore::WebSocketHandshake::clientHandshakeMessage):
698          changed for draft 76 spec.
699         (WebCore::WebSocketHandshake::clientHandshakeRequest):
700         (WebCore::WebSocketHandshake::readServerHandshake):
701          changed for draft 76 spec.
702          m_mode is managed in this method.
703         (WebCore::WebSocketHandshake::readHTTPHeaders):
704          change error log messages.
705         (WebCore::WebSocketHandshake::processHeaders):
706          chagned for draft 76 spec.
707         (WebCore::WebSocketHandshake::checkResponseHeaders):
708          return boolean whether response header is ok or not and not change m_mode in it.
709         * websockets/WebSocketHandshake.h:
710
711 2010-05-20  Adam Roben  <aroben@apple.com>
712
713         Stop leaking all CACFContexts
714
715         Fixes <http://webkit.org/b/39466> <rdar://problem/8007141>.
716
717         Reviewed by Simon Fraser.
718
719         * platform/graphics/win/WKCACFContextFlusher.cpp:
720         (WebCore::WKCACFContextFlusher::addContext): Only retain the context
721         when we first add it to the m_contexts set. Otherwise we'll retain the
722         same context multiple times, causing it to leak.
723
724 2010-05-20  Young Han Lee  <joybro@company100.net>
725
726         Reviewed by Darin Adler.
727
728         Create filenameFromString for all ports except GTK and EFL.
729         https://bugs.webkit.org/show_bug.cgi?id=39348
730
731         * platform/FileSystem.cpp: Added.
732         (WebCore::filenameFromString):
733         * platform/FileSystem.h:
734
735 2010-05-20  Young Han Lee  <joybro@company100.net>
736
737         Reviewed by Darin Adler.
738
739         Port SharedBuffer to POSIX.
740         https://bugs.webkit.org/show_bug.cgi?id=39283
741
742         * platform/posix/SharedBufferPOSIX.cpp: Added.
743         (WebCore::SharedBuffer::createWithContentsOfFile):
744
745 2010-05-20  Zhenyao Mo  <zmo@google.com>
746
747         Reviewed by Dimitri Glazkov.
748
749         Map RGBA4/RGB5_A1 to RGBA and RGB565 to RGB in RenderbufferStorage
750         https://bugs.webkit.org/show_bug.cgi?id=39077
751
752         * platform/graphics/mac/GraphicsContext3DMac.cpp:
753         (WebCore::GraphicsContext3D::renderbufferStorage): Mapping the enums.
754
755 2010-05-20  Dan Bernstein  <mitz@apple.com>
756
757         Reviewed by Dave Hyatt.
758
759         <rdar://problem/8007953> Textarea using custom font appears blank
760
761         Test: fast/css/font-face-in-shadow-DOM.html
762
763         When a remote font is loaded, CSSFontSelector forces a style recalc, which replaces all
764         RenderSyles that have FontFallbackLists referencing the placeholder font with fresh
765         RenderStyles. However, it does not descend into shadow DOM trees, so those may end up with
766         styles that still reference the placeholder font.
767
768         The fix is to add RenderObject::requiresForcedStyleRecalcPropagation() and have it return
769         true from renderers that maintain shadow DOM trees or otherwise keep their own RenderStyles.
770
771         * dom/Element.cpp:
772         (WebCore::Element::recalcStyle): Check if forced style recalc needs to propagated.
773         * rendering/RenderButton.h:
774         (WebCore::RenderButton::requiresForcedStyleRecalcPropagation):
775         * rendering/RenderDataGrid.h:
776         (WebCore::RenderDataGrid::requiresForcedStyleRecalcPropagation):
777         * rendering/RenderFileUploadControl.h:
778         (WebCore::RenderFileUploadControl::requiresForcedStyleRecalcPropagation):
779         * rendering/RenderListItem.h:
780         (WebCore::RenderListItem::requiresForcedStyleRecalcPropagation):
781         * rendering/RenderMedia.h:
782         (WebCore::RenderMedia::requiresForcedStyleRecalcPropagation):
783         * rendering/RenderMenuList.h:
784         (WebCore::RenderMenuList::RenderMenuList::requiresForcedStyleRecalcPropagation):
785         * rendering/RenderObject.h:
786         (WebCore::RenderObject::requiresForcedStyleRecalcPropagation):
787         * rendering/RenderProgress.h:
788         (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
789         * rendering/RenderSlider.h:
790         (WebCore::RenderSlider::requiresForcedStyleRecalcPropagation):
791         * rendering/RenderTextControl.h:
792         (WebCore::RenderTextControl::requiresForcedStyleRecalcPropagation):
793
794 2010-05-20  Jer Noble  <jer.noble@apple.com>
795
796         No review; build fix only.
797
798         When WTF_USE_ACCELERATED_COMPOSITING is turned off, MediaPlayerPrivateQuickTimeVisualContext.cpp
799         must include CoreGraphics/CGContext.h.
800
801         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
802
803 2010-05-20  Jer Noble  <jer.noble@apple.com>
804
805         Reviewed by Sam Weinig.
806
807         Video elements show no video on Windows machines that do not support accelerated compositing
808         https://bugs.webkit.org/show_bug.cgi?id=39446
809         rdar://problem/7999794
810
811         Implement the paint() method in MediaPlayerPrivateQuickTimeVisualContext.  The visual context should
812         be set up in load() and torn down in the destructor (as opposed to setUpVideoRendering and 
813         tearDownVideoRendering, which won't get called in a non-accelerated compositing case).
814         
815         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
816         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
817         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
818         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
819         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::visualContextTimerFired):
820         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
821         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
822         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
823
824 2010-05-20  Abhishek Arya  <inferno@chromium.org>
825
826         Reviewed by Adam Barth.
827
828         Added a method to check if the security origin can access
829         password manager.
830         https://bugs.webkit.org/show_bug.cgi?id=38916
831
832         * page/SecurityOrigin.h:
833         (WebCore::SecurityOrigin::canAccessPasswordManager):
834
835 2010-05-20  Darin Adler  <darin@apple.com>
836
837         Reviewed by Eric Seidel.
838
839         Fix warnings seen on the buildbots today
840         https://bugs.webkit.org/show_bug.cgi?id=39368
841
842         * loader/icon/IconDatabase.cpp:
843         (WebCore::IconDatabase::pruneUnretainedIcons): Use the type "long long" for
844         things being printed with "%lli". There is no guaranteed that int64_t is the
845         same thing as long long.
846
847         * page/EventHandler.cpp:
848         (WebCore::EventHandler::handleMousePressEvent): Added parentheses as suggested
849         by warnings in newer versions of GCC.
850
851         * platform/ContextMenu.cpp: Fix #if around the functions to match the #if
852         around the call sites to avoid unused function warning.
853
854         * platform/graphics/gtk/ImageGtk.cpp:
855         (WebCore::Image::loadPlatformResource): Use NULL to end a variable argument list
856         rather than 0. This is a case where the WebKit "use 0 instead of NULL" guideline
857         is incorrect and won't work properly.
858
859         * platform/win/SystemTimeWin.cpp:
860         (WebCore::userIdleTime): Removed unnecessary initialization of LASTINPUTINFO.
861
862         * platform/win/WebCoreInstanceHandle.h: Added property svn:eol-style.
863         Made functions inline instead of static. It's not correct to have functions with
864         internal linkage in a header file. Marking them inline makes more sense.
865
866         * plugins/win/PluginMessageThrottlerWin.cpp:
867         (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Reordered the
868         initializers to match the order of the data members from the class definition.
869
870         * plugins/win/PluginViewWin.cpp:
871         (WebCore::PluginView::paintIntoTransformedContext): Initialized all the fields
872         of WINDOWPOS. I know this goes against the traditions of Windows programming,
873         but it's correct and silences the warning. Also removed the unneeded separate
874         code path for non-WinCE platforms that translates only the corner of the window
875         rectangle; the WinCE version is correct for normal Windows as well. Not sure
876         why this wasn't caught when the code was originally checked in.
877
878 2010-05-20  Justin Schuh  <jschuh@chromium.org>
879
880         Reviewed by Adam Barth.
881
882         Moving frame.src checks out of the bindings
883         https://bugs.webkit.org/show_bug.cgi?id=37815
884
885         Moved JavaScript frame.src checks out of bindings and into
886         HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
887         so ExecState is available inside core DOM. Updated affected bindings
888         (except for GObject, which will need to be updated to avoid origin
889         failures inside native code).
890
891         * Android.jscbindings.mk:
892         * CMakeLists.txt:
893         * GNUmakefile.am:
894         * WebCore.gypi:
895         * WebCore.pro:
896         * WebCore.vcproj/WebCore.vcproj:
897         * WebCore.xcodeproj/project.pbxproj:
898         * bindings/js/JSBindingsAllInOne.cpp:
899         * bindings/js/JSCallbackData.cpp:
900         (WebCore::JSCallbackData::invokeCallback):
901         * bindings/js/JSEventListener.cpp:
902         (WebCore::JSEventListener::handleEvent):
903         * bindings/js/JSInjectedScriptHostCustom.cpp:
904         (WebCore::InjectedScriptHost::createInjectedScript):
905         * bindings/js/JSMainThreadExecState.cpp: Added.
906         * bindings/js/JSMainThreadExecState.h: Added.
907         (WebCore::JSMainThreadExecState::currentState):
908         (WebCore::JSMainThreadExecState::call):
909         (WebCore::JSMainThreadExecState::evaluate):
910         (WebCore::JSMainThreadExecState::JSMainThreadExecState):
911         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
912         (WebCore::JSMainThreadNullState::JSMainThreadNullState):
913         * bindings/js/ScheduledAction.cpp:
914         (WebCore::ScheduledAction::executeFunctionInContext):
915         (WebCore::ScheduledAction::execute):
916         * bindings/js/ScheduledAction.h:
917         * bindings/js/ScriptController.cpp:
918         (WebCore::ScriptController::evaluateInWorld):
919         (WebCore::ScriptController::canAccessFromCurrentOrigin):
920         * bindings/js/ScriptController.h:
921         * bindings/js/ScriptFunctionCall.cpp:
922         (WebCore::ScriptFunctionCall::call):
923         * bindings/objc/ObjCEventListener.mm:
924         * bindings/objc/WebScriptObject.mm:
925         (-[WebScriptObject callWebScriptMethod:withArguments:]):
926         (-[WebScriptObject evaluateWebScript:]):
927         * bindings/scripts/CodeGeneratorObjC.pm:
928         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
929         (-[DOMTestCallback callbackWithClass1Param:]):
930         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
931         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
932         (-[DOMTestCallback customCallback:class6Param:]):
933         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
934         * bindings/scripts/test/ObjC/DOMTestObj.mm:
935         (-[DOMTestObj readOnlyIntAttr]):
936         (-[DOMTestObj readOnlyStringAttr]):
937         (-[DOMTestObj readOnlyTestObjAttr]):
938         (-[DOMTestObj intAttr]):
939         (-[DOMTestObj setIntAttr:]):
940         (-[DOMTestObj longLongAttr]):
941         (-[DOMTestObj setLongLongAttr:]):
942         (-[DOMTestObj unsignedLongLongAttr]):
943         (-[DOMTestObj setUnsignedLongLongAttr:]):
944         (-[DOMTestObj stringAttr]):
945         (-[DOMTestObj setStringAttr:]):
946         (-[DOMTestObj testObjAttr]):
947         (-[DOMTestObj setTestObjAttr:]):
948         (-[DOMTestObj attrWithException]):
949         (-[DOMTestObj setAttrWithException:]):
950         (-[DOMTestObj attrWithSetterException]):
951         (-[DOMTestObj setAttrWithSetterException:]):
952         (-[DOMTestObj attrWithGetterException]):
953         (-[DOMTestObj setAttrWithGetterException:]):
954         (-[DOMTestObj customAttr]):
955         (-[DOMTestObj setCustomAttr:]):
956         (-[DOMTestObj scriptStringAttr]):
957         (-[DOMTestObj voidMethod]):
958         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
959         (-[DOMTestObj intMethod]):
960         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
961         (-[DOMTestObj objMethod]):
962         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
963         (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
964         (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
965         (-[DOMTestObj serializedValue:]):
966         (-[DOMTestObj methodWithException]):
967         (-[DOMTestObj customMethod]):
968         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
969         (-[DOMTestObj customArgsAndException:]):
970         (-[DOMTestObj addEventListener:listener:useCapture:]):
971         (-[DOMTestObj removeEventListener:listener:useCapture:]):
972         (-[DOMTestObj withDynamicFrame]):
973         (-[DOMTestObj withDynamicFrameAndArg:]):
974         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
975         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
976         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
977         (-[DOMTestObj withScriptStateVoid]):
978         (-[DOMTestObj withScriptStateObj]):
979         (-[DOMTestObj withScriptStateVoidException]):
980         (-[DOMTestObj withScriptStateObjException]):
981         (-[DOMTestObj methodWithOptionalArg:]):
982         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
983         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
984         * bindings/v8/ScriptController.cpp:
985         (WebCore::ScriptController::canAccessFromCurrentOrigin):
986         * bindings/v8/ScriptController.h:
987         * html/HTMLFrameElementBase.cpp:
988         (WebCore::HTMLFrameElementBase::isURLAllowed):
989
990 2010-05-20  Adam Roben  <aroben@apple.com>
991
992         Fix an HRGN leak in WKCACFLayerRenderer
993
994         Fixes <http://webkit.org/b/39312> <rdar://problem/7998728> REGRESSION
995         (r53686-r55990): Graphics corruption when watching video (affects
996         youtube.com)
997
998         Reviewed by Darin Adler.
999
1000         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1001         (WebCore::getDirtyRects): Use an OwnPtr to hold the HRGN we allocate.
1002         That way we don't have to remember to destroy it (as we were
1003         forgetting to do) when we bail out of this function early.
1004
1005 2010-05-20  Darin Fisher  <darin@chromium.org>
1006
1007         Reviewed by Nate Chapin.
1008
1009         [chromium] Provide a way to catch exceptions thrown while interacting
1010         with a NPObject via WebBindings methods.
1011         https://bugs.webkit.org/show_bug.cgi?id=39378
1012
1013         This change also includes a small bit of cleanup in V8NPObject and
1014         friends.  I moved code into the WebCore namespace where appropriate.
1015         
1016         In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the
1017         context scope.  I did this to avoid having nested ExceptionCatcher
1018         objects, which is not strictly necessary, but it seemed cleaner.
1019         _NPN_Evaluate already takes care of creating a context scope.
1020
1021         * bindings/v8/NPV8Object.cpp:
1022         (WebCore::v8ObjectToNPObject):
1023         (WebCore::npCreateV8ScriptObject):
1024         (_NPN_Invoke):
1025         (_NPN_InvokeDefault):
1026         (_NPN_Evaluate):
1027         (_NPN_EvaluateHelper):
1028         (_NPN_GetProperty):
1029         (_NPN_SetProperty):
1030         (_NPN_RemoveProperty):
1031         (_NPN_HasProperty):
1032         (_NPN_HasMethod):
1033         (_NPN_SetException):
1034         (_NPN_Enumerate):
1035         (_NPN_Construct):
1036         * bindings/v8/NPV8Object.h:
1037         * bindings/v8/V8NPObject.cpp:
1038         * bindings/v8/V8NPObject.h:
1039         * bindings/v8/V8NPUtils.cpp:
1040         (WebCore::convertV8ObjectToNPVariant):
1041         (WebCore::pushExceptionHandler):
1042         (WebCore::popExceptionHandler):
1043         (WebCore::ExceptionCatcher::ExceptionCatcher):
1044         (WebCore::ExceptionCatcher::~ExceptionCatcher):
1045         * bindings/v8/V8NPUtils.h:
1046         * bindings/v8/npruntime.cpp:
1047
1048 2010-05-20  Marcus Bulach  <bulach@chromium.org>
1049
1050         Reviewed by Steve Block.
1051
1052         Ensure timers are stopped on Geolocation::disconnectFrame()
1053         https://bugs.webkit.org/show_bug.cgi?id=39388
1054
1055         fast/dom/Geolocation/notimer-after-unload.html, plus it should be possible to re-enable Gtk LayoutTests.
1056
1057         * page/Geolocation.cpp:
1058         (WebCore::Geolocation::disconnectFrame):
1059
1060 2010-05-20  James Robinson  <jamesr@chromium.org>
1061
1062         Reviewed by Eric Seidel.
1063
1064         Ensures styles are up-to-date before determining selection
1065         https://bugs.webkit.org/show_bug.cgi?id=39389
1066
1067         This adds a call to document::updateStyleIfNeeded() to
1068         Frame::notifyRendererOfSelectionChange(). Without this call, if there
1069         is a pending style update that will detach part of the DOM and the
1070         the selection is within that part of the DOM when
1071         notifyRendererOfSeletionChange is called, the rootEditableElement
1072         algorithm ends up walking through detached parts of the render tree.
1073
1074         Test: editing/selection/focus-and-display-none.html
1075
1076         * page/Frame.cpp:
1077         (WebCore::Frame::notifyRendererOfSelectionChange):
1078
1079 2010-05-20  Adam Roben  <aroben@apple.com>
1080
1081         Remove code that fetched, but did nothing useful with, a CFDictionary
1082         in MediaPlayerPrivateQuickTimeVisualContext
1083
1084         I also removed the code in QTPixelBuffer that vended the dictionary.
1085
1086         Fixes <http://webkit.org/b/39435> <rdar://problem/8009278>
1087         QTPixelBuffer passes CFDictionaries across the DLL boundary, which can
1088         lead to crashes
1089
1090         Reviewed by Darin Adler.
1091
1092         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1093         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
1094         Deleted code that fetched the attachments dictionary, which was never
1095         used other than to pass it to CFRetain/CFRelease, which could be
1096         enough to cause a crash due to incompatible copies of
1097         CoreFoundation.dll.
1098
1099         * platform/graphics/win/QTMovieVisualContext.h: Added a now-needed
1100         forward declaration.
1101
1102         * platform/graphics/win/QTPixelBuffer.cpp:
1103         * platform/graphics/win/QTPixelBuffer.h:
1104         Removed the now-unused attachments function.
1105
1106 2010-05-20  Adam Roben  <aroben@apple.com>
1107
1108         Fix a CFData leak in MediaPlayerPrivateQuickTimeVisualContext
1109
1110         Fixes <http://webkit.org/b/39432> <rdar://problem/8008992>
1111
1112         Reviewed by Ada Chan
1113
1114         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1115         (WebCore::QTCFDictionaryCreateWithDataCallback): Use a RetainPtr to
1116         hold the CFData we allocate so it will get released when this function
1117         is exited. Also pass kCFAllocatorNull as the bytes deallocator to
1118         CFDataCreateWithBytesNoCopy so that CF doesn't try to deallocate the
1119         bytes we pass to it.
1120
1121 2010-05-20  Jian Li  <jianli@chromium.org>
1122
1123         Reviewed by David Levin.
1124
1125         Rename GenericTask* to CrossThreadTask* in CrossThreadTask.h.
1126         https://bugs.webkit.org/show_bug.cgi?id=39437
1127
1128         * dom/CrossThreadTask.h:
1129         (WebCore::):
1130         (WebCore::CrossThreadTask1::create):
1131         (WebCore::CrossThreadTask1::CrossThreadTask1):
1132         (WebCore::CrossThreadTask2::create):
1133         (WebCore::CrossThreadTask2::CrossThreadTask2):
1134         (WebCore::CrossThreadTask3::create):
1135         (WebCore::CrossThreadTask3::CrossThreadTask3):
1136         (WebCore::CrossThreadTask4::create):
1137         (WebCore::CrossThreadTask4::CrossThreadTask4):
1138         (WebCore::CrossThreadTask5::create):
1139         (WebCore::CrossThreadTask5::CrossThreadTask5):
1140         (WebCore::CrossThreadTask6::create):
1141         (WebCore::CrossThreadTask6::CrossThreadTask6):
1142         (WebCore::CrossThreadTask7::create):
1143         (WebCore::CrossThreadTask7::CrossThreadTask7):
1144         (WebCore::CrossThreadTask8::create):
1145         (WebCore::CrossThreadTask8::CrossThreadTask8):
1146         (WebCore::createCallbackTask):
1147
1148 2010-05-20  Jian Li  <jianli@chromium.org>
1149
1150         Reviewed by David Levin.
1151
1152         Rename GenericWorkerTask.h to CrossThreadTask.h and move it to dom directory.
1153         https://bugs.webkit.org/show_bug.cgi?id=39135
1154
1155         * GNUmakefile.am:
1156         * WebCore.gypi:
1157         * WebCore.vcproj/WebCore.vcproj:
1158         * WebCore.xcodeproj/project.pbxproj:
1159         * dom/CrossThreadTask.h: Renamed from WebCore/workers/GenericWorkerTask.h.
1160         * html/FileStreamProxy.cpp:
1161         * loader/WorkerThreadableLoader.cpp:
1162         * websockets/WorkerThreadableWebSocketChannel.cpp:
1163         * workers/DefaultSharedWorkerRepository.cpp:
1164         * workers/WorkerMessagingProxy.cpp:
1165         * workers/WorkerScriptLoader.cpp:
1166
1167 2010-05-20  Adele Peterson  <adele@apple.com>
1168
1169         Reviewed by Mark Rowe.
1170
1171         Remove the Safari welcome page site-specific quirk, since its no longer needed.
1172
1173         * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::cssRules):
1174
1175 2010-05-20  Steve Block  <steveblock@google.com>
1176
1177         Reviewed by Jeremy Orlow.
1178
1179         Provide bindings for DeviceOrientation
1180         https://bugs.webkit.org/show_bug.cgi?id=39210
1181
1182         Tests: fast/dom/DeviceOrientation/window-property.html
1183                fast/dom/Window/window-properties-on-device-orientation.html
1184
1185         Adds bindings for DeviceOrientation as defined in
1186         http://dev.w3.org/geo/api/spec-source-orientation.html
1187         This is guarded by ENABLE(DEVICE_ORIENTATION) which is currently disabled on
1188         all platforms but Android.
1189
1190         * Android.derived.jscbindings.mk:
1191         * Android.derived.v8bindings.mk:
1192         * Android.mk:
1193         * Configurations/FeatureDefines.xcconfig:
1194         * DerivedSources.cpp:
1195         * DerivedSources.make:
1196         * GNUmakefile.am:
1197         * WebCore.gypi:
1198         * WebCore.pri:
1199         * WebCore.pro:
1200         * WebCore.xcodeproj/project.pbxproj:
1201         * bindings/js/JSEventCustom.cpp:
1202         (WebCore::toJS):
1203         * bindings/v8/custom/V8EventCustom.cpp:
1204         (WebCore::toV8):
1205         * dom/DeviceOrientationEvent.cpp: Added.
1206         (WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
1207         (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
1208         * dom/DeviceOrientationEvent.h: Added.
1209         (WebCore::DeviceOrientationEvent::create):
1210         (WebCore::DeviceOrientationEvent::alpha):
1211         (WebCore::DeviceOrientationEvent::beta):
1212         (WebCore::DeviceOrientationEvent::gamma):
1213         (WebCore::DeviceOrientationEvent::isDeviceOrientationEvent):
1214         * dom/DeviceOrientationEvent.idl: Added.
1215         * dom/Event.cpp:
1216         (WebCore::Event::isDeviceOrientationEvent):
1217         * dom/Event.h:
1218         * dom/EventNames.h:
1219         * page/DOMWindow.h:
1220         * page/DOMWindow.idl:
1221
1222 2010-05-20  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
1223
1224         Rubberstamped by Antti Koivisto.
1225
1226         Use 0.15 as text drag delay when Q_WS_MAC is defined, which is
1227         consistent with the Mac OS X platform.
1228
1229         * page/qt/EventHandlerQt.cpp:
1230
1231 2010-05-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1232
1233         Reviewed by Simon Hausmann.
1234
1235         Fix painting when using clipToImageBuffer()
1236
1237         When we apply the transform of the parent painter to the painter of
1238         the transparency layer, we adopt its coordinate system, thus offset
1239         should not be in page coordinates, but in the coordinate system of
1240         the parent painter.
1241
1242         * platform/graphics/qt/GraphicsContextQt.cpp:
1243         (WebCore::TransparencyLayer::TransparencyLayer):
1244
1245 2010-05-20  Adam Langley  <agl@chromium.org>
1246
1247         Reviewed by David Levin.
1248
1249         [chromium] Avoid crash when msttcorefonts aren't provided
1250
1251         https://bugs.webkit.org/show_bug.cgi?id=39015
1252         http://code.google.com/p/chromium/issues/detail?id=43831
1253
1254         * platform/graphics/chromium/FontCacheLinux.cpp:
1255         (WebCore::FontCache::createFontPlatformData):
1256
1257 2010-05-20  Zoltan Herczeg  <zherczeg@webkit.org>
1258
1259         Reviewed by Dirk Schulze.
1260
1261         Fix a crash caused by feLigthing::apply()
1262         https://bugs.webkit.org/show_bug.cgi?id=39004
1263
1264         Make FELighting::apply() similar to other filters' applies
1265         to avoid an assertion fail in putUnmultipliedImageData(),
1266         when effectDrawingRect has negative location (x or y is less than 0).
1267
1268         Test: svg/filters/feLighting-crash.svg
1269
1270         * svg/graphics/filters/SVGFELighting.cpp:
1271         (WebCore::FELighting::apply):
1272
1273 2010-05-20  Chris Jerdonek  <cjerdonek@webkit.org>
1274
1275         Reviewed by Eric Seidel.
1276
1277         Modified FrameLoader::urlSelected() to accept a KURL instead of a
1278         ResourceRequest.
1279
1280         https://bugs.webkit.org/show_bug.cgi?id=39320
1281
1282         Since ResourceRequest has non-explicit single-parameter constructors for
1283         String and KURL, urlSelected() previously accepted any of String, KURL,
1284         and ResourceRequest.  This revision changes urlSelected() to accept only
1285         a KURL to make the API tighter and easier to refactor.
1286
1287         No new functionality, so no new tests.
1288
1289         * loader/FrameLoader.cpp:
1290         (WebCore::FrameLoader::urlSelected):
1291           - Changed the public overload to accept a KURL instead of a ResourceRequest.
1292         * loader/FrameLoader.h:
1293           - Changed the public overload to accept a KURL instead of a ResourceRequest.
1294         * wml/WMLAElement.cpp:
1295         (WebCore::WMLAElement::defaultEventHandler):
1296           - Updated the call to urlSelected().
1297
1298 2010-05-20  MORITA Hajime  <morrita@google.com>
1299
1300         Reviewed by Kent Tamura.
1301
1302         2x execCommand ReadAV@NULL
1303         https://bugs.webkit.org/show_bug.cgi?id=35791
1304
1305         In applyBlockStyle(), a node which is referred from
1306         nextParagraphStart sometimes removed from the document and goes
1307         orphan, and that causes an assertion failed. This is because
1308         moveParagraphs() replaces the node with a new one with some new
1309         styles applied. So we re-compute nextParagraphStart in that case.
1310
1311         Test: editing/execCommand/35791.html
1312
1313         * dom/Position.h:
1314         (WebCore::Position::isOrphan):
1315         * editing/ApplyStyleCommand.cpp:
1316         (WebCore::ApplyStyleCommand::applyBlockStyle):
1317         * editing/VisiblePosition.h:
1318         (WebCore::VisiblePosition::isOrphan):
1319
1320 2010-05-20  Steve Block  <steveblock@google.com>
1321
1322         Reviewed by Eric Seidel.
1323
1324         PluginView contains JSC-specific code
1325         https://bugs.webkit.org/show_bug.cgi?id=38907
1326
1327         Build fix only, no new tests.
1328
1329         * plugins/PluginView.cpp:
1330         (WebCore::PluginView::start):
1331         (WebCore::PluginView::stop):
1332         (WebCore::PluginView::performRequest):
1333         * plugins/PluginView.h:
1334
1335 2010-05-17  Philippe Normand  <pnormand@igalia.com>
1336
1337         Reviewed by Eric Seidel.
1338
1339         [GStreamer] enable gst support if USE_GSTREAMER macro is defined
1340         https://bugs.webkit.org/show_bug.cgi?id=39205
1341
1342         Include gstreamer private player in the build when the
1343         USE_GSTREAMER macro is enabled.
1344
1345         * platform/graphics/MediaPlayer.cpp:
1346         (WebCore::installedMediaEngines):
1347
1348 2010-05-19  Vangelis Kokkevis  <vangelis@chromium.org>
1349
1350         Reviewed by Darin Fisher.
1351
1352         Implementing hardware accelerated compositing of layers for Chromium.
1353         Completely removed the existing software compositing path to replace
1354         it with code implemented using OpenGL.
1355         https://bugs.webkit.org/show_bug.cgi?id=38783
1356
1357         Tests: Covered by existing compositing tests.
1358
1359         * WebCore.gyp/WebCore.gyp:
1360         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1361         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1362         (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
1363         (WebCore::GraphicsLayerChromium::updateContentsRect):
1364         * platform/graphics/chromium/LayerChromium.cpp:
1365         (WebCore::LayerChromium::LayerChromium):
1366         (WebCore::LayerChromium::~LayerChromium):
1367         (WebCore::LayerChromium::updateGraphicsContext):
1368         (WebCore::LayerChromium::drawsContentUpdated):
1369         (WebCore::LayerChromium::updateContents):
1370         (WebCore::LayerChromium::setContents):
1371         (WebCore::LayerChromium::setBackingStoreSize):
1372         (WebCore::LayerChromium::setBounds):
1373         (WebCore::LayerChromium::setNeedsDisplay):
1374         * platform/graphics/chromium/LayerChromium.h:
1375         (WebCore::LayerChromium::contentsDirty):
1376         (WebCore::LayerChromium::drawsContent):
1377         * platform/graphics/chromium/LayerRendererChromium.cpp:
1378         (WebCore::):
1379         (WebCore::checkGLError):
1380         (WebCore::loadShader):
1381         (WebCore::loadShaderProgram):
1382         (WebCore::toGLMatrix):
1383         (WebCore::orthoMatrix):
1384         (WebCore::createLayerTexture):
1385         (WebCore::LayerRendererChromium::create):
1386         (WebCore::LayerRendererChromium::LayerRendererChromium):
1387         (WebCore::LayerRendererChromium::~LayerRendererChromium):
1388         (WebCore::LayerRendererChromium::drawTexturedQuad):
1389         (WebCore::LayerRendererChromium::drawLayers):
1390         (WebCore::LayerRendererChromium::getTextureId):
1391         (WebCore::LayerRendererChromium::assignTextureForLayer):
1392         (WebCore::LayerRendererChromium::freeLayerTexture):
1393         (WebCore::LayerRendererChromium::drawDebugBorder):
1394         (WebCore::LayerRendererChromium::isLayerVisible):
1395         (WebCore::LayerRendererChromium::compositeLayersRecursive):
1396         (WebCore::LayerRendererChromium::makeContextCurrent):
1397         (WebCore::LayerRendererChromium::initGL):
1398         (WebCore::LayerRendererChromium::bindCommonAttribLocation):
1399         (WebCore::LayerRendererChromium::initializeSharedGLObjects):
1400         * platform/graphics/chromium/LayerRendererChromium.h:
1401         (WebCore::LayerRendererChromium::):
1402
1403 2010-05-19  Andrey Kosyakov  <caseq@chromium.org>
1404
1405         Reviewed by Timothy Hatcher.
1406
1407         Maintain focus on help screen while it's active.
1408         https://bugs.webkit.org/show_bug.cgi?id=39237
1409
1410         * inspector/front-end/HelpScreen.js:
1411         (WebInspector.HelpScreen):
1412         (WebInspector.HelpScreen.prototype.show):
1413         (WebInspector.HelpScreen.prototype._hide):
1414         (WebInspector.HelpScreen.prototype._onBlur):
1415
1416 2010-05-19  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
1417
1418         Reviewed by Kenneth Rohde Christiansen.
1419
1420         Crash fix in the HistoryController.
1421
1422         The problem was casued by a documented feature of the QWebFrame::setHtml().
1423         The method doesn't affect a browsing history (doesn't create a HistoryItem instance), so
1424         m_currentItem and m_previousItem are not set.
1425
1426         A null check was added.
1427
1428         [Qt] The QWebPage crashes on history.pushState().
1429         https://bugs.webkit.org/show_bug.cgi?id=38840
1430
1431         * loader/HistoryController.cpp:
1432         (WebCore::HistoryController::pushState):
1433         (WebCore::HistoryController::replaceState):
1434
1435 2010-05-19  Darin Fisher  <darin@chromium.org>
1436
1437         Revert r59790 due to failing Chromium npruntime tests.
1438
1439         * bindings/v8/NPV8Object.cpp:
1440         (v8ObjectToNPObject):
1441         (npCreateV8ScriptObject):
1442         (_NPN_Invoke):
1443         (_NPN_InvokeDefault):
1444         (_NPN_Evaluate):
1445         (_NPN_EvaluateHelper):
1446         (_NPN_GetProperty):
1447         (_NPN_SetProperty):
1448         (_NPN_RemoveProperty):
1449         (_NPN_HasProperty):
1450         (_NPN_HasMethod):
1451         (_NPN_SetException):
1452         (_NPN_Enumerate):
1453         (_NPN_Construct):
1454         * bindings/v8/NPV8Object.h:
1455         * bindings/v8/V8NPObject.cpp:
1456         (forgetV8ObjectForNPObject):
1457         * bindings/v8/V8NPObject.h:
1458         * bindings/v8/V8NPUtils.cpp:
1459         (convertV8ObjectToNPVariant):
1460         (getStringIdentifier):
1461         * bindings/v8/V8NPUtils.h:
1462         * bindings/v8/npruntime.cpp:
1463
1464 2010-05-19  Gavin Barraclough  <barraclough@apple.com>
1465
1466         Rubber Stamped by Sam Weinig.
1467
1468         JSFunctions are no longer a subclass of InternalFunction.
1469
1470         * bindings/js/ScriptCallStack.cpp:
1471         (WebCore::ScriptCallStack::ScriptCallStack):
1472         (WebCore::ScriptCallStack::initialize):
1473         * bindings/js/ScriptCallStack.h:
1474
1475 2010-05-19  Jian Li  <jianli@chromium.org>
1476
1477         Reviewed by Alexey Proskuryakov.
1478
1479         Refactor text encoding detection logic in FileReader.
1480         https://bugs.webkit.org/show_bug.cgi?id=39131
1481
1482         Changed FileReader::convertToText to call TextResourceDecoder::decode to
1483         detect the encoding from BOM and decode the text. Though the File API
1484         spec says that the supplied encoding should be used if it is valid, we
1485         choose to ignore this requirement in order to be consistent with how
1486         WebKit decodes the web content: always has the BOM override the provided
1487         encoding.
1488
1489         * html/FileReader.cpp:
1490         (WebCore::FileReader::convertToText):
1491         * html/FileReader.h:
1492
1493 2010-05-19  Abhishek Arya  <inferno@chromium.org>
1494
1495         Reviewed by David Hyatt.
1496
1497         Check that the node is a text node before doing a static cast
1498         to a Text class pointer.
1499         https://bugs.webkit.org/show_bug.cgi?id=38626    
1500
1501         Test: fast/text/text-transform-nontext-node-crash.xhtml
1502
1503         * rendering/RenderText.cpp:
1504         (WebCore::RenderText::originalText):
1505         * rendering/RenderTextFragment.cpp:
1506         (WebCore::RenderTextFragment::originalText):
1507         (WebCore::RenderTextFragment::previousCharacter):
1508
1509 2010-05-19  Yaar Schnitman  <yaar@chromium.org>
1510
1511         Reviewed by Eric Seidel.
1512
1513         Fixed warnings by JSC overloads changes. Also updated the binding reference files for JSC.
1514         https://bugs.webkit.org/show_bug.cgi?id=39390
1515
1516         * bindings/scripts/CodeGeneratorJS.pm:
1517         * bindings/scripts/test/JS/JSTestInterface.cpp:
1518         (WebCore::):
1519         * bindings/scripts/test/JS/JSTestObj.cpp:
1520         (WebCore::):
1521
1522 2010-05-19  Darin Fisher  <darin@chromium.org>
1523
1524         Reviewed by Nate Chapin.
1525
1526         [chromium] Provide a way to catch exceptions thrown while interacting
1527         with a NPObject via WebBindings methods.
1528         https://bugs.webkit.org/show_bug.cgi?id=39378
1529
1530         This change also includes a small bit of cleanup in V8NPObject and
1531         friends.  I moved code into the WebCore namespace where appropriate.
1532         
1533         In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the
1534         context scope.  I did this to avoid having nested ExceptionCatcher
1535         objects, which is not strictly necessary, but it seemed cleaner.
1536         _NPN_Evaluate already takes care of creating a context scope.
1537
1538         * bindings/v8/NPV8Object.cpp:
1539         (WebCore::v8ObjectToNPObject):
1540         (WebCore::npCreateV8ScriptObject):
1541         (_NPN_Invoke):
1542         (_NPN_InvokeDefault):
1543         (_NPN_Evaluate):
1544         (_NPN_EvaluateHelper):
1545         (_NPN_GetProperty):
1546         (_NPN_SetProperty):
1547         (_NPN_RemoveProperty):
1548         (_NPN_HasProperty):
1549         (_NPN_HasMethod):
1550         (_NPN_SetException):
1551         (_NPN_Enumerate):
1552         (_NPN_Construct):
1553         * bindings/v8/NPV8Object.h:
1554         * bindings/v8/V8NPObject.cpp:
1555         * bindings/v8/V8NPObject.h:
1556         * bindings/v8/V8NPUtils.cpp:
1557         (WebCore::convertV8ObjectToNPVariant):
1558         (WebCore::pushExceptionHandler):
1559         (WebCore::popExceptionHandler):
1560         (WebCore::ExceptionCatcher::~ExceptionCatcher):
1561         * bindings/v8/V8NPUtils.h:
1562         * bindings/v8/npruntime.cpp:
1563
1564 2010-05-19  Yaar Schnitman  <yaar@chromium.org>
1565
1566         Unreviewed, rolling out r59769.
1567         http://trac.webkit.org/changeset/59769
1568         https://bugs.webkit.org/show_bug.cgi?id=37815
1569
1570         Broke GTK again
1571
1572         * Android.jscbindings.mk:
1573         * CMakeLists.txt:
1574         * GNUmakefile.am:
1575         * WebCore.gypi:
1576         * WebCore.pro:
1577         * WebCore.vcproj/WebCore.vcproj:
1578         * WebCore.xcodeproj/project.pbxproj:
1579         * bindings/js/JSBindingsAllInOne.cpp:
1580         * bindings/js/JSCallbackData.cpp:
1581         (WebCore::JSCallbackData::invokeCallback):
1582         * bindings/js/JSEventListener.cpp:
1583         (WebCore::JSEventListener::handleEvent):
1584         * bindings/js/JSInjectedScriptHostCustom.cpp:
1585         (WebCore::InjectedScriptHost::createInjectedScript):
1586         * bindings/js/JSMainThreadExecState.cpp: Removed.
1587         * bindings/js/JSMainThreadExecState.h: Removed.
1588         * bindings/js/ScheduledAction.cpp:
1589         (WebCore::ScheduledAction::executeFunctionInContext):
1590         (WebCore::ScheduledAction::execute):
1591         * bindings/js/ScheduledAction.h:
1592         * bindings/js/ScriptController.cpp:
1593         (WebCore::ScriptController::evaluateInWorld):
1594         * bindings/js/ScriptController.h:
1595         * bindings/js/ScriptFunctionCall.cpp:
1596         (WebCore::ScriptFunctionCall::call):
1597         * bindings/objc/ObjCEventListener.mm:
1598         * bindings/objc/WebScriptObject.mm:
1599         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1600         (-[WebScriptObject evaluateWebScript:]):
1601         * bindings/scripts/CodeGeneratorObjC.pm:
1602         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
1603         (-[DOMTestCallback callbackWithClass1Param:]):
1604         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
1605         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
1606         (-[DOMTestCallback customCallback:class6Param:]):
1607         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
1608         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1609         (-[DOMTestObj readOnlyIntAttr]):
1610         (-[DOMTestObj readOnlyStringAttr]):
1611         (-[DOMTestObj readOnlyTestObjAttr]):
1612         (-[DOMTestObj intAttr]):
1613         (-[DOMTestObj setIntAttr:]):
1614         (-[DOMTestObj longLongAttr]):
1615         (-[DOMTestObj setLongLongAttr:]):
1616         (-[DOMTestObj unsignedLongLongAttr]):
1617         (-[DOMTestObj setUnsignedLongLongAttr:]):
1618         (-[DOMTestObj stringAttr]):
1619         (-[DOMTestObj setStringAttr:]):
1620         (-[DOMTestObj testObjAttr]):
1621         (-[DOMTestObj setTestObjAttr:]):
1622         (-[DOMTestObj attrWithException]):
1623         (-[DOMTestObj setAttrWithException:]):
1624         (-[DOMTestObj attrWithSetterException]):
1625         (-[DOMTestObj setAttrWithSetterException:]):
1626         (-[DOMTestObj attrWithGetterException]):
1627         (-[DOMTestObj setAttrWithGetterException:]):
1628         (-[DOMTestObj customAttr]):
1629         (-[DOMTestObj setCustomAttr:]):
1630         (-[DOMTestObj scriptStringAttr]):
1631         (-[DOMTestObj voidMethod]):
1632         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
1633         (-[DOMTestObj intMethod]):
1634         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
1635         (-[DOMTestObj objMethod]):
1636         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
1637         (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
1638         (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
1639         (-[DOMTestObj serializedValue:]):
1640         (-[DOMTestObj methodWithException]):
1641         (-[DOMTestObj customMethod]):
1642         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
1643         (-[DOMTestObj customArgsAndException:]):
1644         (-[DOMTestObj addEventListener:listener:useCapture:]):
1645         (-[DOMTestObj removeEventListener:listener:useCapture:]):
1646         (-[DOMTestObj withDynamicFrame]):
1647         (-[DOMTestObj withDynamicFrameAndArg:]):
1648         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
1649         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
1650         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
1651         (-[DOMTestObj withScriptStateVoid]):
1652         (-[DOMTestObj withScriptStateObj]):
1653         (-[DOMTestObj withScriptStateVoidException]):
1654         (-[DOMTestObj withScriptStateObjException]):
1655         (-[DOMTestObj methodWithOptionalArg:]):
1656         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
1657         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
1658         * bindings/v8/ScriptController.cpp:
1659         * bindings/v8/ScriptController.h:
1660         * html/HTMLFrameElementBase.cpp:
1661         (WebCore::HTMLFrameElementBase::isURLAllowed):
1662
1663 2010-05-19  Dirk Pranke  <dpranke@chromium.org>
1664
1665         Try again to roll out r58675.
1666
1667         * notifications/Notification.h:
1668         * notifications/Notification.idl:
1669
1670 2010-05-19  Enrica Casucci  <enrica@apple.com>
1671
1672         Reviewed by Dave Hyatt.
1673
1674         REGRESSION (r59385) crash destroying inline renderers
1675         https://bugs.webkit.org/show_bug.cgi?id=39143
1676         <rdar://problem/8003662>
1677         
1678         The goal of r59385 was to make sure that the layout of block after all its children had been removed produced the identical result
1679         as the one of a newly created empty block. In order to do so, we had to make sure that the m_inlineChildren flag was reset to true when
1680         the block had no children (as it is upon creation).
1681         I discovered that, by doing that for anonymous blocks it leads removeChild to conclude that the anonymous children can be removed,
1682         without considering that the anonymous block could be part of a continuation chain. For this reason, when RenderInline::destroy()
1683         tries to remove the continuations we are effectively deleting a renderer that had been deleted already.
1684         
1685         Test: fast/inline-block/anonymous-block-crash.html
1686
1687         * rendering/RenderBlock.cpp:
1688         (WebCore::RenderBlock::layoutBlock): resetting the flag m_inlineChildren only for non anonymous blocks otherwise we incurr in
1689         a double deletion of the renderer that causes the crash.
1690
1691 2010-05-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1692
1693         Unreviewed, rolling out r59782.
1694         http://trac.webkit.org/changeset/59782
1695         https://bugs.webkit.org/show_bug.cgi?id=39379
1696
1697         broke DRT build (Requested by dpranke on #webkit).
1698
1699         * notifications/Notification.h:
1700         (WebCore::Notification::dir):
1701         (WebCore::Notification::setDir):
1702         (WebCore::Notification::replaceId):
1703         (WebCore::Notification::setReplaceId):
1704         * notifications/Notification.idl:
1705
1706 2010-05-18  David Hyatt  <hyatt@apple.com>
1707
1708         Reviewed by Oliver Hunt.
1709
1710         https://bugs.webkit.org/show_bug.cgi?id=21049, opacity and position:relative fail in multi-column layouts.
1711         
1712         Make layers split painting across columns just as normal flow content does.  This is actually very
1713         challenging, since intermediate multicol layers can exist between a child that has to be split and
1714         its enclosing stacking context.
1715         
1716         In order to properly paginate layers, a bit is set on all pagination roots, i.e., layers that will get
1717         split and thus split any descendant layers that they are also responsible for painting.  For a paginated
1718         root, we walk up the layer hierarchy and collect all intermediate multicol blocks between the child
1719         and the enclosing stacking context.
1720         
1721         We then recur from the outside in, applying clipping and translation as we break up the layer into strips.
1722         
1723         Composited layers remain unsplittable and have a hacked offset still in order to be placed in the right
1724         column.
1725         
1726         Painting and hit testing of columns has been simplified in all of the functions to use the x position of
1727         the column rect instead of trying to increment an x offset by adding in widths and column gaps.  This
1728         makes those functions directionality-independent (and the LTR/RTL code paths are now the same).
1729         
1730         Fix repainting of columns as well to make sure rects are split across columns only after relative position
1731         and transforms have been applied.
1732         
1733         Added fast/multicol/layers-split-across-columns.html
1734
1735         * rendering/RenderBlock.cpp:
1736         (WebCore::RenderBlock::paintColumnContents):
1737         (WebCore::RenderBlock::adjustRectForColumns):
1738         (WebCore::RenderBlock::adjustForColumns):
1739         * rendering/RenderBlock.h:
1740         * rendering/RenderBox.cpp:
1741         (WebCore::RenderBox::computeRectForRepaint):
1742         * rendering/RenderLayer.cpp:
1743         (WebCore::RenderLayer::RenderLayer):
1744         (WebCore::RenderLayer::updateLayerPositions):
1745         (WebCore::RenderLayer::updatePagination):
1746         (WebCore::RenderLayer::updateLayerPosition):
1747         (WebCore::RenderLayer::paintLayer):
1748         (WebCore::RenderLayer::paintList):
1749         (WebCore::RenderLayer::paintPaginatedChildLayer):
1750         (WebCore::RenderLayer::paintChildLayerIntoColumns):
1751         (WebCore::RenderLayer::hitTestLayer):
1752         (WebCore::RenderLayer::hitTestList):
1753         (WebCore::RenderLayer::hitTestPaginatedChildLayer):
1754         (WebCore::RenderLayer::hitTestChildLayerColumns):
1755         * rendering/RenderLayer.h:
1756         (WebCore::RenderLayer::):
1757         (WebCore::RenderLayer::isPaginated):
1758
1759 2010-05-18  Dirk Pranke  <dpranke@chromium.org>
1760
1761         Reviewed by Dimitri Glazkov.
1762
1763         Attempt to revert r58765 to see if it was causing a performance
1764         regression.
1765
1766         https://bugs.webkit.org/show_bug.cgi?id=39328
1767
1768         * notifications/Notification.h:
1769         * notifications/Notification.idl:
1770
1771 2010-05-19  Kevin Watters  <kevinwatters@gmail.com>
1772
1773         Reviewed by Kevin Ollivier.
1774
1775         [wx] Ensure m_nsFont is initialized properly, and tweak fallback font handling
1776         to handle more cases.
1777         https://bugs.webkit.org/show_bug.cgi?id=39365
1778         
1779         * platform/graphics/wx/FontCacheWx.cpp:
1780         (WebCore::FontCache::getFontDataForCharacters):
1781         (WebCore::FontCache::getSimilarFontPlatformData):
1782         (WebCore::FontCache::getLastResortFallbackFont):
1783         * platform/graphics/wx/FontPlatformDataWx.cpp:
1784         (WebCore::FontPlatformData::FontPlatformData):
1785
1786 2010-05-19  Marcus Bulach  <bulach@chromium.org>
1787
1788         Reviewed by Eric Seidel.
1789
1790         Fixes Windows Qt Release post r59772.
1791         https://bugs.webkit.org/show_bug.cgi?id=39369
1792
1793         * platform/GeolocationService.cpp:
1794
1795 2010-05-19  Eric Seidel  <eric@webkit.org>
1796
1797         Reviewed by Adam Barth.
1798
1799         Add support for handling basic <script> tags in the HTML5 Parser
1800         https://bugs.webkit.org/show_bug.cgi?id=39350
1801
1802         WebKit currently executes scripts from HTMLTokenizer in one giagantic
1803         hack.  HTML 5 requires that we execute scripts from the tree-builders/parser.
1804
1805         It will take me a while to re-factor enough of HTMLTokenizer to be able to
1806         move the script execution logic without breaking things.  In the interest
1807         of allowing Adam to continue improving the HTML 5 lexer I've added this
1808         very basic (and very incomplete) <script> support to the HTML 5 parser code
1809         path so the he can run the HTML5 parser test suite.
1810
1811         <script> support is tested by most of the layout tests.
1812
1813         * dom/ScriptElement.cpp:
1814         (WebCore::useHTML5Parser):
1815         (WebCore::ScriptElement::finishParsingChildren):
1816
1817 2010-05-19  Anders Carlsson  <andersca@apple.com>
1818
1819         Reviewed by Sam Weinig.
1820
1821         Move member variables from NamedMappedAttrMap to its base class NamedNodeMap
1822         https://bugs.webkit.org/show_bug.cgi?id=39367
1823         <rdar://problem/8003304>
1824
1825         This lets us get rid of the vtable pointer in NamedNodeMap which saves 8 bytes, and also allows us to
1826         fit the m_mappedAttributeCount unsigned int in the RefCounted padding (in 64-bit).
1827         
1828         The net result is that we shrink the NamedMappedAttrMap size by 16 bytes, while keeping the size of NamedNodeMap the same.
1829
1830         * dom/Element.cpp:
1831         (WebCore::Element::createAttributeMap):
1832         * dom/Element.h:
1833         * dom/NamedMappedAttrMap.cpp:
1834         * dom/NamedMappedAttrMap.h:
1835         (WebCore::NamedMappedAttrMap::NamedMappedAttrMap):
1836         * dom/NamedNodeMap.cpp:
1837         (WebCore::NamedNodeMap::clearAttributes):
1838         * dom/NamedNodeMap.h:
1839         (WebCore::NamedNodeMap::NamedNodeMap):
1840         * dom/Node.cpp:
1841         (WebCore::Node::dumpStatistics):
1842         * dom/StyledElement.cpp:
1843         * dom/StyledElement.h:
1844
1845 2010-05-19  Sam Weinig  <sam@webkit.org>
1846
1847         Reviewed by Anders Carlsson.
1848
1849         Use ASSERT_UNUSED instead of UNUSED_PARAM.
1850
1851         * dom/Attribute.cpp:
1852         (WebCore::Attribute::unbindAttr):
1853
1854 2010-05-19  Sam Weinig  <sam@webkit.org>
1855
1856         Rubber-stamped by Anders Carlsson.
1857
1858         Complete the merge of MappedAttribute and Attribute.
1859
1860         Files elided for brevity.
1861
1862 2010-05-19  Marcus Bulach  <bulach@chromium.org>
1863
1864         Reviewed by Steve Block.
1865
1866         [chromium] Adds supports for layout tests using GeolocationServiceMock.
1867         https://bugs.webkit.org/show_bug.cgi?id=39081
1868
1869         Allows injection of GeolocationServiceMock factory.
1870
1871         Tests: existing fast/dom/Geolocation/*
1872
1873         * platform/GeolocationService.cpp:
1874         (WebCore::GeolocationService::useMock):
1875         (WebCore::GeolocationService::useMockFactory):
1876         * platform/GeolocationService.h:
1877         * platform/chromium/GeolocationServiceChromium.cpp:
1878         (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
1879
1880 2010-05-19  Justin Schuh  <jschuh@chromium.org>
1881
1882         Reviewed by Adam Barth.
1883
1884         Moving frame.src checks out of the bindings
1885         https://bugs.webkit.org/show_bug.cgi?id=37815
1886
1887         Moved JavaScript frame.src checks out of bindings and into
1888         HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
1889         so ExecState is available inside core DOM. Updated affected bindings
1890         (except for GObject, which will need to be updated to avoid origin
1891         failures inside native code).
1892
1893         * Android.jscbindings.mk:
1894         * CMakeLists.txt:
1895         * GNUmakefile.am:
1896         * WebCore.gypi:
1897         * WebCore.pro:
1898         * WebCore.vcproj/WebCore.vcproj:
1899         * WebCore.xcodeproj/project.pbxproj:
1900         * bindings/js/JSBindingsAllInOne.cpp:
1901         * bindings/js/JSCallbackData.cpp:
1902         (WebCore::JSCallbackData::invokeCallback):
1903         * bindings/js/JSEventListener.cpp:
1904         (WebCore::JSEventListener::handleEvent):
1905         * bindings/js/JSInjectedScriptHostCustom.cpp:
1906         (WebCore::InjectedScriptHost::createInjectedScript):
1907         * bindings/js/JSMainThreadExecState.cpp: Added.
1908         * bindings/js/JSMainThreadExecState.h: Added.
1909         (WebCore::JSMainThreadExecState::currentState):
1910         (WebCore::JSMainThreadExecState::call):
1911         (WebCore::JSMainThreadExecState::evaluate):
1912         (WebCore::JSMainThreadExecState::JSMainThreadExecState):
1913         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
1914         (WebCore::JSMainThreadNullState::JSMainThreadNullState):
1915         * bindings/js/ScheduledAction.cpp:
1916         (WebCore::ScheduledAction::executeFunctionInContext):
1917         (WebCore::ScheduledAction::execute):
1918         * bindings/js/ScheduledAction.h:
1919         * bindings/js/ScriptController.cpp:
1920         (WebCore::ScriptController::evaluateInWorld):
1921         (WebCore::ScriptController::canAccessFromCurrentOrigin):
1922         * bindings/js/ScriptController.h:
1923         * bindings/js/ScriptFunctionCall.cpp:
1924         (WebCore::ScriptFunctionCall::call):
1925         * bindings/objc/ObjCEventListener.mm:
1926         * bindings/objc/WebScriptObject.mm:
1927         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1928         (-[WebScriptObject evaluateWebScript:]):
1929         * bindings/scripts/CodeGeneratorObjC.pm:
1930         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
1931         (-[DOMTestCallback callbackWithClass1Param:]):
1932         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
1933         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
1934         (-[DOMTestCallback customCallback:class6Param:]):
1935         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
1936         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1937         (-[DOMTestObj readOnlyIntAttr]):
1938         (-[DOMTestObj readOnlyStringAttr]):
1939         (-[DOMTestObj readOnlyTestObjAttr]):
1940         (-[DOMTestObj intAttr]):
1941         (-[DOMTestObj setIntAttr:]):
1942         (-[DOMTestObj longLongAttr]):
1943         (-[DOMTestObj setLongLongAttr:]):
1944         (-[DOMTestObj unsignedLongLongAttr]):
1945         (-[DOMTestObj setUnsignedLongLongAttr:]):
1946         (-[DOMTestObj stringAttr]):
1947         (-[DOMTestObj setStringAttr:]):
1948         (-[DOMTestObj testObjAttr]):
1949         (-[DOMTestObj setTestObjAttr:]):
1950         (-[DOMTestObj attrWithException]):
1951         (-[DOMTestObj setAttrWithException:]):
1952         (-[DOMTestObj attrWithSetterException]):
1953         (-[DOMTestObj setAttrWithSetterException:]):
1954         (-[DOMTestObj attrWithGetterException]):
1955         (-[DOMTestObj setAttrWithGetterException:]):
1956         (-[DOMTestObj customAttr]):
1957         (-[DOMTestObj setCustomAttr:]):
1958         (-[DOMTestObj scriptStringAttr]):
1959         (-[DOMTestObj voidMethod]):
1960         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
1961         (-[DOMTestObj intMethod]):
1962         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
1963         (-[DOMTestObj objMethod]):
1964         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
1965         (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
1966         (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
1967         (-[DOMTestObj serializedValue:]):
1968         (-[DOMTestObj methodWithException]):
1969         (-[DOMTestObj customMethod]):
1970         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
1971         (-[DOMTestObj customArgsAndException:]):
1972         (-[DOMTestObj addEventListener:listener:useCapture:]):
1973         (-[DOMTestObj removeEventListener:listener:useCapture:]):
1974         (-[DOMTestObj withDynamicFrame]):
1975         (-[DOMTestObj withDynamicFrameAndArg:]):
1976         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
1977         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
1978         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
1979         (-[DOMTestObj withScriptStateVoid]):
1980         (-[DOMTestObj withScriptStateObj]):
1981         (-[DOMTestObj withScriptStateVoidException]):
1982         (-[DOMTestObj withScriptStateObjException]):
1983         (-[DOMTestObj methodWithOptionalArg:]):
1984         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
1985         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
1986         * bindings/v8/ScriptController.cpp:
1987         (WebCore::ScriptController::canAccessFromCurrentOrigin):
1988         * bindings/v8/ScriptController.h:
1989         * html/HTMLFrameElementBase.cpp:
1990         (WebCore::HTMLFrameElementBase::isURLAllowed):
1991
1992 2010-05-19  Andreas Kling  <andreas.kling@nokia.com>
1993
1994         Reviewed by Darin Adler.
1995
1996         CanvasRenderingContext2D's property getters that return colors should
1997         serialize them in accordance with the HTML5 spec (4.8.11.1.4)
1998         Setters should ignore invalid colors.
1999
2000         Also, shadowColor should initially be transparent black (4.8.11.1.6)
2001
2002         https://bugs.webkit.org/show_bug.cgi?id=38845
2003
2004         Refactored CanvasStyle to store an RGBA32 instead of RGBA components and/or the color string.
2005
2006         Spec links:
2007         http://www.whatwg.org/specs/web-apps/current-work/#serialization-of-a-color
2008         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-shadowcolor
2009
2010         * html/canvas/CanvasRenderingContext2D.cpp:
2011         (WebCore::CanvasRenderingContext2D::State::State):
2012         (WebCore::CanvasRenderingContext2D::shadowColor):
2013         (WebCore::CanvasRenderingContext2D::setShadowColor):
2014         (WebCore::CanvasRenderingContext2D::setShadow):
2015         (WebCore::CanvasRenderingContext2D::clearShadow):
2016         (WebCore::CanvasRenderingContext2D::applyShadow):
2017         * html/canvas/CanvasRenderingContext2D.h:
2018         * html/canvas/CanvasStyle.cpp:
2019         (WebCore::CanvasStyle::CanvasStyle):
2020         (WebCore::CanvasStyle::create):
2021         (WebCore::CanvasStyle::applyStrokeColor):
2022         (WebCore::CanvasStyle::applyFillColor):
2023         * html/canvas/CanvasStyle.h:
2024         (WebCore::CanvasStyle::create):
2025         (WebCore::CanvasStyle::color):
2026         (WebCore::CanvasStyle::):
2027         (WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
2028         * platform/graphics/Color.cpp:
2029         (WebCore::Color::serialized):
2030         * platform/graphics/Color.h:
2031
2032 2010-05-19  Andreas Kling  <andreas.kling@nokia.com>
2033
2034         Reviewed by Simon Hausmann.
2035
2036         [Qt] REGRESSION: CoolClock isn't rendered properly
2037
2038         https://bugs.webkit.org/show_bug.cgi?id=38526
2039
2040         CanvasRenderingContext2D's arc() should connect to the previous point
2041         with a straight line (HTML5 spec 4.8.11.1.8), but if the path is empty
2042         to begin with, we don't want a line back to (0,0)
2043         This also fixes the rendering artifact discussed in bug 36226.
2044
2045         Spec link:
2046         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc
2047
2048         Test: fast/canvas/canvas-arc-connecting-line.html
2049
2050         * platform/graphics/qt/PathQt.cpp:
2051         (WebCore::Path::addArc):
2052
2053 2010-05-19  Alexander Pavlov  <apavlov@chromium.org>
2054
2055         Reviewed by Jeremy Orlow.
2056
2057         Fix whitespace for the bug 38906
2058         https://bugs.webkit.org/show_bug.cgi?id=39351
2059
2060         No new tests required (no code change).
2061
2062         * css/CSSParser.cpp:
2063         (WebCore::CSSParser::~CSSParser):
2064         (WebCore::CSSParser::setupParser):
2065         (WebCore::CSSParser::parseSheet):
2066         (WebCore::CSSParser::parseValue):
2067         (WebCore::CSSParser::parseSelector):
2068         (WebCore::unitFromString):
2069         (WebCore::CSSParser::checkForOrphanedUnits):
2070         (WebCore::CSSParser::parseWCSSInputProperty):
2071         (WebCore::CSSParser::parseFillShorthand):
2072         (WebCore::CSSParser::parseAnimationShorthand):
2073         (WebCore::CSSParser::parseTransitionShorthand):
2074         (WebCore::CSSParser::parseShorthand):
2075         (WebCore::CSSParser::parse4Values):
2076         (WebCore::CSSParser::parseAttr):
2077         (WebCore::CSSParser::parseFillPositionXY):
2078         (WebCore::CSSParser::parseFillPosition):
2079         (WebCore::CSSParser::parseFillRepeat):
2080         (WebCore::CSSParser::parseFillProperty):
2081         (WebCore::CSSParser::parseAnimationTimingFunction):
2082         (WebCore::CSSParser::parseAnimationProperty):
2083         (WebCore::CSSParser::parseDashboardRegions):
2084         (WebCore::CSSParser::parseCounterContent):
2085         (WebCore::CSSParser::parseShape):
2086         (WebCore::CSSParser::parseFont):
2087         (WebCore::CSSParser::parseFontFamily):
2088         (WebCore::CSSParser::parseFontFaceSrc):
2089         (WebCore::parseInt):
2090         (WebCore::CSSParser::parseColor):
2091         (WebCore::CSSParser::parseShadow):
2092         (WebCore::CSSParser::parseReflect):
2093         (WebCore::BorderImageParseContext::commitNumber):
2094         (WebCore::BorderImageParseContext::commitBorderImage):
2095         (WebCore::CSSParser::parseBorderImage):
2096         (WebCore::CSSParser::parseCounter):
2097         (WebCore::parseGradientPoint):
2098         (WebCore::parseGradientColorStop):
2099         (WebCore::CSSParser::parseGradient):
2100         (WebCore::CSSParser::parseCanvas):
2101         (WebCore::CSSParser::parseTransform):
2102         (WebCore::CSSParser::parseTransformOrigin):
2103         (WebCore::CSSParser::parsePerspectiveOrigin):
2104         (WebCore::CSSParser::text):
2105         (WebCore::CSSParser::createRuleList):
2106         (WebCore::CSSParser::createVariablesRule):
2107         (WebCore::CSSParser::parseVariable):
2108         (WebCore::CSSParser::parsePropertyWithResolvedVariables):
2109         (WebCore::CSSParser::checkForVariables):
2110         (WebCore::CSSParser::createKeyframeRule):
2111         * css/CSSParser.h:
2112         * inspector/InspectorController.cpp:
2113         (WebCore::InspectorController::setFrontend):
2114         (WebCore::InspectorController::show):
2115         (WebCore::InspectorController::unbindAllResources):
2116         (WebCore::InspectorController::didCommitLoad):
2117         (WebCore::InspectorController::scriptImported):
2118         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
2119         (WebCore::InspectorController::removeBreakpoint):
2120         (WebCore::drawOutlinedQuad):
2121         (WebCore::InspectorController::stopTiming):
2122         * inspector/InspectorDOMAgent.cpp:
2123         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2124         (WebCore::InspectorDOMAgent::getStyles):
2125         (WebCore::InspectorDOMAgent::applyStyleText):
2126
2127 2010-05-19  Steve Block  <steveblock@google.com>
2128
2129         Reviewed by Nate Chapin.
2130
2131         V8 code generator does not add ENABLE guards around attribute getters and setters
2132         https://bugs.webkit.org/show_bug.cgi?id=39222
2133
2134         No new tests, build fix only.
2135
2136         * bindings/scripts/CodeGeneratorV8.pm:
2137
2138 2010-05-19  Jeremy Orlow  <jorlow@chromium.org>
2139
2140         Unreviewed build fix for Chromium.
2141
2142         * storage/IndexedDatabaseImpl.cpp:
2143
2144 2010-05-17  Jeremy Orlow  <jorlow@chromium.org>
2145
2146         Reviewed by Darin Fisher.
2147
2148         Hook Chromium's WebIndexedDatabaseImpl up to IndexedDatabaseImpl
2149         https://bugs.webkit.org/show_bug.cgi?id=39216
2150
2151         All of these functions are supposed to be passing around the origin since
2152         the caller of IndexedDatabaseImpl might not be able to pass in a Frame*
2153         object.  I tried to fix this in an ealier patch, but obviously messed up.
2154
2155         Also change passing security origin strings to passing SecurityOrigin
2156         objects.
2157
2158         No behavior change because Chromium was emulating the old behavior before
2159         even though the code wasn't properly hooked up.
2160
2161         * storage/IndexedDatabase.h:
2162         * storage/IndexedDatabaseImpl.cpp:
2163         (WebCore::IndexedDatabaseImpl::open):
2164         * storage/IndexedDatabaseImpl.h:
2165         * storage/IndexedDatabaseRequest.cpp:
2166         (WebCore::IndexedDatabaseRequest::open):
2167
2168 2010-05-19  Ben Murdoch  <benm@google.com>
2169
2170         Reviewed by Darin Adler.
2171
2172         Touch events are marked DontEnum in DOMWindow.idl
2173         https://bugs.webkit.org/show_bug.cgi?id=39118
2174
2175         Touch events are the only attribute event listeners on the
2176         window object that are marked DontEnum. For consistency allow
2177         them to be enumerated.
2178
2179         * page/DOMWindow.idl: Remove DontEnum from touchcancel, touchend,
2180             touchstart and touchmove attributes.
2181
2182 2010-05-19  Simon Hausmann  <simon.hausmann@nokia.com>
2183
2184         [Qt] Fix build warning
2185
2186         NamedAttrMap.h has been renamed to NamedNodeMap.h
2187
2188         * WebCore.pro:
2189
2190 2010-05-19  Eric Seidel  <eric@webkit.org>
2191
2192         Reviewed by Adam Barth.
2193
2194         Add an HTML parsing benchmark
2195         https://bugs.webkit.org/show_bug.cgi?id=39338
2196
2197         This benchmark parses the HTML5 specification 10 times and
2198         reports how long it takes.  It does this 21 times, discarding
2199         the first warm-up run, and then prints the average time and
2200         standard deviation.
2201
2202         Sharking the benchmark correctly shows over 60% of the time spent under HTMLTokenizer::write().
2203         The numbers from the benchmark are rather consistent.  On my
2204         Mac Book Pro, I consistently see standard deviations < 2% of total time.
2205
2206         * benchmarks/parser/html-parser.html: Added.
2207         * benchmarks/parser/resources/html5.html: Added.
2208
2209 2010-05-18  Yuzo Fujishima  <yuzo@google.com>
2210
2211         Reviewed by Shinichiro Hamaji.
2212
2213         Make CSS Parser properly handle only-for-pages pseudo-classes.
2214
2215         A new Match category, PagePseudoClass, is introduced to distinguish
2216         only-for-pages pseudo-classes from others. A new symbol, pseudo_page,
2217         is introduced to handle them separately.
2218
2219         https://bugs.webkit.org/show_bug.cgi?id=38731
2220
2221         * css/CSSGrammar.y:
2222         * css/CSSParser.cpp:
2223         (WebCore::CSSParser::createMarginAtRule):
2224         * css/CSSParser.h:
2225         * css/CSSSelector.cpp:
2226         (WebCore::CSSSelector::extractPseudoType):
2227         (WebCore::CSSSelector::selectorText):
2228         * css/CSSSelector.h:
2229         (WebCore::CSSSelector::):
2230         * css/CSSStyleSelector.cpp:
2231         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2232
2233 2010-05-19  Adam Barth  <abarth@webkit.org>
2234
2235         Reviewed by David Hyatt.
2236
2237         Change the API of nextToken to distinguish between emitting a token and just running out of input
2238         https://bugs.webkit.org/show_bug.cgi?id=39349
2239
2240         I'm not sure there's a functional difference with this patch yet, but
2241         as discussed with Eric, we need this to handle attributes.
2242
2243         * html/HTML5Lexer.cpp:
2244         (WebCore::HTML5Lexer::reset):
2245         (WebCore::HTML5Lexer::nextToken):
2246         * html/HTML5Lexer.h:
2247         * html/HTML5Token.h:
2248         (WebCore::HTML5Token::HTML5Token):
2249         (WebCore::HTML5Token::clear):
2250         (WebCore::HTML5Token::beginStartTag):
2251         (WebCore::HTML5Token::beginEndTag):
2252         (WebCore::HTML5Token::beginCharacter):
2253         * html/HTML5Tokenizer.cpp:
2254         (WebCore::HTML5Tokenizer::write):
2255
2256 2010-05-18  Eric Seidel  <eric@webkit.org>
2257
2258         Reviewed by Maciej Stachowiak.
2259
2260         Refactor HTMLTokenizer::write to make it more readable and split out the lexer bits from flow control bits
2261         https://bugs.webkit.org/show_bug.cgi?id=39318
2262
2263         No functional changes, only moving code into smaller functions.
2264
2265         This code is already covered by numerous layout tests.
2266
2267         HTML parsing benchmark shows this to be a wash.
2268
2269         * dom/Tokenizer.h:
2270         * html/HTMLTokenizer.cpp:
2271         (WebCore::HTMLTokenizer::advance):
2272          - New funtion to encapulate code which will move into HTMLLexer eventually.
2273          - Use ALWAYS_INLINE to make sure compilers inline this large
2274            function (otherwise this patch is a regression).
2275         (WebCore::HTMLTokenizer::willWriteHTML):
2276          - New function to handle calling any pre-write delegates.
2277         (WebCore::HTMLTokenizer::didWriteHTML):
2278          - New function to handle calling any post-write delegates.
2279         (WebCore::HTMLTokenizer::write):
2280          - Call the new functions.
2281         * html/HTMLTokenizer.h:
2282
2283 2010-05-18  Adam Barth  <abarth@webkit.org>
2284
2285         Reviewed by Eric Seidel.
2286
2287         Make the HTML5 parser correctly parse <div>Hello</div>
2288         https://bugs.webkit.org/show_bug.cgi?id=39345
2289
2290         Again, this patch is covered by a large number of LayoutTests.
2291
2292         * html/HTML5Lexer.cpp:
2293         (WebCore::HTML5Lexer::HTML5Lexer):
2294         (WebCore::HTML5Lexer::reset):
2295         (WebCore::HTML5Lexer::nextToken):
2296         (WebCore::HTML5Lexer::emitCommentToken):
2297         (WebCore::HTML5Lexer::emitCharacter):
2298         (WebCore::HTML5Lexer::emitCurrentTagToken):
2299         * html/HTML5Lexer.h:
2300         * html/HTML5Token.h:
2301         (WebCore::HTML5Token::beginCharacter):
2302         (WebCore::HTML5Token::appendToCharacter):
2303         (WebCore::HTML5Token::characters):
2304         * html/HTML5Tokenizer.cpp:
2305         (WebCore::convertToOldStyle):
2306
2307 2010-05-18  Adam Barth  <abarth@webkit.org>
2308
2309         Reviewed by Eric Seidel.
2310
2311         Make the HTML5 parser actually parse <div></div>
2312         https://bugs.webkit.org/show_bug.cgi?id=39342
2313
2314         This patch is covered by every LayoutTest.  Yes.  All of them.  :)
2315
2316         * html/HTML5Lexer.cpp:
2317         (WebCore::toLowerCase):
2318         (WebCore::HTML5Lexer::HTML5Lexer):
2319         (WebCore::HTML5Lexer::nextToken):
2320         (WebCore::HTML5Lexer::emitCharacter):
2321         * html/HTML5Lexer.h:
2322         * html/HTML5Token.h:
2323         (WebCore::HTML5Token::HTML5Token):
2324         (WebCore::HTML5Token::beginStartTag):
2325         (WebCore::HTML5Token::beginEndTag):
2326         (WebCore::HTML5Token::appendToName):
2327         (WebCore::HTML5Token::type):
2328         (WebCore::HTML5Token::name):
2329         (WebCore::HTML5Token::selfClosing):
2330         (WebCore::HTML5Token::attrs):
2331         * html/HTML5Tokenizer.cpp:
2332         (WebCore::convertToOldStyle):
2333         (WebCore::HTML5Tokenizer::write):
2334
2335 2010-05-18  Tony Chang  <tony@chromium.org>
2336
2337         Reviewed by Ojan Vafai.
2338
2339         REGRESSION: crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting in an empty li
2340         https://bugs.webkit.org/show_bug.cgi?id=38232
2341
2342         Test: editing/execCommand/crash-indenting-list-item.html
2343
2344         * editing/IndentOutdentCommand.cpp:
2345         (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
2346         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
2347
2348 2010-05-18  Kent Tamura  <tkent@chromium.org>
2349
2350         Reviewed by Darin Adler.
2351
2352         ':optional' pseudo selector should not be applied to <keygen> and <progress>
2353         https://bugs.webkit.org/show_bug.cgi?id=39292
2354
2355         Test: fast/css/pseudo-required-optional-unapplied.html
2356
2357         * html/HTMLKeygenElement.h:
2358         (WebCore::HTMLKeygenElement::isOptionalFormControl):
2359           Add isOptionalFormControl() returning false.
2360           HTMLKeygenElement inherits HTMLSelectElement, which should return true
2361           for isOptionalFormControl(). However, <keygen> is not :optional
2362           according to the standard.
2363         * html/HTMLProgressElement.h:
2364           Remove isOptionalFormControl().
2365
2366 2010-05-18  Adam Barth  <abarth@webkit.org>
2367
2368         Reviewed by Eric Seidel.
2369
2370         Implement the DOCTYPE states for the HTML5 lexer
2371         https://bugs.webkit.org/show_bug.cgi?id=39335
2372
2373         * html/HTML5Lexer.cpp:
2374         (WebCore::HTML5Lexer::nextToken):
2375         (WebCore::emitCurrentDoctypeToken):
2376         * html/HTML5Lexer.h:
2377
2378 2010-05-18  Tony Chang  <tony@chromium.org>
2379
2380         Reviewed by Ojan Vafai.
2381
2382         [chromium] ignore IME events if the keydown event was prevented
2383         https://bugs.webkit.org/show_bug.cgi?id=37692
2384
2385         A manual test to verify the IME behavior since the existing methods of
2386         textInputController test at a lower level than the fix.
2387
2388         * manual-tests/ime-keydown-preventdefault.html: Added.
2389
2390 2010-05-18  Sam Weinig  <sam@webkit.org>
2391
2392         Fix the build for platforms that don't always include UnusedParam.h
2393
2394         * dom/Attribute.cpp:
2395
2396 2010-05-18  MORITA Hajime  <morrita@google.com>
2397
2398         Reviewed by Kent Tamura.
2399
2400         [Chromium] Windows: Determinate progress bar should have glossy overlay
2401         https://bugs.webkit.org/show_bug.cgi?id=39269
2402         
2403         - Moved animation code from RenderThemeChromiumWin to chromium tree
2404           because it should be behind the theme implementation, which lives
2405           in chromium tree.
2406         - Passed current time to the bridge, which will be used to compute
2407           the state of the theme animation.
2408         
2409         No new tests, animation effect can be confirmed only manually.
2410         
2411         * platform/chromium/ChromiumBridge.h:
2412         * rendering/RenderProgress.h:
2413         (WebCore::RenderProgress::animationStartTime): Added.
2414         * rendering/RenderThemeChromiumWin.cpp:
2415         (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
2416         (WebCore::RenderThemeChromiumWin::paintProgressBar):
2417
2418 2010-05-18  Sam Weinig  <sam@webkit.org>
2419
2420         Fix release build.
2421
2422         * dom/Attribute.cpp:
2423         (WebCore::Attribute::unbindAttr):
2424
2425 2010-05-18  Sam Weinig  <sam@webkit.org>
2426
2427         Reviewed by Maciej Stachowiak.
2428
2429         Move Attr pointer from Attribute to a global HashMap.
2430         https://bugs.webkit.org/show_bug.cgi?id=39337
2431         <rdar://problem/8001168>
2432
2433         Shaves another word off of Attribute.
2434
2435         * dom/Attr.cpp:
2436         (WebCore::Attr::Attr):
2437         (WebCore::Attr::~Attr):
2438         * dom/Attribute.cpp:
2439         (WebCore::attributeAttrMap):
2440         (WebCore::Attribute::attr):
2441         (WebCore::Attribute::createAttrIfNeeded):
2442         (WebCore::Attribute::bindAttr):
2443         (WebCore::Attribute::unbindAttr):
2444         * dom/Attribute.h:
2445         (WebCore::Attribute::Attribute):
2446
2447 2010-05-18  Jakob Petsovits  <jpetsovits@rim.com>
2448
2449         Unreviewed, forgot to svn add source file in r59619.
2450         http://trac.webkit.org/changeset/59619
2451
2452         * platform/image-decoders/openvg: Added.
2453         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
2454         (WebCore::RGBA32Buffer::asNewNativeImage):
2455
2456 2010-05-18  Yaar Schnitman  <yaar@chromium.org>
2457
2458         Unreviewed, rolling out r59693.
2459         http://trac.webkit.org/changeset/59693
2460         https://bugs.webkit.org/show_bug.cgi?id=37815
2461
2462         Broke GTK Release
2463
2464         * Android.jscbindings.mk:
2465         * CMakeLists.txt:
2466         * GNUmakefile.am:
2467         * WebCore.gypi:
2468         * WebCore.pro:
2469         * WebCore.vcproj/WebCore.vcproj:
2470         * WebCore.xcodeproj/project.pbxproj:
2471         * bindings/js/JSBindingsAllInOne.cpp:
2472         * bindings/js/JSCallbackData.cpp:
2473         (WebCore::JSCallbackData::invokeCallback):
2474         * bindings/js/JSEventListener.cpp:
2475         (WebCore::JSEventListener::handleEvent):
2476         * bindings/js/JSInjectedScriptHostCustom.cpp:
2477         (WebCore::InjectedScriptHost::createInjectedScript):
2478         * bindings/js/JSMainThreadExecState.cpp: Removed.
2479         * bindings/js/JSMainThreadExecState.h: Removed.
2480         * bindings/js/ScheduledAction.cpp:
2481         (WebCore::ScheduledAction::executeFunctionInContext):
2482         (WebCore::ScheduledAction::execute):
2483         * bindings/js/ScheduledAction.h:
2484         * bindings/js/ScriptController.cpp:
2485         (WebCore::ScriptController::evaluateInWorld):
2486         * bindings/js/ScriptController.h:
2487         * bindings/js/ScriptFunctionCall.cpp:
2488         (WebCore::ScriptFunctionCall::call):
2489         * bindings/objc/ObjCEventListener.mm:
2490         * bindings/objc/WebScriptObject.mm:
2491         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2492         (-[WebScriptObject evaluateWebScript:]):
2493         * bindings/scripts/CodeGeneratorObjC.pm:
2494         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2495         (-[DOMTestCallback callbackWithClass1Param:]):
2496         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
2497         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
2498         (-[DOMTestCallback customCallback:class6Param:]):
2499         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
2500         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2501         (-[DOMTestObj readOnlyIntAttr]):
2502         (-[DOMTestObj readOnlyStringAttr]):
2503         (-[DOMTestObj readOnlyTestObjAttr]):
2504         (-[DOMTestObj intAttr]):
2505         (-[DOMTestObj setIntAttr:]):
2506         (-[DOMTestObj longLongAttr]):
2507         (-[DOMTestObj setLongLongAttr:]):
2508         (-[DOMTestObj unsignedLongLongAttr]):
2509         (-[DOMTestObj setUnsignedLongLongAttr:]):
2510         (-[DOMTestObj stringAttr]):
2511         (-[DOMTestObj setStringAttr:]):
2512         (-[DOMTestObj testObjAttr]):
2513         (-[DOMTestObj setTestObjAttr:]):
2514         (-[DOMTestObj attrWithException]):
2515         (-[DOMTestObj setAttrWithException:]):
2516         (-[DOMTestObj attrWithSetterException]):
2517         (-[DOMTestObj setAttrWithSetterException:]):
2518         (-[DOMTestObj attrWithGetterException]):
2519         (-[DOMTestObj setAttrWithGetterException:]):
2520         (-[DOMTestObj customAttr]):
2521         (-[DOMTestObj setCustomAttr:]):
2522         (-[DOMTestObj scriptStringAttr]):
2523         (-[DOMTestObj voidMethod]):
2524         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
2525         (-[DOMTestObj intMethod]):
2526         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
2527         (-[DOMTestObj objMethod]):
2528         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
2529         (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
2530         (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
2531         (-[DOMTestObj serializedValue:]):
2532         (-[DOMTestObj methodWithException]):
2533         (-[DOMTestObj customMethod]):
2534         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
2535         (-[DOMTestObj customArgsAndException:]):
2536         (-[DOMTestObj addEventListener:listener:useCapture:]):
2537         (-[DOMTestObj removeEventListener:listener:useCapture:]):
2538         (-[DOMTestObj withDynamicFrame]):
2539         (-[DOMTestObj withDynamicFrameAndArg:]):
2540         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
2541         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
2542         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
2543         (-[DOMTestObj withScriptStateVoid]):
2544         (-[DOMTestObj withScriptStateObj]):
2545         (-[DOMTestObj withScriptStateVoidException]):
2546         (-[DOMTestObj withScriptStateObjException]):
2547         (-[DOMTestObj methodWithOptionalArg:]):
2548         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
2549         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
2550         * bindings/v8/ScriptController.cpp:
2551         * bindings/v8/ScriptController.h:
2552         * html/HTMLFrameElementBase.cpp:
2553         (WebCore::HTMLFrameElementBase::isURLAllowed):
2554
2555 2010-05-18  Adam Barth  <abarth@webkit.org>
2556
2557         Reviewed by Eric Seidel.
2558
2559         Implement comment states for HTML5 lexer
2560         https://bugs.webkit.org/show_bug.cgi?id=39334
2561
2562         * html/HTML5Lexer.cpp:
2563         (WebCore::HTML5Lexer::nextToken):
2564
2565 2010-05-18  Anders Carlsson  <andersca@apple.com>
2566
2567         Reviewed by Sam Weinig.
2568
2569         Move all member variables from MappedAttribute to Attribute.
2570         https://bugs.webkit.org/show_bug.cgi?id=39336
2571         <rdar://problem/8000853>
2572
2573         This saves one word because we no longer have any virtual member functions in Attribute, and
2574         thus no vtable pointer.
2575         
2576         I plan to remove MappedAttribute altogether in a subsequent commit.
2577
2578         * Android.mk:
2579         * GNUmakefile.am:
2580         * WebCore.gypi:
2581         * WebCore.pro:
2582         * WebCore.vcproj/WebCore.vcproj:
2583         * WebCore.xcodeproj/project.pbxproj:
2584         * css/CSSStyleSelector.cpp:
2585         (WebCore::CSSStyleSelector::styleForElement):
2586         * dom/Attribute.cpp:
2587         (WebCore::Attribute::clone):
2588         * dom/Attribute.h:
2589         (WebCore::Attribute::create):
2590         (WebCore::Attribute::style):
2591         (WebCore::Attribute::decl):
2592         (WebCore::Attribute::setDecl):
2593         (WebCore::Attribute::isMappedAttribute):
2594         (WebCore::Attribute::Attribute):
2595         * dom/MappedAttribute.cpp: Removed.
2596         * dom/MappedAttribute.h:
2597         (WebCore::MappedAttribute::create):
2598         (WebCore::MappedAttribute::MappedAttribute):
2599         (WebCore::toMappedAttribute):
2600         * dom/NamedMappedAttrMap.cpp:
2601         (WebCore::NamedMappedAttrMap::declCount):
2602         (WebCore::NamedMappedAttrMap::mapsEquivalent):
2603         * dom/StyledElement.cpp:
2604         (WebCore::StyledElement::attributeChanged):
2605         * svg/SVGSVGElement.cpp:
2606         (WebCore::updateCSSForAttribute):
2607         * svg/SVGStyledElement.cpp:
2608         (WebCore::SVGStyledElement::getPresentationAttribute):
2609
2610 2010-05-18  Tony Chang  <tony@chromium.org>
2611
2612         Reviewed by Darin Adler.
2613
2614         https://bugs.webkit.org/show_bug.cgi?id=24943
2615         Command-B and Command-I do not generate keydown events in contentEditable regions.
2616
2617         * manual-tests/style-keypress-events.html: Added.
2618
2619 2010-05-18  Adam Barth  <abarth@webkit.org>
2620
2621         Reviewed by Eric Seidel.
2622
2623         Add more state to the HTML5 lexer
2624         https://bugs.webkit.org/show_bug.cgi?id=39333
2625
2626         This code is just transliteration from the spec.
2627
2628         * html/HTML5Lexer.cpp:
2629         (WebCore::HTML5Lexer::HTML5Lexer):
2630         (WebCore::HTML5Lexer::nextToken):
2631         * html/HTML5Lexer.h:
2632
2633 2010-05-18  Adam Barth  <abarth@webkit.org>
2634
2635         Reviewed by Eric Seidel.
2636
2637         Implement two more lexer states
2638         https://bugs.webkit.org/show_bug.cgi?id=39298
2639
2640         No tests because Eric is still working on wiring up the lexer to the
2641         test harness.
2642
2643         * html/HTML5Lexer.cpp:
2644         (WebCore::HTML5Lexer::nextToken):
2645         (WebCore::HTML5Lexer::emitParseError):
2646         (WebCore::HTML5Lexer::emitCurrentTagToken):
2647         * html/HTML5Lexer.h:
2648
2649 2010-05-18  Brady Eidson  <beidson@apple.com>
2650
2651         Reviewed by Maciej Stachowiak.
2652
2653         Repro crash with many Google image search results
2654         <rdar://problem/7685669> and https://bugs.webkit.org/show_bug.cgi?id=39323
2655
2656         When an iframe has a plugin resource as its src, that case bypassed the plugin sandboxing checks and continued to load
2657         the data for the plugin resource. It handed that data off to a nonexistent Widget, causing a null deref and the crash.
2658
2659         By replacing PluginDocuments in sandboxes iframes with a new "SinkDocument" that just acts as a data sink, we prevent the
2660         crash and also prevent actually loading the plugin binaries.
2661
2662         I filed https://bugs.webkit.org/show_bug.cgi?id=39330 to follow up and let us cancel the load as soon as we know we should.
2663
2664         Test: fast/loader/sandboxed-plugin-crash.html
2665
2666         * CMakeLists.txt:
2667         * GNUmakefile.am:
2668         * WebCore.gypi:
2669         * WebCore.pro:
2670         * WebCore.vcproj/WebCore.vcproj:
2671         * WebCore.xcodeproj/project.pbxproj:
2672
2673         * loader/DocumentWriter.cpp:
2674         (WebCore::DocumentWriter::begin): If the created document is a PluginDocument and the plugin sandbox flag is set,
2675           replace it with a SinkDocument.
2676
2677         * loader/PluginDocument.h:
2678         (WebCore::PluginDocument::isPluginDocument): Make public (it was already public at the Document.h level).
2679
2680         Add a simple document/tokenizer pair that simply presents a blank HTML document and acts as a data sink for whatever
2681         data is handed to it:
2682         * loader/SinkDocument.cpp: Added.
2683         (WebCore::SinkTokenizer::SinkTokenizer):
2684         (WebCore::SinkTokenizer::write):
2685         (WebCore::SinkTokenizer::isWaitingForScripts):
2686         (WebCore::SinkTokenizer::wantsRawData):
2687         (WebCore::SinkTokenizer::writeRawData):
2688         (WebCore::SinkTokenizer::stopParsing):
2689         (WebCore::SinkTokenizer::finish):
2690         (WebCore::SinkDocument::SinkDocument):
2691         (WebCore::SinkDocument::createTokenizer):
2692         * loader/SinkDocument.h: Added.
2693         (WebCore::SinkDocument::create):
2694
2695 2010-05-18  Sam Weinig  <sam@webkit.org>
2696
2697         Reviewed by Anders Carlsson.
2698
2699         https://bugs.webkit.org/show_bug.cgi?id=39321
2700         Reduce the size of ListHashSets used by Document
2701         <rdar://problem/7999388>
2702
2703         Reduce Membuster peak memory usage by ~450K by reducing the pool sizes
2704         of the ListHashSets used by Document.
2705
2706         * dom/Document.cpp:
2707         (WebCore::Document::addStyleSheetCandidateNode):
2708         (WebCore::Document::recalcStyleSelector):
2709         * dom/Document.h:
2710
2711 2010-05-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2712
2713         Rubberstamped by Simon Hausmann.
2714
2715         Return null when creating an ImageBuffer failed, due to for
2716         instance a nulled pixmap.
2717
2718         * platform/graphics/qt/ImageBufferQt.cpp:
2719         (WebCore::ImageBufferData::ImageBufferData):
2720         (WebCore::ImageBuffer::ImageBuffer):
2721
2722 2010-05-18  Jian Li  <jianli@chromium.org>
2723
2724         Reviewed by Dmitry Titov.
2725
2726         Fix bug 39285: fast/files/file-reader.html is timing out on all mac bots.
2727         https://bugs.webkit.org/show_bug.cgi?id=39285
2728
2729         The timeout is caused by 59659 that changed the GC timer to 0 and thus
2730         triggered a bug in FileReader code. The fix is to add more states so
2731         that hasPendingActivity() can do the check correctly.
2732
2733         * html/FileReader.cpp:
2734         (WebCore::FileReader::FileReader):
2735         (WebCore::FileReader::hasPendingActivity):
2736         (WebCore::FileReader::readInternal):
2737         (WebCore::FileReader::terminate):
2738         (WebCore::FileReader::didStart):
2739         (WebCore::FileReader::didGetSize):
2740         (WebCore::FileReader::didRead):
2741         (WebCore::FileReader::didFinish):
2742         (WebCore::FileReader::didFail):
2743         (WebCore::FileReader::readyState):
2744         (WebCore::FileReader::result):
2745         * html/FileReader.h:
2746         (WebCore::FileReader::):
2747
2748 2010-05-18  Simon Fraser  <simon.fraser@apple.com>
2749
2750         Reviewed by Darin Adler.
2751
2752         Clean up GraphicsLayer naming code
2753         https://bugs.webkit.org/show_bug.cgi?id=39316
2754
2755         Move code that generates a name for the GraphicsLayer (used in debug builds only) into
2756         a new nameForLayer() method. Use it when naming the foreground layer.
2757
2758         * rendering/RenderLayerBacking.cpp:
2759         (WebCore::RenderLayerBacking::createGraphicsLayer):
2760         (WebCore::RenderLayerBacking::updateForegroundLayer):
2761         (WebCore::RenderLayerBacking::nameForLayer):
2762         * rendering/RenderLayerBacking.h:
2763
2764 2010-05-18  Justin Schuh  <jschuh@chromium.org>
2765
2766         Reviewed by Adam Barth.
2767
2768         Moving frame.src checks out of the bindings
2769         https://bugs.webkit.org/show_bug.cgi?id=37815
2770
2771         Moved JavaScript frame.src checks out of bindings and into
2772         HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
2773         so ExecState is available inside core DOM. Updated affected bindings
2774         (except for GObject, which will need to be updated to avoid origin
2775         failures inside native code).
2776
2777         * Android.jscbindings.mk:
2778         * CMakeLists.txt:
2779         * GNUmakefile.am:
2780         * WebCore.gypi:
2781         * WebCore.pro:
2782         * WebCore.vcproj/WebCore.vcproj:
2783         * WebCore.xcodeproj/project.pbxproj:
2784         * bindings/js/JSBindingsAllInOne.cpp:
2785         * bindings/js/JSCallbackData.cpp:
2786         (WebCore::JSCallbackData::invokeCallback):
2787         * bindings/js/JSEventListener.cpp:
2788         (WebCore::JSEventListener::handleEvent):
2789         * bindings/js/JSInjectedScriptHostCustom.cpp:
2790         (WebCore::InjectedScriptHost::createInjectedScript):
2791         * bindings/js/JSMainThreadExecState.cpp: Added.
2792         * bindings/js/JSMainThreadExecState.h: Added.
2793         (WebCore::JSMainThreadExecState::currentState):
2794         (WebCore::JSMainThreadExecState::call):
2795         (WebCore::JSMainThreadExecState::evaluate):
2796         (WebCore::JSMainThreadExecState::JSMainThreadExecState):
2797         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
2798         (WebCore::JSMainThreadNullState::JSMainThreadNullState):
2799         * bindings/js/ScheduledAction.cpp:
2800         (WebCore::ScheduledAction::executeFunctionInContext):
2801         (WebCore::ScheduledAction::execute):
2802         * bindings/js/ScheduledAction.h:
2803         * bindings/js/ScriptController.cpp:
2804         (WebCore::ScriptController::evaluateInWorld):
2805         (WebCore::ScriptController::canAccessFromCurrentOrigin):
2806         * bindings/js/ScriptController.h:
2807         * bindings/js/ScriptFunctionCall.cpp:
2808         (WebCore::ScriptFunctionCall::call):
2809         * bindings/objc/ObjCEventListener.mm:
2810         * bindings/objc/WebScriptObject.mm:
2811         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2812         (-[WebScriptObject evaluateWebScript:]):
2813         * bindings/scripts/CodeGeneratorObjC.pm:
2814         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2815         (-[DOMTestCallback callbackWithClass1Param:]):
2816         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
2817         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
2818         (-[DOMTestCallback customCallback:class6Param:]):
2819         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
2820         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2821         (-[DOMTestObj readOnlyIntAttr]):
2822         (-[DOMTestObj readOnlyStringAttr]):
2823         (-[DOMTestObj readOnlyTestObjAttr]):
2824         (-[DOMTestObj intAttr]):
2825         (-[DOMTestObj setIntAttr:]):
2826         (-[DOMTestObj longLongAttr]):
2827         (-[DOMTestObj setLongLongAttr:]):
2828         (-[DOMTestObj unsignedLongLongAttr]):
2829         (-[DOMTestObj setUnsignedLongLongAttr:]):
2830         (-[DOMTestObj stringAttr]):
2831         (-[DOMTestObj setStringAttr:]):
2832         (-[DOMTestObj testObjAttr]):
2833         (-[DOMTestObj setTestObjAttr:]):
2834         (-[DOMTestObj attrWithException]):
2835         (-[DOMTestObj setAttrWithException:]):
2836         (-[DOMTestObj attrWithSetterException]):
2837         (-[DOMTestObj setAttrWithSetterException:]):
2838         (-[DOMTestObj attrWithGetterException]):
2839         (-[DOMTestObj setAttrWithGetterException:]):
2840         (-[DOMTestObj customAttr]):
2841         (-[DOMTestObj setCustomAttr:]):
2842         (-[DOMTestObj scriptStringAttr]):
2843         (-[DOMTestObj voidMethod]):
2844         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
2845         (-[DOMTestObj intMethod]):
2846         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
2847         (-[DOMTestObj objMethod]):
2848         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
2849         (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
2850         (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
2851         (-[DOMTestObj serializedValue:]):
2852         (-[DOMTestObj methodWithException]):
2853         (-[DOMTestObj customMethod]):
2854         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
2855         (-[DOMTestObj customArgsAndException:]):
2856         (-[DOMTestObj addEventListener:listener:useCapture:]):
2857         (-[DOMTestObj removeEventListener:listener:useCapture:]):
2858         (-[DOMTestObj withDynamicFrame]):
2859         (-[DOMTestObj withDynamicFrameAndArg:]):
2860         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
2861         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
2862         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
2863         (-[DOMTestObj withScriptStateVoid]):
2864         (-[DOMTestObj withScriptStateObj]):
2865         (-[DOMTestObj withScriptStateVoidException]):
2866         (-[DOMTestObj withScriptStateObjException]):
2867         (-[DOMTestObj methodWithOptionalArg:]):
2868         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
2869         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
2870         * bindings/v8/ScriptController.cpp:
2871         (WebCore::ScriptController::canAccessFromCurrentOrigin):
2872         * bindings/v8/ScriptController.h:
2873         * html/HTMLFrameElementBase.cpp:
2874         (WebCore::HTMLFrameElementBase::isURLAllowed):
2875
2876 2010-05-18  Drew Wilson  <atwilson@chromium.org>
2877
2878         Unreviewed: Speculative build fix for Chromium win.
2879
2880         * platform/graphics/skia/SkiaFontWin.cpp: Properly set inlineCapacity.
2881
2882 2010-05-18  Drew Wilson  <atwilson@chromium.org>
2883
2884         Unreviewed fix for Chromium build break.
2885
2886         * platform/graphics/skia/SkiaFontWin.cpp: Now set inlineCapacity param.
2887
2888 2010-05-18  Daniel Cheng  <dcheng@chromium.org>
2889
2890         Reviewed by Darin Adler, Jian Li.
2891
2892         DragData::asURL() shouldn't do file validity checks
2893         https://bugs.webkit.org/show_bug.cgi?id=38711
2894
2895         There's no point to trying to make sure the file is valid in
2896         DragData::asURL(). It's better to ask for forgiveness than to ask for
2897         permission, since asking for permission is prone to race conditions
2898         and results in unnecessary I/O.  Consumers of this function either:
2899         - need to verify the file exists themselves (e.g. the loader)
2900         - don't care about file validity (rich text drag-and-drop)
2901
2902         * platform/chromium/DragDataChromium.cpp:
2903         (WebCore::DragData::asURL):
2904
2905 2010-05-18  Timothy Hatcher  <timothy@apple.com>
2906
2907         Fix a handful of various localization issues in the Web Inspector.
2908
2909         * Localize strings that where not localized.
2910         * Make WebInspector.UIString work without bind.
2911         * Always pass WebInspector.UIString to Number.secondsToString and Number.bytesToString.
2912         * Never pass a variable to WebInspector.UIString, since that prevents auto-generation.
2913         * Use an ellipsis instead of three periods.
2914
2915         https://webkit.org/b/39303
2916         rdar://problem/7997101
2917
2918         Reviewed by Adam Roben.
2919
2920         * English.lproj/localizedStrings.js:
2921         * inspector/front-end/AuditRules.js:
2922         (WebInspector.AuditRules.GzipRule.prototype.doRun):
2923         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
2924         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
2925         * inspector/front-end/ConsoleView.js:
2926         (WebInspector.ConsoleView):
2927         * inspector/front-end/ImageView.js:
2928         (WebInspector.ImageView.prototype.contentTabSelected):
2929         * inspector/front-end/ProfileDataGridTree.js:
2930         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
2931         (WebInspector.ProfileDataGridNode.prototype.get data):
2932         * inspector/front-end/ResourcesPanel.js:
2933         (WebInspector.ResourceTimeCalculator.prototype.formatValue):
2934         (WebInspector.ResourceTransferTimeCalculator.prototype.formatValue):
2935         (WebInspector.ResourceTransferDurationCalculator.prototype.formatValue):
2936         (WebInspector.ResourceTransferSizeCalculator.prototype.formatValue):
2937         * inspector/front-end/ScriptsPanel.js:
2938         (WebInspector.ScriptsPanel.prototype._registerShortcuts):
2939         * inspector/front-end/SourceFrame.js:
2940         (WebInspector.SourceFrame.prototype._contextMenu):
2941         * inspector/front-end/TimelineOverviewPane.js:
2942         (WebInspector.TimelineOverviewCalculator):
2943         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
2944         * inspector/front-end/TimelinePanel.js:
2945         (WebInspector.TimelinePanel):
2946         (WebInspector.TimelineCalculator):
2947         (WebInspector.TimelineCalculator.prototype.formatValue):
2948         (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
2949         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2950         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2951         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
2952         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
2953         * inspector/front-end/inspector.js:
2954         (WebInspector.loaded):
2955         (WebInspector.setRecordingProfile):
2956         (WebInspector.UIString):
2957
2958 2010-05-18  Sam Weinig  <sam@webkit.org>
2959
2960         Another attempt to fix the build.
2961
2962         * css/CSSCursorImageValue.cpp:
2963
2964 2010-05-18  Adam Roben  <aroben@apple.com>
2965
2966         Make accelerated compositing work on machines that don't support
2967         hardware vertex processing
2968
2969         Fixes <http://webkit.org/b/39299> <rdar://problem/7997692> Accelerated
2970         compositing on Windows doesn't work on machines that don't support
2971         hardware vertex processing, but should
2972
2973         Reviewed by Eric Carlson.
2974
2975         * platform/graphics/win/WKCACFLayerRenderer.cpp:
2976         (WebCore::WKCACFLayerRenderer::createRenderer): Query the device
2977         capabilities to decide whether to request hardware or software vertex
2978         processing.
2979
2980 2010-05-18  Adam Roben  <aroben@apple.com>
2981
2982         Make WKCACFLayerRenderer robust against temporary failure of
2983         Direct3DCreate9 and IDirect3D9::CreateDevice
2984
2985         For a short time after waking from sleep, Direct3DCreate9() will
2986         return an IDirect3D9 for which IDirect3D9::CreateDevice will always
2987         fail. Also during this time period, IDirect3D9::CreateDevice
2988         will fail even for non-bad IDirect3D9s. (It will later start
2989         succeeding.) WKCACFLayerRenderer now works around this behavior by
2990         detecting when it might be in this situation and calling these
2991         functions again later.
2992
2993         Fixes <http://webkit.org/b/39297> <rdar://problem/7997431> WebView
2994         doesn't repaint until page reloads when page using hardware
2995         acceleration loads just after waking from sleep
2996
2997         Reviewed by John Sullivan.
2998
2999         * manual-tests/crash-and-no-repaint-after-wake-from-sleep.html:
3000         Renamed from WebCore/manual-tests/crash-after-wake-from-sleep.html.
3001         Modified to also include instructions for reproducing this bug.
3002
3003         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3004         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Replaced
3005         m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater. The
3006         new member is initialized to true, since we haven't even tried to
3007         create a device once yet.
3008         (WebCore::WKCACFLayerRenderer::createRenderer): If we already have a
3009         D3D device, or we don't have one and are sure that we won't be able to
3010         create one later, just return the previously-created device, if any.
3011         We assume that we won't be able to create a device later if this
3012         function fails, unless the function fails due to CreateDevice failing.
3013         As noted above, CreateDevice will sometimes temporarily fail and then
3014         later start working again. When CreateDevice fails, we also assume
3015         that we might have a bad IDirect3D9, so we get rid of the one we have
3016         so a new (and hopefully non-bad) one will be allocated later.
3017         (WebCore::WKCACFLayerRenderer::destroyRenderer): Reset
3018         m_mightBeAbleToCreateDeviceLater to true, since we no longer have a
3019         device.
3020         (WebCore::WKCACFLayerRenderer::paint): Before trying to paint, try to
3021         create our D3D device and renderer. If this fails, we bail out, but if
3022         we think we might be able to create a device later we schedule another
3023         paint (via renderSoon()) so that we'll try again soon.
3024
3025         * platform/graphics/win/WKCACFLayerRenderer.h: Replaced
3026         m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater.
3027
3028 2010-05-18  Adam Roben  <aroben@apple.com>
3029
3030         Fix a crash when a page that uses accelerated compositing loads soon
3031         after the computer wakes from sleep
3032
3033         The set-up:
3034
3035         For a short time after waking from sleep, IDirect3D9::CreateDevice
3036         will fail. This caused WKCACFLayerRenderer::createRenderer to fail,
3037         and meant that WKCACFLayerRenderer never allocated a root layer.
3038         WebView wouldn't notice that createRenderer failed, and would go ahead
3039         and try to use the root layer anyway, resulting in a crash.
3040
3041         The fix:
3042
3043         We now allocate the root layer (and all the other members of
3044         WKCACFLayerRenderer that aren't dependent on having an
3045         IDirect3DDevice9) in WKCACFLayerRenderer's constructor. This way the
3046         layers will always be present, even when creating the D3D device
3047         fails.
3048
3049         There are two remaining problems:
3050           1) This results in slightly more memory usage in the case where
3051              CreateDevice fails.
3052           2) Once we get into this bad state, the WebView doesn't repaint
3053              until we navigate somewhere else.
3054
3055         (2) is covered by
3056         <http://webkit.org/b/39297>/<rdar://problem/7997431>. We'll fix it by
3057         retrying CreateDevice later in hopes that it will succeed after more
3058         time has passed. This will in turn fix (1). (We should never end up in
3059         a case where CreateDevice fails forever because we already did some
3060         preliminary checks in acceleratedCompositingAvailable().)
3061
3062         Fixes <http://webkit.org/b/39295> <rdar://problem/7971319> Crash
3063         (preceded by assertion) in WKCACFLayerRenderer::setNeedsDisplay when
3064         computer wakes from sleep on particular page
3065
3066         Reviewed by John Sullivan.
3067
3068         * manual-tests/crash-after-wake-from-sleep.html: Added. This
3069         is the Poster Circle demo from webkit.org/blog, but modified to
3070         automatically reload every 5 seconds and with instructions to put the
3071         computer to sleep and wake it up again.
3072
3073         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3074         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Moved code to
3075         initialize m_context, m_renderContext, and m_*Layer here...
3076         (WebCore::WKCACFLayerRenderer::createRenderer): ...from here.
3077
3078 2010-05-18  Adam Roben  <aroben@apple.com>
3079
3080         Remove an unused member variable from WKCACFLayerRenderer
3081
3082         Rubber-stamped by Ada Chan.
3083
3084         * platform/graphics/win/WKCACFLayerRenderer.h: Removed m_viewLayer,
3085         which is unused.
3086
3087 2010-05-18  Anders Carlsson  <andersca@apple.com>
3088
3089         Reviewed by Sam Weinig.
3090
3091         Allocate the m_preloads list hash set dynamically and free it when done.
3092         https://bugs.webkit.org/show_bug.cgi?id=39309
3093         <rdar://problem/7998495>
3094
3095         This saves about 6000 bytes on a fully loaded document.
3096
3097         * loader/DocLoader.cpp:
3098         (WebCore::DocLoader::requestPreload):
3099         (WebCore::DocLoader::clearPreloads):
3100         * loader/DocLoader.h:
3101
3102 2010-05-18  Anders Carlsson  <andersca@apple.com>
3103
3104         Revert unintended indentation and unnecessary nested name specifier.
3105
3106         * rendering/RenderBlock.cpp:
3107         (WebCore::clipOutPositionedObjects):
3108         (WebCore::RenderBlock::insertPositionedObject):
3109
3110 2010-05-18  Anders Carlsson  <andersca@apple.com>
3111
3112         Reviewed by Sam Weinig.
3113
3114         Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set.
3115         https://bugs.webkit.org/show_bug.cgi?id=39304
3116         <rdar://problem/7998366>
3117
3118         Set the inlineCapacity for the positionedObjects ListHashSet to 4 instead of 256. Since a RenderBlock usually has 
3119         few positioned objects, this saves memory.
3120
3121         * WebCore.base.exp:
3122         * rendering/RenderBlock.cpp:
3123         (WebCore::clipOutPositionedObjects):
3124         (WebCore::RenderBlock::insertPositionedObject):
3125         * rendering/RenderBlock.h:
3126         (WebCore::RenderBlock::positionedObjects):
3127
3128 2010-05-17  Sam Weinig  <sam@webkit.org>
3129
3130         Reviewed by Darin Adler.
3131
3132         https://bugs.webkit.org/show_bug.cgi?id=39258
3133         Remove NamedAttrMap residual gunk
3134
3135         Replace NamedAttrMap.h/cpp with NamedNodeMap.h/cpp which was the class
3136         it contained.
3137
3138         * CMakeLists.txt:
3139         * GNUmakefile.am:
3140         * WebCore.gypi:
3141         * WebCore.pro:
3142         * WebCore.vcproj/WebCore.vcproj:
3143         * WebCore.xcodeproj/project.pbxproj:
3144         * bindings/v8/custom/V8NamedNodesCollection.cpp:
3145         * dom/NamedAttrMap.cpp: Removed.
3146         * dom/NamedAttrMap.h: Removed.
3147         * dom/NamedNodeMap.cpp: Copied from dom/NamedAttrMap.cpp.
3148         * dom/NamedNodeMap.h: Replaced with dom/NamedAttrMap.h.
3149         * editing/ReplaceNodeWithSpanCommand.cpp:
3150         * platform/chromium/ClipboardChromium.cpp:
3151
3152 2010-05-18  Brady Eidson  <beidson@apple.com>
3153
3154         Reviewed by Eric Carlson.
3155
3156         <rdar://problem/7993468> REGRESSION (r58586): Audio doesn't play on first click of play button at NPR.org
3157
3158         NPR swallows the first mouse click on the play button, calls load() on the element, then waits for the
3159         canplay event to come in before calling play itself.
3160
3161         After the site specific hack added in r58586, we disallowed play() from within the canplay event handler.
3162         By tracking whether a load() was triggered by a user gesture, we can differentiate between the original
3163         canplay event that we meant to ignore and the one resulting from the first mouse click which we want to honor.
3164         
3165         No new tests. (Currently no way to test such site specific hack behavior)
3166
3167         * html/HTMLMediaElement.cpp:
3168         (WebCore::HTMLMediaElement::HTMLMediaElement):
3169         (WebCore::HTMLMediaElement::load): Set the m_loadInitiatedByUserGesture flag
3170         (WebCore::HTMLMediaElement::play): Only apply the site specific hack if the load wasn't initiated by a user gesture.
3171         * html/HTMLMediaElement.h:
3172
3173 2010-05-18  Jakob Petsovits  <jpetsovits@rim.com>
3174
3175         Reviewed by Dirk Schulze.
3176
3177         [OpenVG] Fix stupid build errors from the OpenVG Path commit
3178         https://bugs.webkit.org/show_bug.cgi?id=39228
3179
3180         * platform/graphics/openvg/PainterOpenVG.cpp:
3181         (WebCore::PainterOpenVG::clipPath):
3182         * platform/graphics/openvg/PathOpenVG.cpp:
3183         (WebCore::Path::transform):
3184
3185 2010-05-18  Chris Jerdonek  <cjerdonek@webkit.org>
3186
3187         Reviewed by Darin Adler.
3188
3189         Refactored FrameLoader::isDocumentSandboxed() from a private member function
3190         to a static, non-member, non-friend function.
3191
3192         https://bugs.webkit.org/show_bug.cgi?id=39157
3193
3194         Making this function non-private lets us make FrameLoader::createWindow()
3195         a non-member function in a subsequent patch.  We also made it non-member
3196         rather than member to increase encapsulation and limit the number of
3197         public functions with access to private FrameLoader data.
3198
3199         No new functionality, so no new tests.
3200
3201         * loader/FrameLoader.cpp:
3202         (WebCore::isDocumentSandboxed):
3203           - Moved this function from a private member function of FrameLoader
3204             to a static, non-member, non-friend function.
3205         (WebCore::FrameLoader::createWindow):
3206           - Updated the call to isDocumentSandboxed().
3207         (WebCore::FrameLoader::submitForm):
3208           - Updated the call to isDocumentSandboxed().
3209         (WebCore::FrameLoader::requestObject):
3210           - Updated the call to isDocumentSandboxed().
3211         (WebCore::FrameLoader::shouldAllowNavigation):
3212           - Updated the call to isDocumentSandboxed().
3213         * loader/FrameLoader.h:
3214           - Removed isDocumentSandboxed() and added a FIXME to move
3215             createWindow() out of the FrameLoader class.
3216
3217 2010-05-08  Robert Hogan  <robert@roberthogan.net>
3218
3219         Reviewed by Simon Hausmann.
3220
3221         [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
3222              and http/tests/xmlhttprequest/cross-origin-authorization.html
3223
3224         QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
3225         without knowing if this is valid behaviour or not. In order to allow
3226         Qt to decide whether Cookie/Authorization headers should be added
3227         to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
3228         These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
3229         QNetworkRequest::CookieSaveControlAttribute,and
3230         QNetworkRequest::AuthenticationReuseControlAttribute.
3231
3232         QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
3233         unless withCredentials is set to true in the XHR.
3234
3235         QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
3236         is set to true in the XHR.
3237
3238         Qt will pass the values onto QHttpNetworkRequest and this will permit
3239         the Qt network access processing to decide whether or not to add either
3240         or both of the Cookie/Authorisation headers, and whether to save cookies
3241         returned from such requests. By default the attribute
3242         will always be true so unless QtWebKit sets it to false normal
3243         header processing is unaffected.
3244
3245         The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
3246
3247         https://bugs.webkit.org/show_bug.cgi?id=32967
3248
3249         * platform/network/qt/ResourceRequestQt.cpp:
3250         (WebCore::ResourceRequest::toNetworkRequest):
3251
3252 2010-05-18  Zoltan Herczeg  <zherczeg@webkit.org>
3253
3254         Reviewed by Kenneth Rohde Christiansen.
3255
3256         [Qt] Implementing clipToImageBuffer for Qt port.
3257         https://bugs.webkit.org/show_bug.cgi?id=24289
3258
3259         The implementation combines pixmap layers and destinationIn
3260         composition mode.
3261
3262         * platform/graphics/qt/GraphicsContextQt.cpp:
3263         (WebCore::TransparencyLayer::TransparencyLayer):
3264         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3265         (WebCore::GraphicsContext::savePlatformState):
3266         (WebCore::GraphicsContext::restorePlatformState):
3267         (WebCore::GraphicsContext::inTransparencyLayer):
3268         (WebCore::GraphicsContext::beginTransparencyLayer):
3269         (WebCore::GraphicsContext::endTransparencyLayer):
3270         (WebCore::GraphicsContext::clipToImageBuffer):
3271
3272 2010-05-18  Eric Seidel  <eric@webkit.org>
3273
3274         Unreviewed build fix.
3275
3276         Make it possible to enable the new HTML5Tokenizer for testing
3277         https://bugs.webkit.org/show_bug.cgi?id=39275
3278
3279         * WebCore.gypi:
3280          - Fix HTMLLexer.* -> HTML5Lexer.*
3281         * WebCore.vcproj/WebCore.vcproj:
3282          - Add HTML5Lexer and HTML5Tokenizer to project.
3283
3284 2010-05-18  Eric Seidel  <eric@webkit.org>
3285
3286         Unreviewed build fix.
3287
3288         Make it possible to enable the new HTML5Tokenizer for testing
3289         https://bugs.webkit.org/show_bug.cgi?id=39275
3290
3291         * dom/NamedAttrMap.cpp:
3292         (WebCore::NamedNodeMap::setNamedItemNS):
3293          - Move this to the .cpp file so as to avoid needing to include "Node.h" in the header.
3294         * dom/NamedAttrMap.h:
3295         * html/HTML5Token.h:
3296          - Remove #include "String.h" which was wrong.  Adam meant "PlatformString.h"
3297          - Remove unneeded #include "Node.h", it was only needed because
3298            NamedAttrMap.h was incorrectly depending on Node.h but not
3299            including it.  It didn't actually need Node.h except for one
3300            inlined method setNamedItemNS, so I moved setNamedItemNS into
3301            the .cpp to get rid of the Node.h requirement.
3302
3303 2010-05-18  Eric Seidel  <eric@webkit.org>
3304
3305         Reviewed by Adam Barth.
3306
3307         Make it possible to enable the new HTML5Tokenizer for testing
3308         https://bugs.webkit.org/show_bug.cgi?id=39275
3309
3310         I added html5ParserEnabled to Settings so that we can enable/disable
3311         the HTML5 parser for testing.
3312
3313         I also ripped out a bunch of dead code from HTML5Lexer.
3314
3315         I had to add HTML5Lexer/HTML5Tokenizer to all build systems so that
3316         the build wouldn't fail now that we reference these classes from HTMLDocument.
3317
3318         * Android.mk:
3319         * CMakeLists.txt:
3320         * GNUmakefile.am:
3321         * WebCore.gypi:
3322         * WebCore.pro:
3323         * WebCore.xcodeproj/project.pbxproj:
3324         * html/HTML5Lexer.cpp:
3325         (WebCore::HTML5Lexer::reset):
3326         (WebCore::isWhitespace):
3327         (WebCore::HTML5Lexer::nextToken):
3328         * html/HTML5Lexer.h:
3329         * html/HTML5Tokenizer.cpp: Added.
3330         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
3331         (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
3332         (WebCore::HTML5Tokenizer::begin):
3333         (WebCore::HTML5Tokenizer::write):
3334         (WebCore::HTML5Tokenizer::end):
3335         (WebCore::HTML5Tokenizer::finish):
3336         (WebCore::HTML5Tokenizer::isWaitingForScripts):
3337         * html/HTML5Tokenizer.h: Added.
3338         * html/HTMLDocument.cpp:
3339         (WebCore::HTMLDocument::createTokenizer):
3340         * html/HTMLTokenizer.h:
3341         * html/HTMLViewSourceDocument.cpp:
3342         (WebCore::HTMLViewSourceDocument::createTokenizer):
3343         * page/Settings.cpp:
3344         (WebCore::Settings::Settings):
3345         * page/Settings.h:
3346         (WebCore::Settings::setHTML5ParserEnabled):
3347         (WebCore::Settings::html5ParserEnabled):
3348
3349 2010-05-18  Maciej Stachowiak  <mjs@apple.com>
3350
3351         Not reviewed, build fix.
3352
3353         Attempt to fix build for v8 bindings (untested).
3354
3355         * bindings/v8/ScriptController.cpp:
3356         (WebCore::ScriptController::clearWindowShell):
3357         * bindings/v8/ScriptController.h:
3358
3359 2010-05-17  Maciej Stachowiak  <mjs@apple.com>
3360
3361         Reviewed by Oliver Hunt.
3362
3363         GC more promptly when navigating to a new inner window, but not at all when it went in the page cache
3364         https://bugs.webkit.org/show_bug.cgi?id=39254
3365         <rdar://problem/7996370>
3366
3367         ~1% PLT speedup
3368         ~4% iBench HTML speedup
3369
3370         * bindings/js/GCController.cpp:
3371         (WebCore::GCController::garbageCollectSoon): Change back to a 0 delay timer instead of
3372         0.5 second.
3373         * bindings/js/ScriptController.cpp:
3374         (WebCore::ScriptController::clearWindowShell): Add a new boolean parameter. Don't
3375         garbageColectSoon if the page is going into the page cache.
3376         * bindings/js/ScriptController.h: Prototype change for above.
3377         * loader/FrameLoader.cpp:
3378         (WebCore::FrameLoader::clear): Indicate when the page is going into the page cache.
3379
3380 2010-05-18  Adam Barth  <abarth@webkit.org>
3381
3382         Reviewed by Eric Seidel.
3383
3384         Add an HTML5Token
3385         https://bugs.webkit.org/show_bug.cgi?id=39274
3386
3387         The token object is an ugly fake union, but I'm sure sure there's a
3388         better way...  Eric needs this to provide output for the test harness.
3389
3390         * WebCore.xcodeproj/project.pbxproj:
3391         * html/HTML5Lexer.cpp:
3392         (WebCore::HTML5Lexer::HTML5Lexer):
3393         (WebCore::HTML5Lexer::write):
3394         (WebCore::HTML5Lexer::emitCharacter):
3395         * html/HTML5Lexer.h:
3396         * html/HTML5Token.h: Added.
3397         (WebCore::HTML5Token::):
3398         (WebCore::HTML5Token::HTML5Token):
3399         (WebCore::HTML5Token::setToCharacter):
3400
3401 2010-05-18  Adam Barth  <abarth@webkit.org>
3402
3403         Reviewed by Eric Seidel.
3404
3405         Implement ScriptData states for HTML5Lexer
3406         https://bugs.webkit.org/show_bug.cgi?id=39273
3407
3408         This patch implements more of the lexer states according to the HTML5
3409         specification.  Currently, this code is compiled by not tested.  We're
3410         working on bringing up a test harness in parallel with transliterating
3411         the spec into code.
3412
3413         * html/HTML5Lexer.cpp:
3414         (WebCore::HTML5Lexer::tokenize):
3415         (WebCore::HTML5Lexer::temporaryBufferIs):
3416         * html/HTML5Lexer.h:
3417         (WebCore::HTML5Lexer::):
3418
3419 2010-05-17  Eric Seidel  <eric@webkit.org>
3420
3421         Reviewed by Adam Barth.
3422
3423         Rename HTML5Tokenzier to HTML5Lexer so that we can add a new HTML5Tokenizer which implements Tokenizer
3424         https://bugs.webkit.org/show_bug.cgi?id=39272
3425
3426         Strictly a rename, no functionality change.
3427
3428         * WebCore.xcodeproj/project.pbxproj:
3429         * html/HTML5Lexer.cpp: Added.
3430         * html/HTML5Lexer.h: Added.
3431         * html/HTML5Tokenizer.cpp: Removed.
3432         * html/HTML5Tokenizer.h: Removed.
3433
3434 2010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
3435
3436         Unreviewed, rolling out r59652.
3437         http://trac.webkit.org/changeset/59652
3438         https://bugs.webkit.org/show_bug.cgi?id=39268
3439
3440         file-input-files-access test is broken on Mac (Requested by
3441         dcheng on #webkit).
3442
3443         * platform/chromium/DragDataChromium.cpp:
3444         (WebCore::DragData::asURL):
3445
3446 2010-05-17  Adam Barth  <abarth@webkit.org>
3447
3448         Reviewed by Eric Seidel.
3449
3450         Implement RAWTEXT tokenizer states
3451         https://bugs.webkit.org/show_bug.cgi?id=39267
3452
3453         More tokenizer states.  There's a bunch of functionality notImplemented
3454         that we'll come back to.
3455
3456         * html/HTML5Tokenizer.cpp:
3457         (WebCore::HTML5Tokenizer::tokenize):
3458         * html/HTML5Tokenizer.h:
3459
3460 2010-05-17  Adam Barth  <abarth@webkit.org>
3461
3462         Reviewed by Eric Seidel.
3463
3464         Implement more parser states in HTML5Tokenizer
3465         https://bugs.webkit.org/show_bug.cgi?id=39265
3466
3467         This patch implements some easy states.  I'll come back and do the
3468         harder states later.
3469
3470         * html/HTML5Tokenizer.cpp:
3471         (WebCore::HTML5Tokenizer::tokenize):
3472         (WebCore::HTML5Tokenizer::emitParseError):
3473         * html/HTML5Tokenizer.h:
3474
3475 2010-05-17  Daniel Cheng  <dcheng@chromium.org>
3476
3477         Reviewed by Darin Adler.
3478
3479         DragData::asURL() shouldn't do file validity checks
3480         https://bugs.webkit.org/show_bug.cgi?id=38711
3481
3482         There's no point to trying to make sure the file is valid in
3483         DragData::asURL(). It's better to ask for forgiveness than to ask for
3484         permission, since asking for permission is prone to race conditions
3485         and results in unnecessary I/O.  Consumers of this function either:
3486         - need to verify the file exists themselves (e.g. the loader)
3487         - don't care about file validity (rich text drag-and-drop)
3488
3489         * platform/chromium/DragDataChromium.cpp:
3490         (WebCore::DragData::asURL):
3491
3492 2010-05-17  Adam Barth  <abarth@webkit.org>
3493
3494         Reviewed by Eric Seidel.
3495
3496         Update states in HTML5Tokenizer to match HTML5 spec
3497         https://bugs.webkit.org/show_bug.cgi?id=39264
3498
3499         I've also implemented the DataState.  More states to follow.
3500
3501         * html/HTML5Tokenizer.cpp:
3502         (WebCore::HTML5Tokenizer::reset):
3503         (WebCore::HTML5Tokenizer::tokenize):
3504         * html/HTML5Tokenizer.h:
3505         (WebCore::HTML5Tokenizer::):
3506
3507 2010-05-17  Kent Tamura  <tkent@chromium.org>
3508
3509         Reviewed by Darin Adler.
3510
3511         ':valid' CSS selector should not be applied to some form controls
3512         https://bugs.webkit.org/show_bug.cgi?id=39162
3513
3514         * html/HTMLElement.cpp:
3515         (WebCore::inlineTagList): Always includes progressTag. This change is
3516         needed in a case of no ENABLE_PROGRESS_TAG. Without this change and
3517         ENABLE_PROGRESS_TAG, <progress> tags disappear.
3518         * html/HTMLInputElement.cpp:
3519         (WebCore::HTMLInputElement::recalcWillValidate):
3520           Return false for SUBMIT and IMAGE.
3521         * html/HTMLProgressElement.h:
3522         (WebCore::HTMLProgressElement::recalcWillValidate):
3523           Return false. This change is needed in a case of ENABLE_PROGRESS_TAG.
3524
3525 2010-05-17  Adam Barth  <abarth@webkit.org>
3526
3527         Reviewed by Eric Seidel.
3528
3529         Remove load-related code from HTML5Tokenizer
3530         https://bugs.webkit.org/show_bug.cgi?id=39263
3531
3532         This code is related to reloading resources and not to tokenizing.  In
3533         the PreloadScanner, these concerns are coupled, but we want to decouple
3534         them.
3535
3536         * html/HTML5Tokenizer.cpp:
3537         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
3538         (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
3539         (WebCore::HTML5Tokenizer::begin):
3540         (WebCore::HTML5Tokenizer::end):
3541         (WebCore::HTML5Tokenizer::reset):
3542         (WebCore::HTML5Tokenizer::write):
3543         (WebCore::HTML5Tokenizer::consumeEntity):
3544         (WebCore::HTML5Tokenizer::tokenize):
3545         (WebCore::HTML5Tokenizer::processAttribute):
3546         (WebCore::HTML5Tokenizer::emitCharacter):
3547         (WebCore::HTML5Tokenizer::emitTag):
3548         * html/HTML5Tokenizer.h:
3549
3550 2010-05-17  Adam Barth  <abarth@webkit.org>
3551
3552         Reviewed by Eric Seidel.
3553
3554         Add HTML5Tokenizer to the build system on Mac
3555         https://bugs.webkit.org/show_bug.cgi?id=39262
3556
3557         This file will be easier to work with if we're actually compiling it.
3558         Hopefully we'll get this wired into the PreloadScanner soon.  Once we
3559         start actually calling the code, we'll add it to the build system on
3560         other platforms.
3561
3562         * WebCore.xcodeproj/project.pbxproj:
3563
3564 2010-05-17  Eric Seidel  <eric@webkit.org>
3565
3566         Reviewed by Adam Barth.
3567
3568         Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
3569         https://bugs.webkit.org/show_bug.cgi?id=39261
3570
3571         * html/HTML5Tokenizer.cpp: Rename PreloadScanner to HTML5Tokenizer.
3572         * html/HTML5Tokenizer.h: ditto.
3573
3574 2010-05-17  Eric Seidel  <eric@webkit.org>
3575
3576         Reviewed by Adam Barth.
3577
3578         Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
3579         https://bugs.webkit.org/show_bug.cgi?id=39261
3580
3581         This time copy the cpp from the right file.
3582
3583         * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.cpp.
3584
3585 2010-05-17  Eric Seidel  <eric@webkit.org>
3586
3587         Reviewed by Adam Barth.
3588
3589         Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
3590         https://bugs.webkit.org/show_bug.cgi?id=39261
3591
3592         * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.h.
3593         * html/HTML5Tokenizer.h: Copied from WebCore/html/PreloadScanner.h.
3594
3595 2010-05-17  MORITA Hajime  <morrita@google.com>
3596
3597         Reviewed by Kent Tamura.
3598
3599         [Chromium] Windows: Speed of indeterminate progress bar should be constant
3600         https://bugs.webkit.org/show_bug.cgi?id=39211
3601
3602         No new tests, animation effect can be confirmed only manually.
3603
3604         * rendering/RenderThemeChromiumWin.cpp:
3605         (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
3606         (WebCore::RenderThemeChromiumWin::paintProgressBar):
3607
3608 2010-05-17  Drew Wilson  <atwilson@chromium.org>
3609
3610         Unreviewed build fix for Qt and Chromium.
3611
3612         https://bugs.webkit.org/show_bug.cgi?id=39147
3613
3614         * page/Frame.h: Now includes CSSMutableStyleDeclaration.h.
3615
3616 2010-05-17  Simon Fraser  <simon.fraser@apple.com>
3617
3618         Reviewed by Darin Adler.
3619
3620         Remove unused member member from Document
3621         https://bugs.webkit.org/show_bug.cgi?id=39251
3622
3623         Remove m_associatedHistoryItems from Document; it is never used.
3624
3625         * dom/Document.h:
3626
3627 2010-05-17  Darin Adler  <darin@apple.com>
3628
3629         Fix Qt build.
3630
3631         * page/Frame.cpp:
3632         (WebCore::Frame::setTypingStyle): Move back to make non-inline.
3633         * page/Frame.h: Removed inline version of setTypingStyle.
3634
3635 2010-05-14  Darin Adler  <darin@apple.com>
3636
3637         Reviewed by Brady Eidson.
3638
3639         Frame has many trivial member functions that should be inlined
3640         https://bugs.webkit.org/show_bug.cgi?id=39147
3641
3642         * WebCore.base.exp: Export the functions that are now inlined.
3643
3644         * page/Frame.cpp:
3645         (WebCore::Frame::removeEditingStyleFromBodyElement):
3646         Removed the body of this function.
3647
3648         * page/Frame.h:
3649         (WebCore::Frame::init): Moved here from .cpp.
3650         (WebCore::Frame::loader): Ditto.
3651         (WebCore::Frame::redirectScheduler): Ditto.
3652         (WebCore::Frame::view): Ditto.
3653         (WebCore::Frame::script): Ditto.
3654         (WebCore::Frame::document): Ditto.
3655         (WebCore::Frame::selection): Ditto.
3656         (WebCore::Frame::editor): Ditto.
3657         (WebCore::Frame::animation): Ditto.
3658         (WebCore::Frame::mark): Ditto.
3659         (WebCore::Frame::setMark): Ditto.
3660         (WebCore::Frame::zoomFactor): Ditto.
3661         (WebCore::Frame::jsStatusBarText): Ditto.
3662         (WebCore::Frame::jsDefaultStatusBarText): Ditto.
3663         (WebCore::Frame::needsReapplyStyles): Ditto.
3664         (WebCore::Frame::typingStyle): Ditto.
3665         (WebCore::Frame::setTypingStyle): Ditto.
3666         (WebCore::Frame::clearTypingStyle): Ditto.
3667         (WebCore::Frame::ownerElement): Ditto.
3668         (WebCore::Frame::isDisconnected): Ditto.
3669         (WebCore::Frame::setIsDisconnected): Ditto.
3670         (WebCore::Frame::excludeFromTextSearch): Ditto.
3671         (WebCore::Frame::setExcludeFromTextSearch): Ditto.
3672         (WebCore::Frame::inViewSourceMode): Ditto.
3673         (WebCore::Frame::setInViewSourceMode): Ditto.
3674         (WebCore::Frame::markedTextMatchesAreHighlighted): Ditto.
3675         (WebCore::Frame::tree): Ditto.
3676         (WebCore::Frame::page): Ditto.
3677         (WebCore::Frame::detachFromPage): Ditto.
3678         (WebCore::Frame::eventHandler): Ditto.
3679         (WebCore::Frame::shouldClose): Ditto.
3680
3681 2010-05-17  Anders Carlsson  <andersca@apple.com>
3682
3683         Reviewed by Sam Weinig.
3684
3685         https://bugs.webkit.org/show_bug.cgi?id=39247
3686         <rdar://problem/7994707>
3687         Move rarely used data members to the rare structures, thus saving memory.
3688
3689         Move rarely used member variables from StyleInheritedData and StyleVisualData to
3690         StyleRareInheritedData and StyleRareNonInheritedData, namely:
3691
3692         indent, cursorData, m_effectiveZoom, widows and orphans move from StyleInheritedData to StyleRareInheritedData.
3693         m_counterIncrement and m_counterReset move from StyleVisualData to StyleRareNonInheritedData.
3694
3695         * rendering/style/RenderStyle.cpp:
3696         (WebCore::RenderStyle::diff):
3697         (WebCore::RenderStyle::addCursor):
3698         (WebCore::RenderStyle::setCursorList):
3699         (WebCore::RenderStyle::clearCursorList):
3700         * rendering/style/RenderStyle.h:
3701         (WebCore::InheritedFlags::textIndent):
3702         (WebCore::InheritedFlags::effectiveZoom):
3703         (WebCore::InheritedFlags::counterIncrement):
3704         (WebCore::InheritedFlags::counterReset):
3705         (WebCore::InheritedFlags::cursors):
3706         (WebCore::InheritedFlags::widows):
3707         (WebCore::InheritedFlags::orphans):
3708         (WebCore::InheritedFlags::setTextIndent):
3709         (WebCore::InheritedFlags::setEffectiveZoom):
3710         (WebCore::InheritedFlags::setCounterIncrement):
3711         (WebCore::InheritedFlags::setCounterReset):
3712         (WebCore::InheritedFlags::setWidows):
3713         (WebCore::InheritedFlags::setOrphans):
3714         * rendering/style/StyleInheritedData.cpp:
3715         (WebCore::StyleInheritedData::StyleInheritedData):
3716         (WebCore::StyleInheritedData::operator==):
3717         * rendering/style/StyleInheritedData.h:
3718         * rendering/style/StyleRareInheritedData.cpp:
3719         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3720         (WebCore::cursorDataEquivalent):
3721         (WebCore::StyleRareInheritedData::operator==):
3722         * rendering/style/StyleRareInheritedData.h:
3723         * rendering/style/StyleRareNonInheritedData.cpp:
3724         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3725         (WebCore::StyleRareNonInheritedData::operator==):
3726         * rendering/style/StyleRareNonInheritedData.h:
3727         * rendering/style/StyleVisualData.cpp:
3728         (WebCore::StyleVisualData::StyleVisualData):
3729         * rendering/style/StyleVisualData.h:
3730         (WebCore::StyleVisualData::operator==):
3731
3732 2010-05-17  Robert Hogan  <robert@webkit.org>
3733
3734         Rubber-stamped by Eric Seidel.
3735
3736         Fix --no-svg build.
3737
3738         I have no idea where the SVG-dependent include of this file is hidden, but
3739         it is probably better to include it explicitly anyway like V8WorkerContextCustom.cpp.
3740
3741         * bindings/js/JSWorkerContextCustom.cpp:
3742
3743 2010-05-17  David Hyatt  <hyatt@apple.com>
3744
3745         Reviewed by Dan Bernstein.
3746
3747         https://bugs.webkit.org/show_bug.cgi?id=39231
3748
3749         Fix failures in the RTL portion of fast/multicol/layers-in-multicol.html.  Make sure block children of RTL blocks are positioned using
3750         the reduced column width instead of the total content width.
3751
3752         * rendering/RenderBlock.cpp:
3753         (WebCore::RenderBlock::determineHorizontalPosition):
3754         (WebCore::RenderBlock::nodeAtPoint):
3755         (WebCore::RenderBlock::hitTestContents):
3756         (WebCore::RenderBlock::adjustForColumns):
3757
3758 2010-05-17  Jakob Petsovits  <jpetsovits@rim.com>
3759
3760         Reviewed by George Staikos.
3761
3762         [OpenVG] Add support for decoding and drawing images
3763         https://bugs.webkit.org/show_bug.cgi?id=36072
3764
3765         OpenVG has a maximum image size (how large is
3766         specific to the OpenVG implementation), so this
3767         requires us to store them as separate image tiles.
3768
3769         Image decoding and initial drawing code by
3770         Adam Treat <atreat@rim.com>. Image decoder
3771         downsampling support by Yong Li <yoli@rim.com>.
3772
3773         * platform/graphics/ImageSource.h:
3774         * platform/graphics/openvg/ImageOpenVG.cpp: Added.
3775         (WebCore::FrameData::clear):
3776         (WebCore::BitmapImage::BitmapImage):
3777         (WebCore::BitmapImage::checkForSolidColor):
3778         (WebCore::BitmapImage::initPlatformData):
3779         (WebCore::BitmapImage::invalidatePlatformData):
3780         (WebCore::adjustSourceRectForDownSampling):
3781         (WebCore::BitmapImage::draw):
3782         (WebCore::Image::drawPattern):
3783         (WebCore::Image::loadPlatformResource):
3784         * platform/graphics/openvg/PainterOpenVG.cpp:
3785         (WebCore::PainterOpenVG::drawImage):
3786         (WebCore::PainterOpenVG::asNewNativeImage):
3787         * platform/graphics/openvg/PainterOpenVG.h:
3788         * platform/graphics/openvg/TiledImageOpenVG.cpp: Added.
3789         (WebCore::TiledImageOpenVG::TiledImageOpenVG):
3790         (WebCore::TiledImageOpenVG::operator=):
3791         (WebCore::TiledImageOpenVG::~TiledImageOpenVG):
3792         (WebCore::TiledImageOpenVG::numTiles):
3793         (WebCore::TiledImageOpenVG::numColumns):
3794         (WebCore::TiledImageOpenVG::numRows):
3795         (WebCore::TiledImageOpenVG::setTile):
3796         (WebCore::TiledImageOpenVG::tilesInRect):
3797         (WebCore::TiledImageOpenVG::tile):
3798         (WebCore::TiledImageOpenVG::tileRect):
3799         (WebCore::TiledImageOpenVG::detachTiles):
3800         (WebCore::TiledImageOpenVG::destroyTiles):
3801         * platform/graphics/openvg/TiledImageOpenVG.h: Added.
3802         (WebCore::TiledImageOpenVG::size):
3803         (WebCore::TiledImageOpenVG::maxTileSize):
3804         * platform/graphics/openvg/VGUtils.cpp:
3805         (WebCore::VGUtils::bytesForImage):
3806         (WebCore::VGUtils::bytesForImageScanline):
3807         (WebCore::VGUtils::imageFormatBitsPerPixel):
3808         (WebCore::VGUtils::endianAwareImageFormat):
3809         * platform/graphics/openvg/VGUtils.h:
3810         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
3811         (WebCore::RGBA32Buffer::asNewNativeImage):
3812
3813 2010-05-17  Yaar Schnitman  <yaar@chromium.org>
3814
3815         Reviewed by Darin Adler.
3816
3817         Fix JSC's generation of 'Optional' arguments. When a single 'Optional' extended attribute precedes multiple method arguments, all of these arguments are optional as a group (either all or non must be specified). This fix, which makes JSC compliant with V8 and with the Web IDL specs, is pretty harmless, since Optional is currently not being used anywhere in JSC, but it blocks further work on overloads.
3818         https://bugs.webkit.org/show_bug.cgi?id=39227
3819
3820         * bindings/scripts/CodeGeneratorJS.pm:
3821         * bindings/scripts/test/JS/JSTestObj.cpp:
3822         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
3823
3824 2010-05-16  Sam Weinig  <sam@webkit.org>
3825
3826         Reviewed by Adam Barth.
3827
3828         https://bugs.webkit.org/show_bug.cgi?id=39192
3829         Remove unused PERFECT_HASH code CodeGeneratorJS.
3830
3831         * bindings/scripts/CodeGeneratorJS.pm:
3832
3833 2010-05-17  Jeremy Moskovich  <jeremy@chromium.org>
3834
3835         Reviewed by Jeremy Orlow.
3836
3837         Remove debug code that was introduced to help narrow down the
3838         source of a crash.
3839         https://bugs.webkit.org/show_bug.cgi?id=36426
3840
3841         No change in behavior, so no new tests.
3842
3843         * loader/FrameLoader.cpp:
3844         (WebCore::FrameLoader::finishedLoadingDocument):
3845
3846 2010-05-17  Andreas Kling  <andreas.kling@nokia.com>
3847
3848         Reviewed by Kenneth Rohde Christiansen.
3849
3850         Bring CanvasRenderingContext2D's createImageData() in line with HTML5 spec
3851         Added createImageData(ImageData) which returns a new ImageData with the same size as the one passed.
3852         Changed createImageData(width, height) to use the absolute values of width and height.
3853
3854         https://bugs.webkit.org/show_bug.cgi?id=39189
3855
3856         Spec link:
3857         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createimagedata
3858
3859         Test: fast/canvas/canvas-createImageData.html
3860
3861         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3862         (WebCore::JSCanvasRenderingContext2D::createImageData):
3863         * html/canvas/CanvasRenderingContext2D.cpp:
3864         (WebCore::CanvasRenderingContext2D::createImageData):
3865         * html/canvas/CanvasRenderingContext2D.h:
3866         * html/canvas/CanvasRenderingContext2D.idl:
3867
3868 2010-05-17  Antti Koivisto  <koivisto@iki.fi>
3869
3870         This was missing from previous commit.
3871
3872         * platform/qt/QWebPageClient.h:
3873         (QWebPageClient::graphicsItemVisibleRect):
3874
3875 2010-05-17  Antti Koivisto  <koivisto@iki.fi>
3876
3877         Reviewed by Kenneth Rohde Christiansen.
3878
3879         https://bugs.webkit.org/show_bug.cgi?id=39218
3880         [Qt] Tiled backing store tiles sometimes flicker when exiting a zoom animation
3881         
3882         Tiles sometimes flicker when exiting a zoom animation. This happens as a result
3883         of the visible rectangle being momentarily out of sync.
3884         
3885         Instead of updating the visible rect by explicitly setting it, pull it through
3886         the client and recompute in the WebKit level.
3887
3888         * page/ChromeClient.h:
3889         (WebCore::ChromeClient::visibleRectForTiledBackingStore):
3890         * page/Frame.cpp:
3891         (WebCore::Frame::tiledBackingStoreVisibleRect):
3892         * page/Frame.h:
3893         * platform/graphics/TiledBackingStore.cpp:
3894         (WebCore::TiledBackingStore::checkVisibleRectChanged):
3895         (WebCore::TiledBackingStore::createTiles):
3896         * platform/graphics/TiledBackingStore.h:
3897         * platform/graphics/TiledBackingStoreClient.h:
3898
3899 2010-05-15  Adam Roben  <aroben@apple.com>
3900
3901         Periodically try to reset a lost IDirect3DDevice9 until we succeed
3902
3903         This is how MSDN says we must respond to a lost device (see
3904         <http://msdn.microsoft.com/en-us/library/bb174714(v=VS.85).aspx>).
3905
3906         Only testable by a manual test, unfortunately.
3907
3908         Fixes <rdar://problem/7986906> <http://webkit.org/b/39139> Pages that
3909         use hardware acceleration don't repaint after waking computer from
3910         sleep
3911
3912         Reviewed by John Sullivan.
3913
3914         * manual-tests/no-repaint-after-wake-from-sleep.html: Added. This is
3915         the Poster Circle demo from webkit.org/blog, but with instructions for
3916         putting the computer to sleep and waking it up again.
3917
3918         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3919         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Initialize new
3920         member that tells us whether we need to try to reset the device before
3921         rendering.
3922         (WebCore::WKCACFLayerRenderer::resize): Changed to tell resetDevice
3923         the reason why the device needs to be reset (which is because the
3924         window's size has changed).
3925         (WebCore::WKCACFLayerRenderer::render): Before we do anything else,
3926         check if we need to reset the device before rendering. If we do, try
3927         to reset it. If that fails, bail out and set a timer to try again
3928         later. If we discover that the device is lost when calling
3929         IDirect3DDevice9::Present and resetting the device fails, bail out and
3930         set a timer to try again later.
3931         (WebCore::WKCACFLayerRenderer::resetDevice): Changed to return a
3932         boolean indicating whether resetting succeeded or not. Added a
3933         ResetReason parameter so callers can specify whey the device needs to
3934         be reset. Before trying to do anything, we call
3935         IDirect3DDevice9::TestCooperativeLevel to find out whether the device
3936         can be reset currently. If it can't, we set a flag to tell ourselves
3937         that the device must be reset before we next render, and indicate to
3938         the caller that the reset failed. If we thought the device was lost
3939         but it turns out not to be, we don't have to do anything and can tell
3940         the caller that the reset succeeded. Otherwise we go ahead and reset
3941         the device as before, and indicate to the caller that the reset
3942         succeeded.
3943
3944         * platform/graphics/win/WKCACFLayerRenderer.h: Changed resetDevice to
3945         return a boolean and take a ResetReason parameter. Added a comment
3946         about when and why this function should be called. And added
3947         m_mustResetLostDeviceBeforeRendering.
3948
3949 2010-05-15  Adam Roben  <aroben@apple.com>
3950
3951         Call CARenderOGLPurge whenever we call IDirect3DDevice9::Reset
3952
3953         MSDN says that all resoures allocated with D3DPOOL_DEFAULT must be
3954         destroyed before calling IDirect3DDevice9::Reset. The only way to
3955         guarantee this with Core Animation is to call CARenderOGLPurge.
3956
3957         Unfortunately this isn't testable at the moment, as we don't use any
3958         features of Core Animation (e.g., mask layers) that actually make this
3959         required. But it seems like a good idea to fix the code now so that
3960         if/when we do start using those features we won't run into problems.
3961
3962         Fixes <http://webkit.org/b/39159> WKCACFLayerRenderer::resetDevice
3963         might fail due to failing to destroy all D3DPOOL_DEFAULT resources
3964
3965         Reviewed by John Sullivan.
3966
3967         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3968         (WebCore::WKCACFLayerRenderer::render): Moved the call to
3969         CARenderOGLPurge from here...
3970         (WebCore::WKCACFLayerRenderer::resetDevice): ...to here, so that it
3971         will be called whenever we reset the device (e.g., when resizing the
3972         window).
3973
3974 2010-05-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3975
3976         Rubber-stamped by Xan Lopez.
3977
3978         Build fix. Remove bashism from build system.
3979
3980         * GNUmakefile.am:
3981
3982 2010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
3983
3984         Unreviewed, rolling out r59483.
3985         http://trac.webkit.org/changeset/59483
3986         https://bugs.webkit.org/show_bug.cgi?id=39215
3987
3988         "page_cycler_intl1 regression on Linux" (Requested by yurys on
3989         #webkit).
3990
3991         * platform/chromium/ChromiumBridge.h:
3992         * platform/graphics/chromium/FontCacheLinux.cpp:
3993         (WebCore::FontCache::getFontDataForCharacters):
3994
3995 2010-05-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3996
3997         Reviewed by Laszlo Gombos.
3998
3999         REGRESSION(59563): [Qt] JSValue QtClass::fallbackObject can be optimized
4000
4001         Patch declared a variable index, which shadowed an earlier declared
4002         variable.
4003
4004         * bridge/qt/qt_class.cpp:
4005         (JSC::Bindings::QtClass::fallbackObject):
4006
4007 2010-05-14  Andrei Popescu  <andreip@google.com>
4008
4009         Reviewed by Jeremy Orlow.
4010
4011         IDBRequest is not a proper ActiveDomObject
4012         https://bugs.webkit.org/show_bug.cgi?id=39001
4013
4014         Add IDBRequest interface to the IsActiveDomType
4015         routine of the CodeGeneratorV8.pm.
4016
4017         Rename IDBRequest::m_stopped to m_suspended and reset
4018         the flag when resume() is called.
4019
4020         No new tests, Indexed Database isn't yet testable.
4021
4022         * bindings/scripts/CodeGeneratorV8.pm:
4023         * storage/IDBRequest.cpp:
4024         (WebCore::IDBRequest::suspend):
4025         (WebCore::IDBRequest::resume):
4026         (WebCore::IDBRequest::timerFired):
4027         (WebCore::IDBRequest::onEventCommon):
4028         * storage/IDBRequest.h:
4029
4030 2010-05-17  Xan Lopez  <xlopez@igalia.com>
4031
4032         Do not include the indexed database headers if the feature is not
4033         enabled. Should fix the build in GTK+.
4034
4035         * bindings/js/JSEventCustom.cpp:
4036
4037 2010-05-17  Xan Lopez  <xlopez@igalia.com>
4038
4039         Try to fix GTK+ build.
4040
4041         * GNUmakefile.am:
4042
4043 2010-05-14  Jeremy Orlow  <jorlow@chromium.org>
4044
4045         Reviewed by Nate Chapin.
4046
4047         Finish up IndexedDB events
4048         https://bugs.webkit.org/show_bug.cgi?id=39117
4049
4050         Implement the indexed database event interfaces as proposed by Mozilla.
4051         Refactor the run time type detection code that was in IDBRequest into its own
4052         class named IDBAny.  Use this new class within the new event classes and
4053         IDBResults.
4054
4055         Test: storage/indexeddb/basics.html
4056
4057         * DerivedSources.cpp:
4058         * DerivedSources.make:
4059         * GNUmakefile.am:
4060         * WebCore.gyp/WebCore.gyp:
4061         * WebCore.gypi:
4062         * WebCore.pri:
4063         * WebCore.pro:
4064         * WebCore.vcproj/WebCore.vcproj:
4065         * WebCore.xcodeproj/project.pbxproj:
4066         * bindings/js/JSEventCustom.cpp:
4067         (WebCore::toJS):
4068         * bindings/js/JSEventTarget.cpp:
4069         (WebCore::toJS):
4070         * bindings/js/JSIDBAnyCustom.cpp: Added.
4071         (WebCore::toJS):
4072         * bindings/js/JSIDBRequestCustom.cpp: Removed.
4073         * bindings/v8/custom/V8EventCustom.cpp:
4074         (WebCore::toV8):
4075         * bindings/v8/custom/V8IDBAnyCustom.cpp: Added.
4076         (WebCore::toV8):
4077         * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
4078         * dom/Event.cpp:
4079         (WebCore::Event::isIDBErrorEvent):
4080         (WebCore::Event::isIDBSuccessEvent):
4081         * dom/Event.h:
4082         * storage/IDBAny.cpp: Added.
4083         (WebCore::IDBAny::create):
4084         (WebCore::IDBAny::IDBAny):
4085         (WebCore::IDBAny::~IDBAny):
4086         (WebCore::IDBAny::idbDatabaseRequest):
4087         (WebCore::IDBAny::indexedDatabaseRequest):
4088         (WebCore::IDBAny::serializedScriptValue):
4089         (WebCore::IDBAny::set):
4090         * storage/IDBAny.h: Added.
4091         (WebCore::IDBAny::):
4092         (WebCore::IDBAny::type):
4093         * storage/IDBAny.idl: Added.
4094         * storage/IDBErrorEvent.cpp: Added.
4095         (WebCore::IDBErrorEvent::create):
4096         (WebCore::IDBErrorEvent::IDBErrorEvent):
4097         (WebCore::IDBErrorEvent::~IDBErrorEvent):
4098         * storage/IDBErrorEvent.h: Added.
4099         (WebCore::IDBErrorEvent::code):
4100         (WebCore::IDBErrorEvent::message):
4101         (WebCore::IDBErrorEvent::isIDBErrorEvent):
4102         * storage/IDBErrorEvent.idl: Added.
4103         * storage/IDBEvent.cpp: Added.
4104         (WebCore::IDBEvent::IDBEvent):
4105         (WebCore::IDBEvent::~IDBEvent):
4106         (WebCore::IDBEvent::source):
4107         * storage/IDBEvent.h: Added.
4108         * storage/IDBEvent.idl: Added.
4109         * storage/IDBRequest.cpp:
4110         (WebCore::IDBRequest::IDBRequest):
4111         (WebCore::IDBRequest::onSuccess):
4112         (WebCore::IDBRequest::timerFired):
4113         (WebCore::IDBRequest::onEventCommon):
4114         * storage/IDBRequest.h:
4115         (WebCore::IDBRequest::create):
4116         (WebCore::IDBRequest::result):
4117         * storage/IDBRequest.idl:
4118         * storage/IDBSuccessEvent.cpp: Added.
4119         (WebCore::IDBSuccessEvent::create):
4120         (WebCore::IDBSuccessEvent::IDBSuccessEvent):
4121         (WebCore::IDBSuccessEvent::~IDBSuccessEvent):
4122         (WebCore::IDBSuccessEvent::result):
4123         * storage/IDBSuccessEvent.h: Added.
4124         (WebCore::IDBSuccessEvent::isIDBSuccessEvent):
4125         * storage/IDBSuccessEvent.idl: Added.
4126         * storage/IndexedDatabaseImpl.cpp:
4127         (WebCore::IndexedDatabaseImpl::open):
4128         * storage/IndexedDatabaseRequest.cpp:
4129         (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
4130         (WebCore::IndexedDatabaseRequest::open):
4131         * storage/IndexedDatabaseRequest.h:
4132
4133 2010-05-16  Chris Jerdonek  <cjerdonek@webkit.org>
4134
4135         Unreviewed.
4136
4137         Removed the stray equals sign from the reviewer's name in the
4138         "Reviewed by" line of the ChangeLog entry for r59596:
4139
4140         http://trac.webkit.org/changeset/59596
4141
4142 2010-05-16  Chris Jerdonek  <cjerdonek@webkit.org>
4143
4144         Reviewed by Adam Barth.
4145
4146         Refactored FrameLoader::changeLocation() and urlSelected() to share more code.
4147
4148         https://bugs.webkit.org/show_bug.cgi?id=38827
4149
4150         No change in behavior, so no new tests.
4151
4152         * bindings/ScriptControllerBase.cpp:
4153         (WebCore::ScriptController::executeIfJavaScriptURL):
4154           - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
4155         * bindings/js/ScriptController.h:
4156           - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
4157         * bindings/v8/ScriptController.h:
4158           - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
4159         * loader/FrameLoader.cpp:
4160         (WebCore::FrameLoader::changeLocation):
4161           - Changed to call the new private overload of urlSelected().
4162         (WebCore::FrameLoader::urlSelected):
4163           - Added a private overload of urlSelected().
4164           - Changed the public urlSelected() to call the private overload.
4165         (WebCore::FrameLoader::submitForm):
4166         * loader/FrameLoader.h:
4167           - Added a private overload of urlSelected().
4168         * loader/FrameLoaderTypes.h:
4169           - Added a ShouldReplaceDocumentIfJavaScriptURL enum.
4170
4171 2010-05-16  Daniel Bates  <dbates@rim.com>
4172
4173         Reviewed by David Hyatt.
4174
4175         https://bugs.webkit.org/show_bug.cgi?id=39196
4176
4177         Rollout changeset 59274 <http://trac.webkit.org/changeset/59274>.
4178
4179         Prepared on behalf of David Hyatt.
4180
4181         "Not worth the memory use." Just roll this out.
4182
4183         * WebCore.vcproj/WebCore.vcproj:
4184         * WebCore.xcodeproj/project.pbxproj:
4185         * editing/visible_units.cpp:
4186         (WebCore::previousLinePosition):
4187         (WebCore::nextLinePosition):
4188         * rendering/EllipsisBox.cpp:
4189         (WebCore::EllipsisBox::paint):
4190         (WebCore::EllipsisBox::selectionRect):
4191         (WebCore::EllipsisBox::paintSelection):
4192         (WebCore::EllipsisBox::nodeAtPoint):
4193         * rendering/EllipsisBox.h:
4194         (WebCore::EllipsisBox::EllipsisBox):
4195         (WebCore::EllipsisBox::height):
4196         * rendering/InlineBox.cpp:
4197         (WebCore::InlineBox::height):
4198         (WebCore::InlineBox::adjustPosition):
4199         (WebCore::InlineBox::canAccommodateEllipsis):
4200         * rendering/InlineBox.h:
4201         (WebCore::InlineBox::InlineBox):
4202         (WebCore::InlineBox::isInlineBox):
4203         (WebCore::InlineBox::hasVirtualHeight):
4204         (WebCore::InlineBox::setHasVirtualHeight):
4205         (WebCore::InlineBox::virtualHeight):
4206         (WebCore::InlineBox::setWidth):
4207         (WebCore::InlineBox::width):
4208         (WebCore::InlineBox::setX):
4209         (WebCore::InlineBox::x):
4210         (WebCore::InlineBox::setY):
4211         (WebCore::InlineBox::y):
4212         (WebCore::InlineBox::baselinePosition):
4213         (WebCore::InlineBox::lineHeight):
4214         * rendering/InlineFlowBox.cpp:
4215         (WebCore::InlineFlowBox::placeBoxesVertically):
4216         (WebCore::InlineFlowBox::computeVerticalOverflow):
4217         (WebCore::InlineFlowBox::nodeAtPoint):
4218         (WebCore::InlineFlowBox::paintBoxDecorations):
4219         (WebCore::InlineFlowBox::paintMask):
4220         (WebCore::InlineFlowBox::paintTextDecorations):
4221         * rendering/InlineFlowBox.h:
4222         (WebCore::InlineFlowBox::visibleOverflowRect):
4223         (WebCore::InlineFlowBox::topLayoutOverflow):
4224         (WebCore::InlineFlowBox::bottomLayoutOverflow):
4225         (WebCore::InlineFlowBox::leftLayoutOverflow):
4226         (WebCore::InlineFlowBox::rightLayoutOverflow):
4227         (WebCore::InlineFlowBox::layoutOverflowRect):
4228         (WebCore::InlineFlowBox::topVisualOverflow):
4229         (WebCore::InlineFlowBox::bottomVisualOverflow):
4230         (WebCore::InlineFlowBox::leftVisualOverflow):
4231         (WebCore::InlineFlowBox::rightVisualOverflow):
4232         (WebCore::InlineFlowBox::visualOverflowRect):
4233         (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
4234         (WebCore::InlineFlowBox::setVerticalOverflowPositions):
4235         * rendering/InlineTextBox.cpp:
4236         (WebCore::InlineTextBox::selectionRect):
4237         (WebCore::InlineTextBox::placeEllipsisBox):
4238         (WebCore::InlineTextBox::nodeAtPoint):
4239         (WebCore::InlineTextBox::paint):
4240         (WebCore::InlineTextBox::paintSelection):
4241         (WebCore::InlineTextBox::paintCompositionBackground):
4242         (WebCore::InlineTextBox::paintDecoration):
4243         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
4244         (WebCore::InlineTextBox::paintTextMatchMarker):
4245         (WebCore::InlineTextBox::computeRectForReplacementMarker):
4246         (WebCore::InlineTextBox::paintCompositionUnderline):
4247         (WebCore::InlineTextBox::offsetForPosition):
4248         (WebCore::InlineTextBox::positionForOffset):
4249