2009-07-21 Jian Li <jianli@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-07-21  Jian Li  <jianli@chromium.org>
2
3         Fix the incorrect patch being landed for bug 27516 that has already been reviewed.
4         https://bugs.webkit.org/show_bug.cgi?id=27516
5
6         * workers/WorkerContext.h:
7         (WebCore::WorkerContext::setOnerror):
8         (WebCore::WorkerContext::onerror):
9         * workers/WorkerContext.idl:
10
11 2009-07-21  Jian Li  <jianli@chromium.org>
12
13         Reviewed by David Levin.
14
15         Add onerror to WorkerContext.
16         https://bugs.webkit.org/show_bug.cgi?id=27516
17
18         * bindings/js/JSWorkerContextCustom.cpp:
19         (WebCore::JSWorkerContext::mark):
20         * workers/WorkerContext.h:
21         (WebCore::WorkerContext::setOnerror):
22         (WebCore::WorkerContext::onerror):
23         * workers/WorkerContext.idl:
24
25 2009-07-21  Yong Li  <yong.li@torchmobile.com>
26
27         Reviewed by George Staikos.
28
29         https://bugs.webkit.org/show_bug.cgi?id=27509
30         Add font-related files for the WinCE port.
31
32         Written by Yong Li <yong.li@torchmobile.com>
33
34         * platform/graphics/wince/FontCacheWince.cpp: Added.
35         * platform/graphics/wince/FontCustomPlatformData.cpp: Added.
36         * platform/graphics/wince/FontCustomPlatformData.h: Added.
37         * platform/graphics/wince/FontPlatformData.cpp: Added.
38         * platform/graphics/wince/FontPlatformData.h: Added.
39         * platform/graphics/wince/FontWince.cpp: Added.
40         * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
41         * platform/graphics/wince/SimpleFontDataWince.cpp: Added.
42
43 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
44
45         Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.
46
47         * WebCorePrefix.h:
48
49 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
50
51         WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.
52
53         * WebCorePrefix.h:
54
55 2009-07-21  Eric Seidel  <eric@webkit.org>
56
57         Reviewed by Adam Barth.
58
59         All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
60         https://bugs.webkit.org/show_bug.cgi?id=27478
61
62         This is just moving code.
63         I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.
64
65         DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
66         (It's a baseclass because eventually all DOMObjects will have a global pointer, but
67         I'll be moving them onto DOMObjectWithGlobalPointer in stages.)
68
69         DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
70         which require a backpointer to the Document to function.  I made this a subclass of
71         DOMConstructorObject to make clear that most constructors can hold no-such assumptions
72         about having a back-pointer to the Document (since many constructors can be used from Workers).
73
74         * bindings/js/JSAudioConstructor.cpp:
75         (WebCore::JSAudioConstructor::JSAudioConstructor):
76         * bindings/js/JSAudioConstructor.h:
77         * bindings/js/JSDOMBinding.h:
78         (WebCore::DOMObjectWithGlobalPointer::globalObject):
79         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
80         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
81         (WebCore::DOMObjectWithGlobalPointer::mark):
82         (WebCore::DOMConstructorObject::DOMConstructorObject):
83         (WebCore::DOMConstructorWithDocument::document):
84         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
85         * bindings/js/JSImageConstructor.cpp:
86         (WebCore::JSImageConstructor::JSImageConstructor):
87         * bindings/js/JSImageConstructor.h:
88         * bindings/js/JSMessageChannelConstructor.cpp:
89         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
90         * bindings/js/JSMessageChannelConstructor.h:
91         * bindings/js/JSOptionConstructor.cpp:
92         (WebCore::JSOptionConstructor::JSOptionConstructor):
93         * bindings/js/JSOptionConstructor.h:
94         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
95         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
96         * bindings/js/JSWebKitPointConstructor.cpp:
97         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
98         * bindings/js/JSWorkerConstructor.cpp:
99         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
100         * bindings/js/JSXMLHttpRequestConstructor.cpp:
101         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
102         * bindings/js/JSXMLHttpRequestConstructor.h:
103         * bindings/js/JSXSLTProcessorConstructor.cpp:
104         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
105
106 2009-07-21  James Hawkins  <jhawkins@google.com>
107
108         Reviewed by David Hyatt.
109
110         https://bugs.webkit.org/show_bug.cgi?id=27453
111         Initialize isInt when creating a CSSParserValue for a function.
112
113         No change in behavior, so no tests.
114
115         * css/CSSFunctionValue.cpp:
116         (WebCore::CSSFunctionValue::parserValue):
117
118 2009-07-20  Jens Alfke  <snej@google.com>
119  
120          Reviewed by David Levin.
121  
122          Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
123          Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
124          an arrow key is pressed.
125          https://bugs.webkit.org/show_bug.cgi?id=27448
126  
127          No new tests; affects only control response to user input.
128  
129          * dom/SelectElement.cpp:
130          Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
131          so it will behave compatibly with Mac HI guidelines on pop-up menus.
132          It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
133  
134 2009-07-21  Paul Godavari  <paul@chromium.org>
135
136         Reviewed by Eric Seidel.
137
138         [Chromium] popup menus can crash when the selected index is -1
139         https://bugs.webkit.org/show_bug.cgi?id=27275
140
141         Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
142         is passed an index of less than 0 (which is possible under certain circumstances). This
143         change prevents such a value from causing a crash by enforcing valid index values passed
144         by all callers of isSelectableItem. isSelectableItem is now a private method of
145         PopupListBox, as there are no external callers.
146
147         Also cleaned up a small amount of code for style and grammar errors.
148
149         No automatic test is provided since we cannot send events to the child window used by
150         the popup menu.
151
152         * platform/chromium/PopupMenuChromium.cpp:
153         (WebCore::PopupListBox::acceptIndex):
154         (WebCore::PopupListBox::selectIndex):
155         (WebCore::PopupListBox::isSelectableItem):
156         (WebCore::PopupListBox::selectPreviousRow):
157
158 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
159
160         wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.
161
162         * platform/network/curl/ResourceHandleManager.h:
163
164 2009-07-21  Adam Roben  <aroben@apple.com>
165
166         Roll out r46153, r46154, and r46155
167
168         These changes were causing build failures and assertion failures on
169         Windows.
170
171         * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
172         * platform/graphics/cg/ImageBufferCG.cpp:
173
174 2009-07-21  Jian Li  <jianli@chromium.org>
175
176         Reviewed by Eric Seidel.
177
178         Implement ErrorEvent API.
179         https://bugs.webkit.org/show_bug.cgi?id=27387
180
181         * DerivedSources.cpp:
182         * DerivedSources.make:
183         * GNUmakefile.am:
184         * WebCore.gypi:
185         * WebCore.pro:
186         * WebCore.vcproj/WebCore.vcproj:
187         * WebCore.xcodeproj/project.pbxproj:
188         * WebCoreSources.bkl:
189         * bindings/js/JSEventCustom.cpp:
190         (WebCore::toJS):
191         * dom/ErrorEvent.cpp: Added.
192         * dom/ErrorEvent.h: Added.
193         * dom/ErrorEvent.idl: Added.
194         * dom/Event.cpp:
195         (WebCore::Event::isErrorEvent):
196         * dom/Event.h:
197
198 2009-07-21  Priit Laes  <plaes@plaes.org>
199
200         Reviewed by Gustavo Noronha.
201
202         [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
203         https://bugs.webkit.org/show_bug.cgi?id=24602
204
205         Remove workaround required for <=libsoup-2.26.1
206
207         * platform/network/soup/ResourceHandleSoup.cpp:
208         (WebCore::restartedCallback):
209
210 2009-07-21  Adam Barth  <abarth@webkit.org>
211
212         Reviewed by David Levin.
213
214         V8IsolatedWorld keeps a handle to a disposed context
215         https://bugs.webkit.org/show_bug.cgi?id=27397
216
217         Make a copy of the context handle before making it weak.  We don't want
218         to make the original handle weak because we want it to survive for the
219         length of the V8IsolatedWorld::evaluate method.
220
221         * bindings/v8/V8IsolatedWorld.cpp:
222         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
223
224 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
225
226         Reviewed by Timothy Hatcher.
227
228         Web Inspector: Add ability to evaluate selection while on break point.
229
230         https://bugs.webkit.org/show_bug.cgi?id=27502
231
232         * inspector/front-end/SourceFrame.js:
233         (WebInspector.SourceFrame.prototype._loaded):
234         (WebInspector.SourceFrame.prototype._documentKeyDown):
235
236 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
237
238         Reviewed by Timothy Hatcher.
239
240         WebInspector: Special case ConsolePanel opening since
241         it is a 'fast view'.
242
243         https://bugs.webkit.org/show_bug.cgi?id=27493
244
245         * inspector/InspectorController.cpp:
246         (WebCore::InspectorController::setWindowVisible):
247
248 2009-07-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
249
250         Reviewed by Eric Seidel.
251
252         Fix Qt code to follow the WebKit Coding Style.
253
254         * platform/graphics/qt/FontQt.cpp:
255         (WebCore::qstring):
256         (WebCore::fixSpacing):
257         * platform/graphics/qt/FontQt43.cpp:
258         (WebCore::generateComponents):
259         (WebCore::Font::offsetForPositionForComplexText):
260         (WebCore::cursorToX):
261         * platform/graphics/qt/GradientQt.cpp:
262         (WebCore::Gradient::platformGradient):
263         * platform/graphics/qt/GraphicsContextQt.cpp:
264         (WebCore::toQtFillRule):
265         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
266         (WebCore::GraphicsContext::~GraphicsContext):
267         (WebCore::GraphicsContext::getCTM):
268         (WebCore::GraphicsContext::concatCTM):
269         (WebCore::GraphicsContext::getWindowsContext):
270         * platform/graphics/qt/IconQt.cpp:
271         (WebCore::Icon::paint):
272         * platform/graphics/qt/ImageDecoderQt.cpp:
273         (WebCore::ImageDecoderQt::ReadContext::read):
274         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
275         (WebCore::ImageDecoderQt::setData):
276         * platform/graphics/qt/ImageQt.cpp:
277         (WebCore::Image::drawPattern):
278         (WebCore::BitmapImage::draw):
279         * platform/graphics/qt/ImageSourceQt.cpp:
280         (WebCore::ImageSource::frameDurationAtIndex):
281         (WebCore::ImageSource::frameHasAlphaAtIndex):
282         (WebCore::ImageSource::frameIsCompleteAtIndex):
283         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
284         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
285         (WebCore::MediaPlayerPrivate::create):
286         (WebCore::MediaPlayerPrivate::bytesLoaded):
287         (WebCore::MediaPlayerPrivate::updateStates):
288         * platform/graphics/qt/PathQt.cpp:
289         (WebCore::Path::addArcTo):
290         (WebCore::Path::isEmpty):
291         * platform/graphics/qt/TransformationMatrixQt.cpp:
292         (WebCore::TransformationMatrix::operator QTransform):
293         * platform/qt/ClipboardQt.cpp:
294         (WebCore::ClipboardQt::ClipboardQt):
295         (WebCore::ClipboardQt::clearData):
296         (WebCore::ClipboardQt::clearAllData):
297         (WebCore::ClipboardQt::getData):
298         (WebCore::ClipboardQt::setData):
299         (WebCore::ClipboardQt::setDragImage):
300         (WebCore::getCachedImage):
301         (WebCore::ClipboardQt::declareAndWriteDragImage):
302         (WebCore::ClipboardQt::writeURL):
303         (WebCore::ClipboardQt::writeRange):
304         (WebCore::ClipboardQt::hasData):
305         * platform/qt/ClipboardQt.h:
306         * platform/qt/ContextMenuItemQt.cpp:
307         (WebCore::ContextMenuItem::action):
308         (WebCore::ContextMenuItem::title):
309         * platform/qt/CursorQt.cpp:
310         (WebCore::westPanningCursor):
311         (WebCore::notAllowedCursor):
312         * platform/qt/DragDataQt.cpp:
313         (WebCore::DragData::containsFiles):
314         (WebCore::DragData::asFilenames):
315         (WebCore::DragData::asPlainText):
316         (WebCore::DragData::asFragment):
317         * platform/qt/DragImageQt.cpp:
318         (WebCore::createDragImageIconForCachedImage):
319         * platform/qt/FileSystemQt.cpp:
320         (WebCore::getFileSize):
321         (WebCore::unloadModule):
322         * platform/qt/Localizations.cpp:
323         (WebCore::contextMenuItemTagShowSpellingPanel):
324         * platform/qt/MIMETypeRegistryQt.cpp:
325         (WebCore::):
326         * platform/qt/PasteboardQt.cpp:
327         (WebCore::Pasteboard::Pasteboard):
328         (WebCore::Pasteboard::writeSelection):
329         (WebCore::Pasteboard::plainText):
330         * platform/qt/PlatformKeyboardEventQt.cpp:
331         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
332         * platform/qt/PlatformMouseEventQt.cpp:
333         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
334         * platform/qt/PopupMenuQt.cpp:
335         (WebCore::PopupMenu::populate):
336         * platform/qt/RenderThemeQt.cpp:
337         (WebCore::RenderThemeQt::fallbackStyle):
338         (WebCore::inflateButtonRect):
339         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
340         (WebCore::RenderThemeQt::paintButton):
341         (WebCore::RenderThemeQt::paintMenuList):
342         (WebCore::RenderThemeQt::applyTheme):
343         (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
344         (WebCore::RenderThemeQt::paintMediaBackground):
345         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
346         * platform/qt/RenderThemeQt.h:
347         * platform/qt/ScreenQt.cpp:
348         (WebCore::screenRect):
349         (WebCore::usableScreenRect):
350         * platform/qt/ScrollbarQt.cpp:
351         (WebCore::Scrollbar::contextMenu):
352         * platform/qt/ScrollbarThemeQt.cpp:
353         (WebCore::scPart):
354         (WebCore::scrollbarPart):
355         * platform/qt/ScrollbarThemeQt.h:
356         * platform/qt/SharedBufferQt.cpp:
357         (WebCore::SharedBuffer::createWithContentsOfFile):
358         * platform/qt/TemporaryLinkStubs.cpp:
359         (PluginDatabase::defaultPluginDirectories):
360         (PluginDatabase::getPluginPathsInDirectories):
361         (PluginDatabase::isPreferredPluginDirectory):
362         (WebCore::getSupportedKeySizes):
363         (WebCore::signedPublicKeyAndChallengeString):
364         (WebCore::userIdleTime):
365         (WebCore::prefetchDNS):
366         * platform/text/qt/StringQt.cpp:
367         (WebCore::String::String):
368         * platform/text/qt/TextBoundaries.cpp:
369         * platform/text/qt/TextBreakIteratorQt.cpp:
370         (WebCore::TextBreakIterator::following):
371         (WebCore::TextBreakIterator::preceding):
372         (WebCore::WordBreakIteratorQt::first):
373         (WebCore::WordBreakIteratorQt::next):
374         (WebCore::WordBreakIteratorQt::previous):
375         (WebCore::CharBreakIteratorQt::first):
376         (WebCore::CharBreakIteratorQt::next):
377         (WebCore::CharBreakIteratorQt::previous):
378         (WebCore::characterBreakIterator):
379         * plugins/qt/PluginPackageQt.cpp:
380         (WebCore::PluginPackage::fetchInfo):
381         * plugins/qt/PluginViewQt.cpp:
382         (WebCore::PluginView::userAgentStatic):
383         (WebCore::PluginView::handlePostReadFile):
384         (WebCore::PluginView::init):
385
386 2009-07-21  Maxime Simon  <simon.maxime@gmail.com>
387
388         Reviewed by David Levin.
389
390         Added a first bunch of Haiku-specific files for WebCore.
391         https://bugs.webkit.org/show_bug.cgi?id=26988
392
393         * platform/haiku/ClipboardHaiku.cpp: Added.
394         (WebCore::ClipboardHaiku::ClipboardHaiku):
395         (WebCore::ClipboardHaiku::clearData):
396         (WebCore::ClipboardHaiku::clearAllData):
397         (WebCore::ClipboardHaiku::getData):
398         (WebCore::ClipboardHaiku::setData):
399         (WebCore::ClipboardHaiku::types):
400         (WebCore::ClipboardHaiku::files):
401         (WebCore::ClipboardHaiku::dragLocation):
402         (WebCore::ClipboardHaiku::dragImage):
403         (WebCore::ClipboardHaiku::setDragImage):
404         (WebCore::ClipboardHaiku::dragImageElement):
405         (WebCore::ClipboardHaiku::setDragImageElement):
406         (WebCore::ClipboardHaiku::createDragImage):
407         (WebCore::ClipboardHaiku::declareAndWriteDragImage):
408         (WebCore::ClipboardHaiku::writeURL):
409         (WebCore::ClipboardHaiku::writeRange):
410         (WebCore::ClipboardHaiku::hasData):
411         * platform/haiku/ClipboardHaiku.h: Added.
412         (WebCore::ClipboardHaiku::create):
413         (WebCore::ClipboardHaiku::~ClipboardHaiku):
414         * platform/haiku/CookieJarHaiku.cpp: Added.
415         (WebCore::setCookies):
416         (WebCore::cookies):
417         (WebCore::cookiesEnabled):
418         * platform/haiku/CursorHaiku.cpp: Added.
419         (WebCore::Cursor::Cursor):
420         (WebCore::Cursor::~Cursor):
421         (WebCore::Cursor::operator=):
422         (WebCore::pointerCursor):
423         (WebCore::moveCursor):
424         (WebCore::crossCursor):
425         (WebCore::handCursor):
426         (WebCore::iBeamCursor):
427         (WebCore::waitCursor):
428         (WebCore::helpCursor):
429         (WebCore::eastResizeCursor):
430         (WebCore::northResizeCursor):
431         (WebCore::northEastResizeCursor):
432         (WebCore::northWestResizeCursor):
433         (WebCore::southResizeCursor):
434         (WebCore::southEastResizeCursor):
435         (WebCore::southWestResizeCursor):
436         (WebCore::westResizeCursor):
437         (WebCore::northSouthResizeCursor):
438         (WebCore::eastWestResizeCursor):
439         (WebCore::northEastSouthWestResizeCursor):
440         (WebCore::northWestSouthEastResizeCursor):
441         (WebCore::columnResizeCursor):
442         (WebCore::rowResizeCursor):
443         (WebCore::verticalTextCursor):
444         (WebCore::cellCursor):
445         (WebCore::contextMenuCursor):
446         (WebCore::noDropCursor):
447         (WebCore::copyCursor):
448         (WebCore::progressCursor):
449         (WebCore::aliasCursor):
450         (WebCore::noneCursor):
451         (WebCore::notAllowedCursor):
452         (WebCore::zoomInCursor):
453         (WebCore::zoomOutCursor):
454         (WebCore::grabCursor):
455         (WebCore::grabbingCursor):
456
457 2009-07-21  Albert Astals Cid <aacid@kde.org>
458
459         Reviewed by Tor Arne Vestbø.
460
461         Change #error line not to have a ' (single quote)
462
463         * DerivedSources.cpp:
464
465 2009-07-21  Roland Steiner  <rolandsteiner@google.com>
466
467         Reviewed by David Levin.
468
469         Add ENABLE_RUBY to list of build options
470         https://bugs.webkit.org/show_bug.cgi?id=27324
471
472         Added flag ENABLE_RUBY:
473
474         * Configurations/FeatureDefines.xcconfig:
475         * DerivedSources.make:
476         * GNUmakefile.am:
477         * WebCore.pro:
478         * WebCore.vcproj/WebCoreCommon.vsprops:
479         * WebCore.vcproj/build-generated-files.sh:
480
481 2009-07-21  James Hawkins  <jhawkins@google.com>
482
483         Reviewed by Eric Seidel.
484
485         https://bugs.webkit.org/show_bug.cgi?id=27467
486         Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
487         if matrix.invert() fails.  This prevents the use of an uninitialized
488         value in inverseMatrix.
489
490         No new tests added.  Run
491         LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
492         under valgrind and notice there are no errors.
493
494         * platform/graphics/skia/PlatformContextSkia.cpp:
495         (PlatformContextSkia::currentPathInLocalCoordinates):
496
497 2009-07-21  Stephen White  <senorblanco@chromium.org>
498
499         Reviewed by Eric Seidel.
500
501         https://bugs.webkit.org/show_bug.cgi?id=27388
502
503         Fix dotted and dashed borders on Chromium/skia.  This follows
504         the logic in the Cg path, so results are much closer to Safari now 
505         (some tests won't be exactly the same due to font layout differences).
506
507         * platform/graphics/skia/GraphicsContextSkia.cpp:
508         (WebCore::GraphicsContext::drawLine):
509         * platform/graphics/skia/PlatformContextSkia.cpp:
510         (PlatformContextSkia::setupPaintForStroking):
511
512 2009-07-20  Oliver Hunt  <oliver@apple.com>
513
514         Reviewed by Gavin Barraclough.
515
516         Make it harder to misuse try* allocation routines
517         https://bugs.webkit.org/show_bug.cgi?id=27469
518
519         Add forwarding header for PossiblyNull type, and add missing null check
520         to ImageBuffer creation.
521
522         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
523         * platform/graphics/cg/ImageBufferCG.cpp:
524         (WebCore::ImageBuffer::ImageBuffer):
525
526 2009-07-20  Adam Langley  <agl@google.com>
527
528         Reviewed by Eric Seidel.
529
530         Guard access to installedMediaEngines()[0].
531
532         https://bugs.webkit.org/show_bug.cgi?id=27479
533         http://code.google.com/p/chromium/issues/detail?id=16541
534
535         Else where in the file, installedMediaEngines is always checked for
536         being empty because access. This patch adds a case which missed that
537         check.
538
539         This triggered a crash in Chromium:
540             http://www.yakeze.com/chat/example-chromium-crash/
541
542         * platform/graphics/MediaPlayer.cpp:
543         (WebCore::MediaPlayer::load):
544
545 2009-07-20  Adam Langley  <agl@google.com>
546
547         Reviewed by Eric Seidel.
548
549         Allow search entries to render with a CSS border if the RenderTheme
550         doesn't paint them.
551
552         https://bugs.webkit.org/show_bug.cgi?id=27466
553         http://code.google.com/p/chromium/issues/detail?id=16958
554
555         <input type="search"> is very much like a text entry except that,
556         currently, if the RenderTheme doesn't deal with it, nothing is
557         rendered. With this patch, the default CSS border is rendered if the
558         RenderTheme requests it.
559
560         This will affect many layout tests, but only for Chromium Linux and
561         those results are not currently in the WebKit tree.
562
563         * rendering/RenderTheme.cpp:
564         (WebCore::RenderTheme::paintBorderOnly):
565
566 2009-07-17  Anton Muhin  <antonm@chromium.org>
567
568         Reviewed by Adam Barth.
569
570         Switch to faster methods to access internal fields.
571         https://bugs.webkit.org/show_bug.cgi?id=27372
572
573         Minor refactoring.
574
575         * bindings/scripts/CodeGeneratorV8.pm:
576         * bindings/v8/V8DOMWrapper.cpp:
577         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
578         (WebCore::V8DOMWrapper::setDOMWrapper):
579         * bindings/v8/V8DOMWrapper.h:
580         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
581         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
582         (WebCore::V8DOMWrapper::convertToNativeObject):
583         (WebCore::V8DOMWrapper::convertToNativeEvent):
584         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
585         (WebCore::CALLBACK_FUNC_DECL):
586         * bindings/v8/custom/V8ClipboardCustom.cpp:
587         (WebCore::CALLBACK_FUNC_DECL):
588         * bindings/v8/custom/V8DocumentCustom.cpp:
589         (WebCore::CALLBACK_FUNC_DECL):
590         * bindings/v8/custom/V8ElementCustom.cpp:
591         (WebCore::CALLBACK_FUNC_DECL):
592         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
593         (WebCore::CALLBACK_FUNC_DECL):
594         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
595         (WebCore::CALLBACK_FUNC_DECL):
596         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
597         (WebCore::removeElement):
598         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
599         (WebCore::CALLBACK_FUNC_DECL):
600         * bindings/v8/custom/V8NodeCustom.cpp:
601         (WebCore::CALLBACK_FUNC_DECL):
602         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
603         (WebCore::CALLBACK_FUNC_DECL):
604
605 2009-07-20  Adam Langley  <agl@google.com>
606
607         Reviewed by Eric Seidel.
608
609         Chromium Linux: cache Harfbuzz faces.
610
611         https://bugs.webkit.org/show_bug.cgi?id=27473
612
613         Previously, we recreated the Harfbuzz face for each script-run. With
614         this patch, we keep the Harfbuzz face in the FontPlatformData (created
615         as needed) and so they will persist for the duration of the
616         FontPlatformData.
617
618         Shouldn't affect any layout tests. Results in a significant win on the
619         intl2 page cycler time.
620
621         * platform/graphics/chromium/FontLinux.cpp:
622         (WebCore::TextRunWalker::~TextRunWalker):
623         (WebCore::TextRunWalker::setupFontForScriptRun):
624         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
625         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
626         (WebCore::FontPlatformData::FontPlatformData):
627         (WebCore::FontPlatformData::harfbuzzFace):
628         * platform/graphics/chromium/FontPlatformDataLinux.h:
629         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
630         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
631         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
632         * platform/graphics/chromium/HarfbuzzSkia.h: Added.
633
634 2009-07-20  Ryosuke Niwa  <rniwa@webkit.org>
635
636         Reviewed by Simon Fraser.
637
638         REGRESSION (r46142): Need to remove showTreeThisForThis
639         https://bugs.webkit.org/show_bug.cgi?id=27475
640
641         Removes showTreeThisForThis
642
643         * editing/IndentOutdentCommand.cpp:
644         (WebCore::IndentOutdentCommand::appendParagraphIntoNode):
645
646 2009-07-19  Ryosuke Niwa  <rniwa@webkit.org>
647
648         Reviewed by Eric Seidel.
649
650         Refactoring of indentRegion to fix bugs 26816 and 25317
651         https://bugs.webkit.org/show_bug.cgi?id=26816
652         https://bugs.webkit.org/show_bug.cgi?id=25317
653         https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)
654
655         This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
656         and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.
657
658         1. We try to indent as many wrapping nodes as possible.
659            e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
660         2. We do not delete any wrapping elements
661            With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
662            This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
663            With appendParagraphIntoNode, we can preserve all wrapping nodes.
664         3. We only split the tree until the closest block node instead of until the root editable node.
665            This behavioral change fixes the bug 25317.
666         4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
667            e.g. when a list is a child node of a div, and the entire div is intended,
668                 we enclose the div by a single blockquote.
669
670         Note that new behavior is more consistent with that of Internet Explorer and Firefox.
671         To demonstrate this, the following tests are added.
672
673         Tests: editing/execCommand/indent-div-inside-list.html
674                editing/execCommand/indent-nested-blockquotes.html
675                editing/execCommand/indent-nested-div.html
676                editing/execCommand/indent-second-paragraph-in-blockquote.html
677
678         * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
679         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
680         (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
681         (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
682         (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
683         (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
684         * editing/IndentOutdentCommand.h: updated prototype
685
686 2009-07-20  Dan Bernstein  <mitz@apple.com>
687
688         Try to fix release builds after r46136
689
690         * dom/Element.cpp:
691
692 2009-07-17  Pierre d'Herbemont  <pdherbemont@apple.com>
693
694         Reviewed by Eric Seidel.
695
696         Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
697         https://bugs.webkit.org/show_bug.cgi?id=27380
698
699         Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.
700
701         * css/mediaControlsQT.css:
702
703 2009-07-20  Peter Kasting  <pkasting@google.com>
704
705         Reviewed by Mark Rowe.
706
707         https://bugs.webkit.org/show_bug.cgi?id=27468
708         Back out r46060, which caused problems for some Apple developers.
709
710         * WebCore.vcproj/QTMovieWin.vcproj:
711         * WebCore.vcproj/WebCoreCommon.vsprops:
712         * WebCore.vcproj/WebCoreGenerated.vcproj:
713
714 2009-07-20  Dan Bernstein  <mitz@apple.com>
715
716         Reviewed by Anders Carlsson.
717
718         When loading a custom view into a frame, the old document is still
719         around
720         <rdar://problem/5145841>
721
722         Safari fires onload before PDF is loaded into the browser
723         <rdar://problem/6618869>
724
725         Test: fast/loader/non-html-load-event.html
726
727         * GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
728         * WebCore.gypi: Ditto.
729         * WebCore.pro: Ditto.
730         * WebCore.vcproj/WebCore.vcproj: Ditto.
731         * WebCore.xcodeproj/project.pbxproj: Ditto.
732         * WebCoreSources.bkl: Ditto.
733         * dom/Document.h:
734         (WebCore::Document::setStyleSelector): Added this protected accessor for
735             PlaceholderDocument to use.
736         * dom/Element.cpp:
737         (WebCore::Element::clientWidth): Check whether the document has a
738             renderer.
739         (WebCore::Element::clientHeight): Ditto.
740         * loader/FrameLoader.cpp:
741         (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
742             that do not use an HTML view. Do not nullify the content size in
743             that case.
744         (WebCore::FrameLoader::transitionToCommitted): For frames that do not
745             use an HTML view, call receivedFirstData(), which sets up the
746             frame with a new PlaceHolderDocument.
747         * loader/PlaceholderDocument.cpp: Added.
748         (WebCore::PlaceholderDocument::attach): Sets up the style selector but
749             does not create a RenderView.
750         * loader/PlaceholderDocument.h: Added.
751         (WebCore::PlaceholderDocument::create):
752         (WebCore::PlaceholderDocument::PlaceholderDocument):
753
754 2009-07-20  Chris Marrin  <cmarrin@apple.com>
755
756         Reviewed by Simon Fraser.
757
758         Handle opacity and opacity animations on transform layers in Leopard
759         https://bugs.webkit.org/show_bug.cgi?id=27398
760
761         This makes two changes, and only for Leopard. 
762
763         First, whenever opacity is changed on a layer I propagate the 
764         change into the content layer and all the children if the layer 
765         on which opacity is set is a transform layer (preserve3D is true). 
766         The opacity set is the accumulated opacity from this layer
767         and all its direct ancestor transform layers. Second, I turn off all 
768         hardware opacity animation.
769
770         * platform/graphics/GraphicsLayer.cpp:
771         (WebCore::GraphicsLayer::accumulatedOpacity):
772         (WebCore::GraphicsLayer::distributeOpacity):
773         * platform/graphics/GraphicsLayer.h:
774         (WebCore::GraphicsLayer::setOpacityInternal):
775         * platform/graphics/mac/GraphicsLayerCA.h:
776         * platform/graphics/mac/GraphicsLayerCA.mm:
777         (WebCore::GraphicsLayerCA::setPreserves3D):
778         (WebCore::GraphicsLayerCA::setOpacity):
779         (WebCore::GraphicsLayerCA::animateFloat):
780         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
781         (WebCore::GraphicsLayerCA::setOpacityInternal):
782         (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
783
784 2009-07-20  Yong Li  <yong.li@torchmobile.com>
785
786         Reviewed by Adam Roben.
787
788         https://bugs.webkit.org/show_bug.cgi?id=27349
789         Add GraphicsContext implementation for the WinCE port.
790
791         Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
792         with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>
793
794         * platform/graphics/wince/GraphicsContextWince.cpp: Added.
795
796 2009-07-20  Dumitru Daniliuc  <dumi@chromium.org>
797
798         Reviewed by Dimitri Glazkov.
799
800         Adding the Win SQLite VFS implementation for Chromium, and stubs
801         for the Mac and Linux VFSs.
802
803         https://bugs.webkit.org/show_bug.cgi?id=26940
804
805         * WebCore.gypi:
806         * platform/chromium/ChromiumBridge.h:
807         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
808         * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
809         * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
810         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
811
812 2009-07-20  Xan Lopez  <xlopez@igalia.com>
813
814         Reviewed by Gustavo Noronha.
815
816         https://bugs.webkit.org/show_bug.cgi?id=27097
817         [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi
818
819         Check that an object is a RenderObject before trying to access its
820         renderer and related node.
821
822         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
823         (webkit_accessible_get_role):
824
825 2009-07-20  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
826
827         Reviewed by Simon Hausmann.
828
829         [Qt] font cache reworking
830         https://bugs.webkit.org/show_bug.cgi?id=27265
831
832         Reimplemented Qt's FontCache in a way that follows the shared one.
833         Now we can release its elements when those became inactive.
834         FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.
835
836         No change in behavior, so no tests.
837
838         * platform/graphics/qt/FontCacheQt.cpp:
839         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
840         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
841         (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
842         It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
843         with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
844         FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
845         (WebCore::FontPlatformDataCacheKey::operator==):
846         (WebCore::FontPlatformDataCacheKey::hash):
847         (WebCore::FontPlatformDataCacheKey::computeHash):
848         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
849         (WebCore::FontPlatformDataCacheKeyHash::hash):
850         (WebCore::FontPlatformDataCacheKeyHash::equal):
851         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
852         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
853         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
854         (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
855         (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
856         (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
857         (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
858         (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
859         * platform/graphics/qt/FontFallbackListQt.cpp:
860         (WebCore::FontFallbackList::releaseFontData):
861         (WebCore::FontFallbackList::fontDataAt):
862         * platform/graphics/qt/FontPlatformData.h:
863         (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
864         (WebCore::FontPlatformData::bold): Ditto.
865         (WebCore::FontPlatformData::italic): Ditto.
866         (WebCore::FontPlatformData::smallCaps): Ditto.
867         (WebCore::FontPlatformData::pixelSize): Ditto.
868         * platform/graphics/qt/FontPlatformDataQt.cpp:
869         (WebCore::FontPlatformData::FontPlatformData): Set m_bold.
870
871 2009-07-20  Xan Lopez  <xlopez@igalia.com>
872
873         Reviewed by Holger Freyther.
874
875         https://bugs.webkit.org/show_bug.cgi?id=26716
876         [Gtk] Each XMLHttpRequest leaks memory.
877
878         Free the SoupURI we create to check the URI. Fix suggested by John
879         Kjellberg.
880
881         * platform/network/soup/ResourceHandleSoup.cpp:
882         (WebCore::):
883
884 2009-07-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
885
886         Reviewed by Holger Freyther.
887
888         [Qt] On Symbian link against system sqlite3
889         https://bugs.webkit.org/show_bug.cgi?id=27368
890
891         Add an option to force linking against system sqlite3
892         by adding system-sqlite to the CONFIG variable.
893
894         The Symbian specific part of this patch is contributed by 
895         Norbert Leser.
896
897         * WebCore.pro:
898
899 2009-07-20  Xan Lopez  <xlopez@igalia.com>
900
901         Reviewed by Gustavo Noronha.
902
903         Change the glib version check to check for the first unstable
904         release with g_mapped_file_unref. Otherwise this would be useless
905         until 2.22 is released, a few months from now.
906
907         * platform/network/soup/ResourceHandleSoup.cpp:
908         (WebCore::ResourceHandle::startHttp):
909
910 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
911
912         Reviewed by and done with Tor Arne Vestbø.
913
914         Fix fast/css/pseudo-required-optional-*.html in the Qt build
915         after r46062.
916
917         These tests triggered a bug in RenderThemeQt where we did not fall back
918         to the unstyled painting of text areas and input fields when they have
919         a styled background.
920
921         Our re-implementation of isControlStyled incorrectly only checked the
922         border for determining whether to style or not. The base-implementation
923         performs the same check, but also includes the background. Removing
924         our implementation fixes the appearance.
925
926         * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
927         * platform/qt/RenderThemeQt.h: Ditto.
928
929 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
930
931         Rubber-stamped by Tor Arne Vestbø.
932
933         Add missing (sorted) header files to the HEADERS variable in the qmake
934         .pro file for improved completion in IDEs.
935
936         * WebCore.pro:
937
938 2009-07-19  Adam Barth  <abarth@webkit.org>
939
940         Reviewed by David Levin.
941
942         [V8] Factor V8ConsoleMessage out of V8Proxy
943         https://bugs.webkit.org/show_bug.cgi?id=27421
944
945         No behavior change.
946
947         * WebCore.gypi:
948         * bindings/v8/V8ConsoleMessage.cpp: Added.
949         (WebCore::V8ConsoleMessage::V8ConsoleMessage):
950         (WebCore::V8ConsoleMessage::dispatchNow):
951         (WebCore::V8ConsoleMessage::dispatchLater):
952         (WebCore::V8ConsoleMessage::processDelayed):
953         (WebCore::V8ConsoleMessage::handler):
954         * bindings/v8/V8ConsoleMessage.h: Added.
955         (WebCore::V8ConsoleMessage::Scope::Scope):
956         (WebCore::V8ConsoleMessage::Scope::~Scope):
957         * bindings/v8/V8Proxy.cpp:
958         (WebCore::logInfo):
959         (WebCore::reportUnsafeAccessTo):
960         (WebCore::V8Proxy::runScript):
961         (WebCore::V8Proxy::callFunction):
962         (WebCore::V8Proxy::newInstance):
963         (WebCore::V8Proxy::initContextIfNeeded):
964         (WebCore::V8Proxy::processConsoleMessages):
965
966 2009-07-19  Rob Buis  <rwlbuis@gmail.com>
967
968         Reviewed by Adam Barth.
969
970         Remove unused member variable.
971
972         * svg/SVGPolyElement.h:
973
974 2009-07-19  Eric Carlson  <eric.carlson@apple.com>
975
976         Reviewed by Dan Bernstein.
977
978         HTMLAudioElement: constructor should set "autobuffer" attribute
979         https://bugs.webkit.org/show_bug.cgi?id=27422
980
981         Test: media/audio-constructor-autobuffer.html
982
983         * bindings/js/JSAudioConstructor.cpp:
984         (WebCore::constructAudio):
985             Set 'autobuffer' attribute.
986
987 2009-07-19  Thierry Bastian <thierry.bastian@nokia.com>
988
989         Reviewed by Simon Hausmann.
990
991         Fix the Qt build with mingw.
992
993         * WebCore.pro: Don't use MSVC commandline options to disable warnings
994         with mingw.
995
996 2009-07-19  Adam Barth  <abarth@webkit.org>
997
998         Reviewed by David Levin.
999
1000         [V8] Phase 2: Remove event listener methods from V8Proxy
1001         https://bugs.webkit.org/show_bug.cgi?id=27415
1002
1003         No behavior change.
1004
1005         * bindings/v8/V8ObjectEventListener.cpp:
1006         (WebCore::weakObjectEventListenerCallback):
1007         (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
1008         * bindings/v8/V8Proxy.cpp:
1009         (WebCore::V8Proxy::disconnectEventListeners):
1010         * bindings/v8/V8Proxy.h:
1011         (WebCore::V8Proxy::eventListeners):
1012         (WebCore::V8Proxy::objectListeners):
1013         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
1014         (WebCore::getEventListener):
1015         * bindings/v8/custom/V8CustomEventListener.cpp:
1016         (WebCore::V8EventListener::~V8EventListener):
1017         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1018         (WebCore::CALLBACK_FUNC_DECL):
1019         (WebCore::ACCESSOR_SETTER):
1020         * bindings/v8/custom/V8ElementCustom.cpp:
1021         (WebCore::ACCESSOR_SETTER):
1022         * bindings/v8/custom/V8MessagePortCustom.cpp:
1023         (WebCore::ACCESSOR_SETTER):
1024         (WebCore::CALLBACK_FUNC_DECL):
1025         * bindings/v8/custom/V8NodeCustom.cpp:
1026         (WebCore::CALLBACK_FUNC_DECL):
1027         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
1028         (WebCore::CALLBACK_FUNC_DECL):
1029         * bindings/v8/custom/V8WorkerCustom.cpp:
1030         (WebCore::getEventListener):
1031         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1032         (WebCore::getEventListener):
1033         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
1034         (WebCore::ACCESSOR_SETTER):
1035         (WebCore::CALLBACK_FUNC_DECL):
1036
1037 2009-07-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
1038
1039         Reviewed by Gustavo Noronha.
1040
1041         [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
1042         https://bugs.webkit.org/show_bug.cgi?id=27230
1043
1044         Use g_mapped_file_unref for GLIB version 2.22 onwards.
1045
1046         * platform/network/soup/ResourceHandleSoup.cpp:
1047         (WebCore::ResourceHandle::startHttp):
1048
1049 2009-07-18  Dan Bernstein  <mitz@apple.com>
1050
1051         Reviewed by Anders Carlsson.
1052
1053         Add spread radius support to -webkit-box-shadow
1054         https://bugs.webkit.org/show_bug.cgi?id=27417
1055         rdar://problem/7072267
1056
1057         Test: fast/box-shadow/spread.html
1058
1059         * css/CSSComputedStyleDeclaration.cpp:
1060         (WebCore::valueForShadow): Added a property ID parameter and used it to
1061             include the spread length for box-shadow but not for text-shadow.
1062         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1063             Pass the property ID to valueForShadow().
1064
1065         * css/CSSParser.cpp:
1066         (WebCore::ShadowParseContext::ShadowParseContext): Added property,
1067             spread, and allowSpread members. Added a property ID parameter to
1068             the constructor. Initialize the property and allowSpread members.
1069         (WebCore::ShadowParseContext::allowLength): Added allowSpread.
1070         (WebCore::ShadowParseContext::commitValue): Pass the spread value to
1071             the ShadowValue constructor. Reset allowSpread.
1072         (WebCore::ShadowParseContext::commitLength): Allow spread after blur
1073             for the box-shadow property.
1074         (WebCore::ShadowParseContext::commitColor): Reset allowSpread.
1075         (WebCore::CSSParser::parseShadow): Pass the property ID to
1076             ShadowParseContext().
1077
1078         * css/CSSStyleSelector.cpp:
1079         (WebCore::CSSStyleSelector::applyProperty): Get the spread value from
1080             the shadow value and pass it to the ShadowData constructor.
1081
1082         * css/ShadowValue.cpp:
1083         (WebCore::ShadowValue::ShadowValue): Added spread.
1084         (WebCore::ShadowValue::cssText): Added spread.
1085
1086         * css/ShadowValue.h:
1087         (WebCore::ShadowValue::create): Added spread.
1088
1089         * page/animation/AnimationBase.cpp:
1090         (WebCore::blendFunc): Blend the spread value.
1091         (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
1092             shadow.
1093
1094         * rendering/InlineFlowBox.cpp:
1095         (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
1096             the visual overflow calculations.
1097         (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
1098         (WebCore::InlineFlowBox::paint): Ditto.
1099
1100         * rendering/RenderBlock.cpp:
1101         (WebCore::RenderBlock::overflowHeight): Ditto.
1102         (WebCore::RenderBlock::overflowWidth): Ditto.
1103         (WebCore::RenderBlock::overflowLeft): Ditto.
1104         (WebCore::RenderBlock::overflowTop): Ditto.
1105         (WebCore::RenderBlock::overflowRect): Ditto.
1106         (WebCore::RenderBlock::layoutBlock): Ditto.
1107
1108         * rendering/RenderBoxModelObject.cpp:
1109         (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
1110             casting rect by the shadow spread value. Adjust border radii if
1111             necessary.
1112
1113         * rendering/RenderFlexibleBox.cpp:
1114         (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
1115             visual overflow calculations.
1116         * rendering/RenderLayer.cpp:
1117         (WebCore::RenderLayer::calculateRects): Ditto.
1118
1119         * rendering/RenderObject.cpp:
1120         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
1121         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.
1122
1123         * rendering/RenderReplaced.cpp:
1124         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
1125
1126         * rendering/style/RenderStyle.cpp:
1127         (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
1128             have spread.
1129
1130         * rendering/style/ShadowData.cpp:
1131         (WebCore::ShadowData::ShadowData): Added spread.
1132         (WebCore::ShadowData::operator==): Compare spread.
1133         * rendering/style/ShadowData.h:
1134         (WebCore::ShadowData::ShadowData): Added spread.
1135
1136 2009-07-18  Adam Barth  <abarth@webkit.org>
1137
1138         Reviewed by Jan Alonzo.
1139
1140         Minor FrameLoader.cpp cleanup
1141         https://bugs.webkit.org/show_bug.cgi?id=27406
1142
1143         No behavior change.
1144
1145         * loader/FrameLoader.cpp:
1146         (WebCore::FrameLoader::executeIfJavaScriptURL):
1147
1148 2009-07-18  Adam Barth  <abarth@webkit.org>
1149
1150         Reviewed by Darin Fisher.
1151
1152         [V8] Move event listener methods from V8Proxy to V8EventListenerList
1153         https://bugs.webkit.org/show_bug.cgi?id=27408
1154
1155         Move some event listener code out of V8Proxy and into the event
1156         listener list.
1157
1158         I'd like to remove these methods from V8Proxy entirely and just expose
1159         getters for the lists themselves, but I'll do that in a follow up
1160         patch.
1161
1162         * bindings/v8/V8EventListenerList.cpp:
1163         (WebCore::V8EventListenerList::findWrapper):
1164         * bindings/v8/V8EventListenerList.h:
1165         (WebCore::V8EventListenerList::findOrCreateWrapper):
1166         * bindings/v8/V8ObjectEventListener.cpp:
1167         * bindings/v8/V8Proxy.cpp:
1168         (WebCore::V8Proxy::findV8EventListener):
1169         (WebCore::V8Proxy::findOrCreateV8EventListener):
1170         (WebCore::V8Proxy::removeV8EventListener):
1171         (WebCore::V8Proxy::findObjectEventListener):
1172         (WebCore::V8Proxy::findOrCreateObjectEventListener):
1173         (WebCore::V8Proxy::removeObjectEventListener):
1174         * bindings/v8/V8Proxy.h:
1175
1176 2009-07-18  Jeremy Orlow  <jorlow@chromium.org>
1177
1178         Rubber stamped by Adam Barth.
1179
1180         Revert https://bugs.webkit.org/show_bug.cgi?id=27383
1181         https://bugs.webkit.org/show_bug.cgi?id=27407
1182
1183         Revert Jens' patch.  I believe he forgot to include a file.
1184
1185         * WebCore.gypi:
1186         * bindings/scripts/CodeGeneratorV8.pm:
1187         * bindings/v8/DOMObjectsInclude.h:
1188         * bindings/v8/V8DOMWrapper.cpp:
1189         (WebCore::V8DOMWrapper::getTemplate):
1190         * bindings/v8/V8DataGridDataSource.cpp: Removed.
1191         * bindings/v8/V8DataGridDataSource.h: Removed.
1192         * bindings/v8/V8GCController.h:
1193         * bindings/v8/V8Index.h:
1194         * bindings/v8/custom/V8CustomBinding.h:
1195         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
1196         (WebCore::ACCESSOR_GETTER):
1197         (WebCore::ACCESSOR_SETTER):
1198
1199 2009-07-17  Daniel Bates  <dbates@intudata.com>
1200
1201         Reviewed by Adam Barth.
1202         
1203         https://bugs.webkit.org/show_bug.cgi?id=27405
1204
1205         Fixes an issue when decoding HTML entities with an unknown named entity that 
1206         caused null-characters to be inserted into the decoded result.
1207
1208         Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
1209               http/tests/security/xssAuditor/javascript-link-ampersand.html
1210
1211         * page/XSSAuditor.cpp:
1212         (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
1213         non-zero entity values are not inserted during decoding process.
1214
1215 2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
1216
1217         <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space
1218
1219         Reviewed by Holger Freyther.
1220
1221         Add Gtk to platforms that want to open the menulist using the
1222         spacebar.
1223
1224         * dom/SelectElement.cpp:
1225         (WebCore::SelectElement::menuListDefaultEventHandler):
1226
1227 2009-07-17  Mario Sanchez Prada  <msanchez@igalia.com>
1228
1229         Reviewed by Jan Alonzo.
1230
1231         https://bugs.webkit.org/show_bug.cgi?id=25523
1232         [GTK] The text displayed by push buttons is not exposed to assistive technologies
1233
1234         Add new public method text() to RenderButton and use it from
1235         AccessibilityRenderObject::stringValue().
1236
1237         * accessibility/AccessibilityRenderObject.cpp:
1238         (WebCore::AccessibilityRenderObject::stringValue):
1239         * rendering/RenderButton.cpp:
1240         (WebCore::RenderButton::text):
1241         * rendering/RenderButton.h:
1242
1243 2009-07-17  Anton Muhin  <antonm@chromium.org>
1244
1245         Reviewed by Dimitri Glazkov.
1246
1247         Restore proxy retrieval
1248         https://bugs.webkit.org/show_bug.cgi?id=27369
1249
1250         No new tests are needed.
1251
1252         * bindings/v8/V8DOMWrapper.cpp:
1253         (WebCore::V8DOMWrapper::instantiateV8Object):
1254
1255 2009-07-17  Yael Aharon  <yael.aharon@nokia.com>
1256
1257         Reviewed by George Staikos.
1258
1259         https://bugs.webkit.org/show_bug.cgi?id=27351
1260         Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM
1261         Use uname to find the correct platform for Linux.
1262
1263         * page/NavigatorBase.cpp:
1264         (WebCore::NavigatorBase::platform):
1265
1266 2009-07-17  Jens Alfke  <snej@chromium.org>
1267
1268         Reviewed by Dimitri Glazkov.
1269
1270         Hook up V8 bindings for DataGrid elements.
1271         https://bugs.webkit.org/show_bug.cgi?id=27383
1272         http://code.google.com/p/chromium/issues/detail?id=16730
1273
1274         Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
1275         to handle exceptions, check appropriate JS prototypes, and
1276         test column-list's item() method as well as array-indexing.
1277
1278         * WebCore.gypi: Added new source files.
1279         * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
1280         * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
1281         * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
1282         (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
1283         * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
1284         (WebCore::V8DataGridDataSource::V8DataGridDataSource):
1285         (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
1286         * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
1287         (WebCore::V8DataGridDataSource::create):
1288         (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
1289         (WebCore::V8DataGridDataSource::jsDataSource):
1290         (WebCore::asV8DataGridDataSource):
1291         * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
1292         * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
1293         * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
1294         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
1295         (WebCore::ACCESSOR_GETTER):
1296         (WebCore::ACCESSOR_SETTER):
1297
1298 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
1299
1300         Reviewed by Darin Fisher.
1301
1302         StorageArea should only contain methods we intend to proxy.
1303         https://bugs.webkit.org/show_bug.cgi?id=27181
1304
1305         Right now, StorageAreaSync takes in a StorageArea* and calls methods
1306         like importItem.  Really, StorageAreaSync should be operating directly
1307         on StorageAreaImpl* and those methods should be removed from StorageArea
1308         since StorageAreaSync should never be attached to anything other than a
1309         StorageAreaImpl.
1310
1311         This was pointed out in the review for
1312         https://bugs.webkit.org/show_bug.cgi?id=27072
1313
1314         Also clean up StorageNamespaceImpl to operate directly on
1315         StorageAreaImpl.  Also, get rid of the factory for StorageArea
1316         since nothing should ever create a StorageArea directly.
1317
1318         * GNUmakefile.am:
1319         * WebCore.vcproj/WebCore.vcproj:
1320         * WebCore.xcodeproj/project.pbxproj:
1321         * WebCoreSources.bkl:
1322         * storage/StorageArea.cpp: Removed.
1323         * storage/StorageArea.h:
1324         (WebCore::StorageArea::~StorageArea):
1325         * storage/StorageAreaImpl.cpp:
1326         (WebCore::StorageAreaImpl::copy):
1327         * storage/StorageAreaImpl.h:
1328         * storage/StorageAreaSync.cpp:
1329         (WebCore::StorageAreaSync::create):
1330         (WebCore::StorageAreaSync::StorageAreaSync):
1331         * storage/StorageAreaSync.h:
1332         * storage/StorageNamespaceImpl.cpp:
1333         (WebCore::StorageNamespaceImpl::copy):
1334         (WebCore::StorageNamespaceImpl::storageArea):
1335         * storage/StorageNamespaceImpl.h:
1336
1337 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
1338
1339         Reviewed by Dimitri Glazkov.
1340
1341         Add v8 implementation for DOM Storage ScriptObjectQuarantine.
1342         https://bugs.webkit.org/show_bug.cgi?id=27327
1343
1344         Wrap the storage object with a generic object as is done elsewhere in
1345         the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not
1346         enabled.
1347
1348         * bindings/v8/ScriptObjectQuarantine.cpp:
1349         (WebCore::getQuarantinedScriptObject):
1350
1351 2009-07-17  Mads Ager  <ager@chromium.org>
1352
1353         Reviewed by Dimitri Glazkov.
1354
1355         https://bugs.webkit.org/show_bug.cgi?id=27394
1356         Fix access to global object wrappers after navigation of their
1357         frame in the V8 bindings.  This fixes selenium test failures.
1358
1359         * bindings/v8/V8Proxy.cpp:
1360         (WebCore::V8Proxy::updateDocument):
1361
1362 2009-07-17  Mark Rowe  <mrowe@apple.com>
1363
1364         Fix the 32-bit build by removing implicit float <-> double conversions.
1365
1366         * inspector/InspectorController.cpp:
1367         (WebCore::constrainedAttachedWindowHeight):
1368
1369 2009-07-17  Brian Weinstein  <bweinstein@apple.com>
1370
1371         Reviewed by Adam Roben.
1372
1373         Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
1374         https://bugs.webkit.org/show_bug.cgi?id=14272
1375         
1376         Moved preference setting for attached inspector height and inspector height calculation from
1377         WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable
1378         Windows resizing of attached inspector.
1379
1380         * inspector/InspectorController.cpp:
1381         * inspector/InspectorController.h:
1382
1383 2009-07-17  Dan Bernstein  <mitz@apple.com>
1384
1385         Another attempt at fixing the build after r46063
1386
1387         * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private
1388             header, because it is now included from htmlediting.h, which is
1389             a private header.
1390
1391 2009-07-17  Alexey Proskuryakov  <ap@webkit.org>
1392
1393         Reviewed by Dan Bernstein.
1394
1395         https://bugs.webkit.org/show_bug.cgi?id=27396
1396         Moving cursor in Thai text sometimes jumps over two characters
1397
1398         Test: editing/text-iterator/thai-cursor-movement.html
1399
1400         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special
1401         case for five Thai characters, matching ICU/CLDR changes.
1402
1403 2009-07-14  Eric Seidel  <eric@webkit.org>
1404
1405         Reviewed by Adam Barth.
1406
1407         Some constructor objects exposed on Window have the wrong prototype chain
1408         https://bugs.webkit.org/show_bug.cgi?id=27276
1409
1410         Several Constructor classes were already being passed a global object
1411         during construction, but they were ignoring it for prototype lookup.
1412         I've fixed those to use the passed global object instead.
1413
1414         Most of these Constructor classes should just be auto-generated, but I
1415         refrained from changing them over to auto-gen in this patch.
1416
1417         Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when
1418         available, otherwise default to deprecatedGlobalObjectForPrototype(exec)
1419         to match existing behavior.
1420
1421         Test: fast/dom/prototype-inheritance.html
1422
1423         * bindings/js/JSAudioConstructor.cpp:
1424         (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup
1425         * bindings/js/JSDOMBinding.h:
1426         (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used.
1427         (WebCore::deprecatedGetDOMStructure):
1428         * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject*
1429         * bindings/js/JSDOMWindowCustom.cpp:
1430         (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object.
1431         (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object.
1432         (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object.
1433         (WebCore::JSDOMWindow::worker): pass "this" for the global object.
1434         * bindings/js/JSImageConstructor.cpp:
1435         (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup
1436         * bindings/js/JSMessageChannelConstructor.cpp:
1437         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup
1438         * bindings/js/JSOptionConstructor.cpp:
1439         (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup
1440         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
1441         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it
1442         * bindings/js/JSWebKitCSSMatrixConstructor.h:
1443         * bindings/js/JSWebKitPointConstructor.cpp:
1444         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it
1445         * bindings/js/JSWebKitPointConstructor.h:
1446         * bindings/js/JSWorkerConstructor.cpp:
1447         (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it
1448         * bindings/js/JSWorkerConstructor.h:
1449         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1450         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup
1451          -- XMLHttpRequest constructor was also missing a length.  Added one.
1452         * bindings/js/JSXSLTProcessorConstructor.cpp:
1453         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
1454         * bindings/js/JSXSLTProcessorConstructor.h:
1455         * bindings/scripts/CodeGeneratorJS.pm:
1456
1457 2009-07-17  Dan Bernstein  <mitz@apple.com>
1458
1459         Build fix
1460
1461         * editing/htmlediting.cpp:
1462         (WebCore::visiblePositionBeforeNode):
1463         (WebCore::visiblePositionAfterNode):
1464
1465 2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
1466
1467         Gtk build fix for symbol lookup error.
1468
1469         Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now
1470         Changed in http://trac.webkit.org/changeset/46048
1471
1472         * GNUmakefile.am:
1473
1474 2009-07-17  Ryosuke Niwa  <ryosuke.niwa@gmail.com>
1475
1476         Reviewed by Eric Seidel.
1477
1478         htmlediting.cpp needs more utility functions to fix the bug 26816
1479         https://bugs.webkit.org/show_bug.cgi?id=27038
1480
1481         In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp
1482
1483         No tests because functions haven't been used anywhere yet.
1484
1485         * dom/Range.cpp:
1486         (WebCore::Range::create):
1487         (WebCore::Range::comparePoint): added const qualifier
1488         (WebCore::Range::compareNode): added const qualifier
1489         * dom/Range.h:
1490         * editing/htmlediting.cpp:
1491         (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
1492         (WebCore::positionBeforeNode): added ASSERT(node)
1493         (WebCore::positionAfterNode): added ASSERT(node)
1494         (WebCore::visiblePositionBeforeNode):
1495         (WebCore::visiblePositionAfterNode):
1496         (WebCore::createRange): create a range object from two visible positions
1497         (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
1498         (WebCore::canMergeLists): typo
1499         (WebCore::indexForVisiblePosition): added const qualifier
1500         (WebCore::isVisiblyAdjacent): typo
1501         (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
1502         * editing/htmlediting.h:
1503
1504 2009-07-17  Michelangelo De Simone  <micdesim@gmail.com>
1505
1506         Reviewed by Darin Adler.
1507
1508         https://bugs.webkit.org/show_bug.cgi?id=25551
1509         Added support for the "required" attribute, the valueMissing flag
1510         to the ValidityState object and :required/:optional CSS pseudoclasses.
1511         Part of HTML5 sec. Forms specs.
1512         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required
1513
1514         Tests: fast/css/pseudo-required-optional-001.html
1515                fast/css/pseudo-required-optional-002.html
1516                fast/css/pseudo-required-optional-003.html
1517                fast/css/pseudo-required-optional-004.html
1518                fast/css/pseudo-required-optional-005.html
1519                fast/css/pseudo-required-optional-006.html
1520                fast/forms/ValidityState-valueMissing-001.html
1521                fast/forms/ValidityState-valueMissing-002.html
1522                fast/forms/ValidityState-valueMissing-003.html
1523                fast/forms/ValidityState-valueMissing-004.html
1524                fast/forms/ValidityState-valueMissing-005.html
1525                fast/forms/ValidityState-valueMissing-006.html
1526                fast/forms/ValidityState-valueMissing-007.html
1527                fast/forms/ValidityState-valueMissing-008.html
1528                fast/forms/ValidityState-valueMissing-009.html
1529                fast/forms/required-attribute-001.html
1530                fast/forms/required-attribute-002.html
1531
1532         * css/CSSSelector.cpp:
1533         (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional
1534         * css/CSSSelector.h:
1535         (WebCore::CSSSelector::): ditto
1536         * css/CSSStyleSelector.cpp:
1537         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto
1538         * dom/Element.h:
1539         (WebCore::Element::isOptionalFormControl): check for optional controls
1540         (WebCore::Element::isRequiredFormControl): check for required controls
1541         * html/HTMLAttributeNames.in: required attribute
1542         * html/HTMLButtonElement.h:
1543         (WebCore::HTMLButtonElement::isOptionalFormControl): ditto
1544         * html/HTMLFormControlElement.cpp:
1545         (WebCore::HTMLFormControlElement::required): requiredAttr getter
1546         (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter
1547         * html/HTMLFormControlElement.h:
1548         (WebCore::HTMLFormControlElement::valueMissing): method definition
1549         * html/HTMLInputElement.cpp:
1550         (WebCore::HTMLInputElement::valueMissing): validation code
1551         (WebCore::HTMLInputElement::isRequiredFormControl): ditto
1552         * html/HTMLInputElement.h:
1553         (WebCore::HTMLInputElement::isOptionalFormControl): ditto
1554         * html/HTMLInputElement.idl: required DOM attribute
1555         * html/HTMLSelectElement.h:
1556         (WebCore::HTMLSelectElement::isOptionalFormControl): ditto
1557         * html/HTMLTextAreaElement.h:
1558         (WebCore::HTMLTextAreaElement::valueMissing): validation code
1559         (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto
1560         (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto
1561         * html/HTMLTextAreaElement.idl: required DOM attribute
1562         * html/ValidityState.cpp:
1563         * html/ValidityState.h:
1564         (WebCore::ValidityState::valueMissing): validation flag
1565
1566 2009-07-17  Beth Dakin  <bdakin@apple.com>
1567
1568         Reviewed by Darin Adler.
1569
1570         Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom 
1571         cursor hotspots should work in quirks mode
1572         - and corresponding <rdar://problem/6554340>
1573
1574         Enable hotspots in quirks mode.
1575         * css/CSSParser.cpp:
1576         (WebCore::CSSParser::parseValue):
1577
1578         Update this manual test to reflect the fact that hotspots are now 
1579         expected to work in quirks mode.
1580         * manual-tests/css3-cursor-fallback-quirks.html:
1581
1582 2009-07-17  Peter Kasting  <pkasting@google.com>
1583
1584         Reviewed by Steve Falkenburg.
1585
1586         https://bugs.webkit.org/show_bug.cgi?id=27323
1587         Only add Cygwin to the path when it isn't already there.  This avoids
1588         causing problems for people who purposefully have non-Cygwin versions of
1589         executables like svn in front of the Cygwin ones in their paths.
1590
1591         * WebCore.vcproj/QTMovieWin.vcproj:
1592         * WebCore.vcproj/WebCoreCommon.vsprops:
1593         * WebCore.vcproj/WebCoreGenerated.vcproj:
1594
1595 2009-07-17  Alexey Proskuryakov  <ap@webkit.org>
1596
1597         Reviewed by David Levin.
1598
1599         https://bugs.webkit.org/show_bug.cgi?id=27384
1600         Random crashes in appcache/update-cache.html test
1601
1602         * loader/appcache/ApplicationCacheGroup.cpp:
1603         (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle
1604         after canceling it.
1605
1606 2009-07-17  Drew Wilson  <atwilson@google.com>
1607
1608         Reviewed by David Levin.
1609
1610         Need to refactor Worker to derive from AbstractWorker
1611         https://bugs.webkit.org/show_bug.cgi?id=26948
1612
1613         Changed Worker to derive from AbstractWorker, which involved moving
1614         AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to
1615         ENABLE_WORKERS.
1616
1617         Removed obsolete functionality from the JS/V8 bindings that is now
1618         inherited from AbstractWorker.
1619
1620         * WebCore.pro:
1621         Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS.
1622         * bindings/js/JSAbstractWorkerCustom.cpp:
1623         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
1624         * bindings/js/JSWorkerCustom.cpp:
1625         Removed obsolete event listener code (now in base class)
1626         (WebCore::JSWorker::mark):
1627         No longer need to explicitly mark event listeners (handled by base class).
1628         * bindings/v8/V8Index.h:
1629         Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
1630         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
1631         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
1632         * bindings/v8/custom/V8CustomBinding.h:
1633         Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
1634         * bindings/v8/custom/V8WorkerCustom.cpp:
1635         Removed obsolete event listener code that now lives in the base class.
1636         (WebCore::V8WorkerConstructor): Cleaned up legacy style nits.
1637         * workers/AbstractWorker.cpp:
1638         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
1639         * workers/AbstractWorker.h:
1640         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
1641         * workers/Worker.cpp:
1642         Removed event listener code (now in base class).
1643         (WebCore::Worker::Worker): Now derives from AbstractWorker.
1644         (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class.
1645         * workers/Worker.h:
1646         Removed APIs that now live in the base class.
1647         * workers/Worker.idl:
1648         Now derives from AbstractWorker.
1649         Removed APIs that live in the base class, and added a GenerateToJS flag.
1650
1651 2009-07-17  David Hyatt  <hyatt@apple.com>
1652
1653         Reviewed by Dan Bernstein.
1654
1655         https://bugs.webkit.org/show_bug.cgi?id=27379
1656         Absolutely-positioned elements with a scrollbar wrap prematurely.  Make sure to include
1657         the vertical scrollbar width for overflow:scroll elements.
1658
1659         Added fast/css/positioned-overflow-scroll.html
1660
1661         * rendering/RenderBlock.cpp:
1662         (WebCore::RenderBlock::calcPrefWidths):
1663         * rendering/RenderFlexibleBox.cpp:
1664         (WebCore::RenderFlexibleBox::calcPrefWidths):
1665
1666 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
1667
1668         Reviewed by Dimitri Glazkov.
1669
1670         Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp
1671         https://bugs.webkit.org/show_bug.cgi?id=27375
1672
1673         In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp
1674         and StorageEvent.cpp.  Unfortunately, until later this afternoon,
1675         DOM_STORAGE is not turned on by default in Chromium, and so these two
1676         files are never generated.  This breaks the compile.
1677
1678         There are no other instances of guards in the file, which puzzles me...
1679         but I think adding guards is the right way to go about this.
1680
1681         * bindings/v8/DerivedSourcesAllInOne.cpp:  Added the guard.
1682
1683 2009-07-17  Brady Eidson  <beidson@apple.com>
1684
1685         Reviewed by Darin Adler.
1686
1687         https://bugs.webkit.org/show_bug.cgi?id=26496
1688
1689         Let WebCore always enforce the connection-per-host limit itself.
1690
1691         * loader/loader.cpp:
1692         (WebCore::Loader::Host::servePendingRequests):
1693
1694 2009-07-17  Chris Marrin  <cmarrin@apple.com>
1695
1696         Reviewed by David Hyatt.
1697
1698         Some transitions don't work correctly on Leopard
1699         https://bugs.webkit.org/show_bug.cgi?id=27356
1700
1701         We only have code to do component animation using valueFunction.
1702         So on Leopard we always need to do matrix animation in hardware.
1703         This fix ensures that. 
1704
1705         This is currently not testable because it appears only in the
1706         hardware animation and we can't yet do pixel tests while 
1707         hardware animating.
1708
1709         * platform/graphics/mac/GraphicsLayerCA.mm:
1710         (WebCore::GraphicsLayerCA::animateTransform):
1711
1712 2009-07-17  Holger Hans Peter Freyther  <zecke@selfish.org>
1713
1714         Reviewed by Gustavo Noronha.
1715
1716         [GTK+] Crash in screenAvailable due a null Widget*
1717
1718         JSDOMWindow::open called screenAvailableRect(0). The other
1719         Screen methods can be called with a null widget as well, fix the
1720         crashing test by checking for null.
1721
1722         In screenRect and screenAvailableRect it is not tried to use
1723         a default screen as the existing implementation didn't try either
1724         in case of not having a toplevel widget.
1725
1726         LayoutTests/fast/frames/crash-removed-iframe.html caused a crash.
1727
1728         * platform/gtk/PlatformScreenGtk.cpp:
1729         (WebCore::getVisual): New method to get a visual or return zero.
1730         (WebCore::screenDepth): Use getVisual.
1731         (WebCore::screenDepthPerComponent): Use getVisual.
1732         (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking
1733         (WebCore::screenRect): Check for !widget.
1734         (WebCore::screenAvailableRect): Check for !widget.
1735
1736 2009-07-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1737
1738         Reviewed by Simon Hausmann.
1739
1740         [Qt] Fix the include path for the Symbian port
1741         https://bugs.webkit.org/show_bug.cgi?id=27358
1742
1743         * WebCore.pro:
1744
1745 2009-07-17  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
1746
1747         Reviewed by Simon Hausmann.
1748
1749         Make it possible to set the plugin directories from the DRT.
1750         Part of https://bugs.webkit.org/show_bug.cgi?id=27215
1751
1752         * plugins/PluginDatabase.cpp:
1753         (WebCore::PluginDatabase::installedPlugins): Now optionally takes
1754         a populate argument, so we can avoid loading system plugins from the
1755         DRT and thus avoid their strerr errors that can make tests fail.
1756         (WebCore::PluginDatabase::clear): Make it possible to clear the
1757         database. Called from setPluginDirectories.
1758         * plugins/PluginDatabase.h:
1759         (WebCore::PluginDatabase::setPluginDirectories): Make public
1760
1761 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1762
1763         Reviewed by Simon Hausmann.
1764
1765         PluginViewMac: Stop the plugin when loading fails
1766
1767         Also, prevent event propagation when in the stopped state
1768
1769         * plugins/mac/PluginViewMac.cpp:
1770
1771 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1772
1773         Reviewed by Simon Hausmann.
1774
1775         PluginViewMac: Allow query and set of drawing and event models
1776
1777         We now support querying and setting of the drawing and event model,
1778         but we still only support the CoreGraphics drawing model, and the
1779         Carbon event model.
1780
1781         If unsupported drawing or event models are detected we show the
1782         missing-plugin icon.
1783
1784         * plugins/PluginView.cpp:
1785         * plugins/PluginView.h:
1786         * plugins/mac/PluginViewMac.cpp:
1787
1788 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1789
1790         Reviewed by Simon Hausmann.
1791
1792         Initialize two PluginView members using memset
1793
1794         m_npWindow is used on all platforms, not just for XP_UNIX,
1795         so always initialize it. m_npCgContext on the other hand
1796         is only used for XP_MACOSX.
1797
1798         * plugins/PluginView.cpp:
1799
1800 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1801
1802         Reviewed by Simon Hausmann.
1803
1804         Add more debug logging in PluginView
1805
1806         * plugins/PluginView.cpp: Add debug for setValue
1807         * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue
1808         * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more
1809         * plugins/qt/PluginViewQt.cpp: Add debug for getValue
1810         * plugins/win/PluginViewWin.cpp: Add debug for getValue
1811
1812 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1813
1814         Reviewed by Holger Freyther.
1815
1816         Use same license in PluginDebug.cpp as in the original PluginDebug.h
1817
1818         * plugins/PluginDebug.cpp: Use license from PluginDebug.h
1819
1820 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1821
1822         Reviewed by Simon Hausmann.
1823
1824         Add more debugging functionality for the WebCore NPAPI layer
1825
1826         * GNUmakefile.am: Add PluginDebug.cpp
1827         * WebCore.gypi: Add PluginDebug.cpp
1828         * WebCore.pro: Add PluginDebug.cpp
1829         * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp
1830         * WebCoreSources.bkl: Add PluginDebug.cpp
1831         * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp
1832         * plugins/PluginDebug.cpp: New file
1833
1834 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
1835
1836         Reviewed by David Levin.
1837
1838         Fix Chromium build with DOM_STORAGE enabled.
1839         https://bugs.webkit.org/show_bug.cgi?id=27360
1840
1841         2 minor changes as noted below:
1842
1843         * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files.
1844         * storage/StorageAreaImpl.cpp:  #include "DOMWindow.h"
1845
1846 2009-07-16  Fumitoshi Ukai  <ukai@chromium.org>
1847
1848         Reviewed by David Levin.
1849
1850         Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
1851         https://bugs.webkit.org/show_bug.cgi?id=27206
1852         
1853         Add ENABLE_WEB_SOCKETS
1854
1855         * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
1856         * GNUmakefile.am: add ENABLE_WEB_SOCKETS
1857         * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS
1858         * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS
1859
1860 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
1861
1862         Reviewed by Oliver Hunt.
1863
1864         Added a third bunch of Haiku-specific files for WebCore.
1865         https://bugs.webkit.org/show_bug.cgi?id=26952
1866
1867         Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp,
1868         FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp
1869
1870         * platform/haiku/EventLoopHaiku.cpp: Added.
1871         (WebCore::EventLoop::cycle):
1872         * platform/haiku/FileChooserHaiku.cpp: Added.
1873         (WebCore::FileChooser::FileChooser):
1874         (WebCore::FileChooser::basenameForWidth):
1875         * platform/haiku/FileSystemHaiku.cpp: Added.
1876         (WebCore::fileSystemRepresentation):
1877         (WebCore::homeDirectoryPath):
1878         (WebCore::openTemporaryFile):
1879         (WebCore::closeFile):
1880         (WebCore::writeToFile):
1881         (WebCore::unloadModule):
1882         (WebCore::listDirectory):
1883         * platform/haiku/KeyboardCodes.h: Added.
1884         * platform/haiku/MIMETypeRegistryHaiku.cpp: Added.
1885         (WebCore::):
1886         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1887
1888 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
1889
1890         Reviewed by Oliver Hunt.
1891
1892         Added a second bunch of Haiku-specific files for WebCore.
1893         https://bugs.webkit.org/show_bug.cgi?id=26952
1894
1895         Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp,
1896         DragDataHaiku.cpp and DragImageHaiku.cpp
1897
1898         * platform/haiku/ContextMenuHaiku.cpp: Added.
1899         (WebCore::ContextMenuReceiver::ContextMenuReceiver):
1900         (WebCore::ContextMenuReceiver::HandleMessage):
1901         (WebCore::ContextMenuReceiver::Result):
1902         (WebCore::ContextMenu::ContextMenu):
1903         (WebCore::ContextMenu::~ContextMenu):
1904         (WebCore::ContextMenu::appendItem):
1905         (WebCore::ContextMenu::itemCount):
1906         (WebCore::ContextMenu::insertItem):
1907         (WebCore::ContextMenu::platformDescription):
1908         (WebCore::ContextMenu::setPlatformDescription):
1909         * platform/haiku/ContextMenuItemHaiku.cpp: Added.
1910         (ContextMenuItem::ContextMenuItem):
1911         (ContextMenuItem::~ContextMenuItem):
1912         (ContextMenuItem::releasePlatformDescription):
1913         (ContextMenuItem::type):
1914         (ContextMenuItem::setType):
1915         (ContextMenuItem::action):
1916         (ContextMenuItem::setAction):
1917         (ContextMenuItem::title):
1918         (ContextMenuItem::setTitle):
1919         (ContextMenuItem::platformSubMenu):
1920         (ContextMenuItem::setSubMenu):
1921         (ContextMenuItem::setChecked):
1922         (ContextMenuItem::setEnabled):
1923         (ContextMenuItem::enabled):
1924         * platform/haiku/DragDataHaiku.cpp: Added.
1925         (WebCore::DragData::canSmartReplace):
1926         (WebCore::DragData::containsColor):
1927         (WebCore::DragData::containsFiles):
1928         (WebCore::DragData::asFilenames):
1929         (WebCore::DragData::containsPlainText):
1930         (WebCore::DragData::asPlainText):
1931         (WebCore::DragData::asColor):
1932         (WebCore::DragData::createClipboard):
1933         (WebCore::DragData::containsCompatibleContent):
1934         (WebCore::DragData::containsURL):
1935         (WebCore::DragData::asURL):
1936         (WebCore::DragData::asFragment):
1937         * platform/haiku/DragImageHaiku.cpp: Added.
1938         (WebCore::dragImageSize):
1939         (WebCore::deleteDragImage):
1940         (WebCore::scaleDragImage):
1941         (WebCore::dissolveDragImageToFraction):
1942         (WebCore::createDragImageFromImage):
1943         (WebCore::createDragImageIconForCachedImage):
1944
1945 2009-07-16  Stephen White  <senorblanco@chromium.org>
1946
1947         Reviewed by Darin Fisher and Brett Wilson.
1948
1949         Refactor Skia implementation of gradients and patterns.
1950
1951         http://bugs.webkit.org/show_bug.cgi?id=26618
1952
1953         The following layout tests were breaking on Chromium/Linux:
1954
1955         LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG)
1956         LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg
1957         LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG)
1958         LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg
1959
1960         I could've fixed these the easy way, by copying the same 5
1961         lines of code we use everywhere we need patterns or gradients, but
1962         I decided to fix it the hard way:  by refactoring the code so that
1963         PlatformContextSkia::setupPaintForFilling() and
1964         PlatformContextSkia::setupPaintForStroking() do the right thing,
1965         and also handle gradients and patterns.
1966         
1967         This required pushing the gradients and patterns set in 
1968         (generic) GraphicsContext::setFillPattern() and friends down into
1969         PlatformContextSkia.  For this, I followed the setPlatformXXX()
1970         pattern used elsewhere in GraphicsContext, and stubbed them out on
1971         the other platforms with #if !PLATFORM(SKIA).  This also required
1972         pushing changes to the gradientSpaceTransform from the Gradient into 
1973         GradientSkia.
1974
1975         Since it's a Skia context, I decided to cache the values as
1976         SkShaders.  There were existing m_pattern and m_gradient SkShaders,
1977         but they were unused, and whose use was ambiguous, so I
1978         replaced them with one SkShader each for filling and stroking.
1979
1980         * platform/graphics/Gradient.cpp:
1981         (WebCore::Gradient::setGradientSpaceTransform):
1982         (WebCore::Gradient::setPlatformGradientSpaceTransform):
1983         * platform/graphics/Gradient.h:
1984         * platform/graphics/GraphicsContext.cpp:
1985         (WebCore::GraphicsContext::setStrokePattern):
1986         (WebCore::GraphicsContext::setFillPattern):
1987         (WebCore::GraphicsContext::setStrokeGradient):
1988         (WebCore::GraphicsContext::setFillGradient):
1989         (WebCore::GraphicsContext::setPlatformFillGradient):
1990         (WebCore::GraphicsContext::setPlatformFillPattern):
1991         (WebCore::GraphicsContext::setPlatformStrokeGradient):
1992         (WebCore::GraphicsContext::setPlatformStrokePattern):
1993         * platform/graphics/GraphicsContext.h:
1994         * platform/graphics/skia/GradientSkia.cpp:
1995         (WebCore::Gradient::setPlatformGradientSpaceTransform):
1996         * platform/graphics/skia/GraphicsContextSkia.cpp:
1997         (WebCore::GraphicsContext::fillPath):
1998         (WebCore::GraphicsContext::fillRect):
1999         (WebCore::GraphicsContext::setPlatformFillGradient):
2000         (WebCore::GraphicsContext::setPlatformFillPattern):
2001         (WebCore::GraphicsContext::setPlatformStrokeGradient):
2002         (WebCore::GraphicsContext::setPlatformStrokePattern):
2003         (WebCore::GraphicsContext::strokePath):
2004         (WebCore::GraphicsContext::strokeRect):
2005         * platform/graphics/skia/PlatformContextSkia.cpp:
2006         (PlatformContextSkia::State::State):
2007         (PlatformContextSkia::State::~State):
2008         (PlatformContextSkia::drawRect):
2009         (PlatformContextSkia::setupPaintCommon):
2010         (PlatformContextSkia::setupPaintForFilling):
2011         (PlatformContextSkia::setupPaintForStroking):
2012         (PlatformContextSkia::setFillColor):
2013         (PlatformContextSkia::setStrokeColor):
2014         (PlatformContextSkia::setStrokeShader):
2015         (PlatformContextSkia::setFillShader):
2016         * platform/graphics/skia/PlatformContextSkia.h:
2017         * platform/graphics/skia/SkiaFontWin.cpp:
2018         (WebCore::skiaDrawText):
2019         (WebCore::paintSkiaText):
2020         * svg/graphics/SVGPaintServer.cpp:
2021         (WebCore::SVGPaintServer::teardown):
2022
2023 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2024
2025         Reviewed by Oliver Hunt.
2026
2027         Added Haiku-specific files for WebCore/platform/image-decoders/.
2028         https://bugs.webkit.org/show_bug.cgi?id=26949
2029
2030         Adding a new file, ImageDecoderHaiku.cpp.
2031
2032         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added.
2033         (WebCore::RGBA32Buffer::RGBA32Buffer):
2034         (WebCore::RGBA32Buffer::clear):
2035         (WebCore::RGBA32Buffer::zeroFill):
2036         (WebCore::RGBA32Buffer::copyBitmapData):
2037         (WebCore::RGBA32Buffer::setSize):
2038         (WebCore::RGBA32Buffer::asNewNativeImage):
2039         (WebCore::RGBA32Buffer::hasAlpha):
2040         (WebCore::RGBA32Buffer::setHasAlpha):
2041         (WebCore::RGBA32Buffer::setStatus):
2042         (WebCore::RGBA32Buffer::operator=):
2043         (WebCore::RGBA32Buffer::width):
2044         (WebCore::RGBA32Buffer::height):
2045
2046 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2047
2048         Reviewed by Eric Seidel.
2049
2050         Added Haiku-specific files for WebCore/page/.
2051         https://bugs.webkit.org/show_bug.cgi?id=26949
2052
2053         Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp
2054         and FrameHaiku.cpp
2055
2056         * page/haiku/DragControllerHaiku.cpp: Added.
2057         (WebCore::DragController::isCopyKeyDown):
2058         (WebCore::DragController::dragOperation):
2059         (WebCore::DragController::maxDragImageSize):
2060         (WebCore::DragController::cleanupAfterSystemDrag):
2061         * page/haiku/EventHandlerHaiku.cpp: Added.
2062         (WebCore::isKeyboardOptionTab):
2063         (WebCore::EventHandler::invertSenseOfTabsToLinks):
2064         (WebCore::EventHandler::tabsToAllControls):
2065         (WebCore::EventHandler::focusDocumentView):
2066         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2067         (WebCore::EventHandler::passMouseDownEventToWidget):
2068         (WebCore::EventHandler::eventActivatedView):
2069         (WebCore::EventHandler::passSubframeEventToSubframe):
2070         (WebCore::EventHandler::passWheelEventToWidget):
2071         (WebCore::EventHandler::createDraggingClipboard):
2072         (WebCore::EventHandler::passMousePressEventToSubframe):
2073         (WebCore::EventHandler::passMouseMoveEventToSubframe):
2074         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
2075         (WebCore::EventHandler::accessKeyModifiers):
2076         * page/haiku/FrameHaiku.cpp: Added.
2077         (WebCore::Frame::dragImageForSelection):
2078
2079 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2080
2081         Reviewed by Eric Seidel.
2082
2083         Added Haiku-specific files for WebCore/editing/.
2084         https://bugs.webkit.org/show_bug.cgi?id=26949
2085
2086         Adding one new file, EditorHaiku.cpp
2087
2088         * editing/haiku/EditorHaiku.cpp: Added.
2089         (WebCore::Editor::newGeneralClipboard):
2090
2091 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2092
2093         Reviewed by Eric Seidel.
2094
2095         Added Haiku-specific files for WebCore/bindings/js/.
2096         https://bugs.webkit.org/show_bug.cgi?id=26949
2097
2098         Adding a new file, ScriptControllerHaiku.cpp
2099
2100         * bindings/js/ScriptControllerHaiku.cpp: Added.
2101         (WebCore::ScriptController::createScriptInstanceForWidget):
2102
2103 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2104
2105         Reviewed by Eric Seidel.
2106
2107         Added Haiku-specific files for WebCore/platform/text/.
2108         https://bugs.webkit.org/show_bug.cgi?id=26949
2109
2110         Adding two new files, StringHaiku.cpp
2111         and TextBreakIteratorInternalICUHaiku.cpp
2112
2113         * platform/text/haiku/StringHaiku.cpp: Added.
2114         (WebCore::String::String):
2115         (WebCore::String::operator BString):
2116         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added.
2117         (WebCore::currentTextBreakLocaleID):
2118
2119 2009-07-16  Kent Tamura  <tkent@chromium.org>
2120
2121         Reviewed by Eric Seidel.
2122
2123         Sends the basename of a selected file for non-multipart form submission.
2124         <https://bugs.webkit.org/show_bug.cgi?id=26505>
2125
2126         Test: fast/forms/get-file-upload.html
2127
2128         * html/HTMLInputElement.cpp:
2129         (WebCore::HTMLInputElement::appendFormData):
2130
2131 2009-07-16  Adam Barth  <abarth@webkit.org>
2132
2133         Reviewed by David Levin.
2134
2135         [V8] Centralize hidden property names
2136         https://bugs.webkit.org/show_bug.cgi?id=27359
2137
2138         No behavior change.  Just moving these names to a central location.
2139         I'll move the rest of our hidden property names as I sweep though the
2140         bindings.
2141
2142         * WebCore.gypi:
2143         * bindings/v8/V8HiddenPropertyName.cpp: Added.
2144         (WebCore::V8HiddenPropertyName::objectPrototype):
2145         (WebCore::V8HiddenPropertyName::isolatedWorld):
2146         * bindings/v8/V8HiddenPropertyName.h: Added.
2147         * bindings/v8/V8IsolatedWorld.cpp:
2148         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
2149         (WebCore::V8IsolatedWorld::getEntered):
2150         * bindings/v8/V8Proxy.cpp:
2151         (WebCore::V8Proxy::getHiddenObjectPrototype):
2152         (WebCore::V8Proxy::installHiddenObjectPrototype):
2153
2154 2009-07-16  Dan Bernstein  <mitz@apple.com>
2155
2156         Reviewed by Simon Fraser.
2157
2158         REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image
2159         https://bugs.webkit.org/show_bug.cgi?id=26747
2160         rdar://problem/7009243
2161
2162         Test: fast/repaint/background-misaligned.html
2163
2164         * platform/graphics/Image.cpp:
2165         (WebCore::Image::drawTiled): Moved a variable definition closer to where
2166         it is used.
2167         * platform/graphics/cg/ImageCG.cpp:
2168         (WebCore::BitmapImage::draw): In the subimage code path, compute a
2169         pixel-aligned source rect, because the subiamge is always pixel-aligned
2170         in source space, and adjust the destination rect to preserve the
2171         source -> destination mapping. Clip to the (original) destination rect
2172         to prevent bleeding out.
2173
2174 2009-07-16  Jeremy Orlow  <jorlow@chromium.org>
2175
2176         Reviewed by Adam Barth.
2177
2178         Add a sessionStorageEnabled setting to the settings class.
2179         https://bugs.webkit.org/show_bug.cgi?id=27318
2180
2181         Allow LocalStorage to be enabled without enabling SessionStorage at
2182         runtime.  There is a settings class setting for localStorage, but not
2183         for sessionStorage.  We want to be able to test one of these features
2184         without necessarily enabling the other.
2185
2186         SessionStorage defaults to true so as to not change behavior and
2187         because there really aren't any security concerns around SessionStorage
2188         (unlike LocalsStorage).  The flag is needed in Chromium only because
2189         we want to enable the compile time flag in the default build, but don't
2190         want it on by default until it's been thoroughly tested.
2191
2192         * page/DOMWindow.cpp:
2193         (WebCore::DOMWindow::sessionStorage):  Check the new flag
2194         (WebCore::DOMWindow::localStorage):  A bit of cleanup
2195         * page/Settings.cpp:
2196         (WebCore::Settings::Settings):  Default the flag to true
2197         (WebCore::Settings::setSessionStorageEnabled):  Add the new flag
2198         * page/Settings.h:
2199         (WebCore::Settings::sessionStorageEnabled):  Get the new flag
2200
2201 2009-07-16  Adam Barth  <abarth@webkit.org>
2202
2203         Unreviewed.
2204
2205         Revert 45987.  Tests did not pass on Windows.
2206
2207         * html/HTMLInputElement.cpp:
2208         (WebCore::HTMLInputElement::appendFormData):
2209
2210 2009-07-16  Drew Wilson  <atwilson@google.com>
2211
2212         Reviewed by David Levin.
2213
2214         Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files.
2215         Added missing V8 bindings to the AllInOne file
2216
2217         https://bugs.webkit.org/show_bug.cgi?id=27321
2218
2219         * WebCore.vcproj/WebCore.vcproj:
2220         Added missing files to build.
2221         * bindings/v8/DerivedSourcesAllInOne.cpp:
2222         Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp)
2223         * DerivedSources.cpp
2224         Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp)
2225
2226 2009-07-16  John Abd-El-Malek  <jam@chromium.org>
2227
2228         Reviewed by David Levin.
2229
2230         Add a getter in MessagePortChannel for the PlatformMessagePortChannel.
2231
2232         https://bugs.webkit.org/show_bug.cgi?id=27337
2233
2234         * dom/MessagePortChannel.h:
2235         (WebCore::MessagePortChannel::channel):
2236
2237 2009-07-16  Xiaomei Ji  <xji@chromium.org>
2238
2239         Reviewed by Darin Adler.
2240
2241         Fix tooltip does not get its directionality from its element's directionality.
2242         https://bugs.webkit.org/show_bug.cgi?id=24187
2243
2244         Per mitz's suggestion in comment #6, while getting the plain-text 
2245         title, we also get the directionality of the title. How to handle 
2246         the directionality is up to clients. Clients could ignore it, 
2247         or use attribute or unicode control characters to display the title
2248         as what they want.
2249
2250         WARNING: NO TEST CASES ADDED OR CHANGED
2251
2252         * WebCore.base.exp: Replace 2 names due to signature change.
2253         * loader/EmptyClients.h: 
2254         (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter.
2255         * page/Chrome.cpp:
2256         (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip.
2257         * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip().
2258         * page/chromium/ChromeClientChromium.h:
2259         (WebCore::ChromeClientChromium::setToolTip): Add setToolTip() 
2260         temprarily to make chromium compile after pick up this webkit patch.
2261         * rendering/HitTestResult.cpp:
2262         (WebCore::HitTestResult::spellingToolTip): Besides getting the 
2263         spelling tooltip, get its directionality as well.
2264         (WebCore::HitTestResult::title): Besides getting the title, 
2265         get its directionality as well.
2266         * rendering/HitTestResult.h: Add 2 more methods.
2267
2268 2009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
2269
2270         Reviewed by Oliver Hunt.
2271
2272         [CAIRO] pattern of a canvas-element changes after modifications on canvas-element
2273         https://bugs.webkit.org/show_bug.cgi?id=20578
2274
2275         Copy pixel image in ImageBuffer::image() just like CG and Skia glue.
2276
2277         Test: fast/canvas/canvas-pattern-modify.html
2278
2279         * platform/graphics/cairo/ImageBufferCairo.cpp:
2280         (copySurface):
2281         (WebCore::ImageBuffer::image):
2282
2283 2009-07-16  David Hyatt  <hyatt@apple.com>
2284
2285         Reviewed by Beth Dakin.
2286
2287         https://bugs.webkit.org/show_bug.cgi?id=27353
2288         Images mispositioned because of bug in percentage-based relative positioning.
2289
2290         Added fast/css/nested-floating-relative-position-percentages.html
2291
2292         * rendering/RenderBoxModelObject.cpp:
2293         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
2294
2295 2009-07-16  Kent Tamura  <tkent@chromium.org>
2296
2297         Reviewed by Eric Seidel.
2298
2299         Sends the basename of a selected file for non-multipart form submission.
2300         <https://bugs.webkit.org/show_bug.cgi?id=26505>
2301
2302         Test: fast/forms/get-file-upload.html
2303
2304         * html/HTMLInputElement.cpp:
2305         (WebCore::HTMLInputElement::appendFormData):
2306
2307 2009-07-16  Simon Fraser  <simon.fraser@apple.com>
2308
2309         Reviewed by Darin Adler.
2310
2311         Video size sometimes jumps just after the video starts loading
2312         https://bugs.webkit.org/show_bug.cgi?id=27352
2313
2314         Ensure that the media player is at or after the 'HaveMetadata' state so that
2315         the instrinsic size is known before we create the layer for video. This avoids
2316         a flash caused by computing the video rect using the default intrinsic size, and then
2317         re-computing it when that size changes.
2318         
2319         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2320         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2321         (WebCore::MediaPlayerPrivate::isReadyForRendering):
2322         (WebCore::MediaPlayerPrivate::updateStates):
2323         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
2324
2325 2009-07-16  Brady Eidson  <beidson@apple.com>
2326
2327         Reviewed by Antti Koivisto.
2328         Patch by Brady Eidson and Alexey Proskuryakov.
2329
2330         https://bugs.webkit.org/show_bug.cgi?id=26496
2331         <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation
2332
2333         After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption
2334         from the connection-per-host limit.  Removing that exemption makes the test case load smoothly after reloads.
2335
2336         * loader/loader.cpp:
2337         (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit.
2338
2339 2009-07-16  Adam Barth  <abarth@webkit.org>
2340
2341         Reviewed by Dimitri Glazkov.
2342
2343         [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext
2344         https://bugs.webkit.org/show_bug.cgi?id=27335
2345
2346         evaluateInNewContext makes this delegate call.  evaluateInNewWorld
2347         needs to make the same call.  This does not appear to be testable with
2348         our current technology.
2349
2350         * bindings/v8/V8IsolatedWorld.cpp:
2351         (WebCore::V8IsolatedWorld::evaluate):
2352
2353 2009-07-15  Jakub Wieczorek  <faw217@gmail.com>
2354
2355         Reviewed by Simon Hausmann.
2356
2357         Fix a typo: application/atom=xml -> application/atom+xml.
2358
2359         * dom/ProcessingInstruction.cpp:
2360         (WebCore::ProcessingInstruction::checkStyleSheet):
2361
2362 2009-07-16  Dean McNamee  <deanm@chromium.org>
2363
2364         Reviewed by Oliver Hunt.
2365
2366         https://bugs.webkit.org/show_bug.cgi?id=27292
2367         Improve handling of <canvas> path operations on an empty path.
2368         Implement Skia's Path::hasCurrentPoint().
2369
2370         * html/CanvasRenderingContext2D.cpp:
2371         (WebCore::CanvasRenderingContext2D::lineTo):
2372         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
2373         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
2374         * platform/graphics/skia/PathSkia.cpp:
2375         (WebCore::Path::hasCurrentPoint):
2376
2377 2009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
2378
2379         Reviewed by Eric Seidel.
2380
2381         Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
2382         https://bugs.webkit.org/show_bug.cgi?id=26254
2383
2384         Make it so that setting white-space and word-wrap via CSS
2385         overrides the wrap attribute.
2386
2387         This involves having the shadow div in the textarea inherit
2388         the CSS from its parent instead of hard-coding it in
2389         RenderTextControlMultiline.
2390         
2391         Committer note: Earlier I reverted this change because I did it incorrectly
2392         by leaving out css/html.css. In the patch, the filename was the old name
2393         css/html4.css and that led to my error.
2394
2395         * css/html.css:
2396         * html/HTMLTextAreaElement.cpp:
2397         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2398         * rendering/RenderTextControlMultiLine.cpp:
2399         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2400
2401 2009-07-15  James Hawkins  <jhawkins@google.com>
2402
2403         Reviewed by Adam Barth.
2404
2405         [V8] Remove a local variable that is shadowing a function parameter.
2406         https://bugs.webkit.org/show_bug.cgi?id=27309
2407
2408         No test required as this modification does not change the current behavior.
2409
2410         * bindings/v8/V8DOMWrapper.cpp:
2411         (WebCore::V8DOMWrapper::instantiateV8Object):
2412
2413 2009-07-15  Adam Langley  <agl@google.com>
2414
2415         No review: reverting previous change.
2416
2417         Revert r45959:
2418
2419         2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
2420         Reviewed by Dimitri Glazkov.
2421
2422         Adding the Win SQLite VFS implementation for Chromium.
2423
2424         https://bugs.webkit.org/show_bug.cgi?id=26940
2425
2426
2427         The Chromium side of this patch was landed in 20839, but broke the build. It
2428         was reverted in r20840. Thus, I'm reverting this side of the patch too.
2429
2430         * WebCore.gypi:
2431         * platform/chromium/ChromiumBridge.h:
2432         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
2433         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.
2434
2435 2009-07-15  David Levin  <levin@chromium.org>
2436
2437         Layout test fix, reverting previous change.
2438
2439         Reverting r45962 as it caused several layout test failures.
2440
2441         * html/HTMLTextAreaElement.cpp:
2442         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2443         * rendering/RenderTextControlMultiLine.cpp:
2444         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2445
2446 2009-06-08  Shinichiro Hamaji  <hamaji@chromium.org>
2447
2448         Reviewed by Eric Seidel.
2449
2450         Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
2451         https://bugs.webkit.org/show_bug.cgi?id=26254
2452
2453         Make it so that setting white-space and word-wrap via CSS
2454         overrides the wrap attribute.
2455
2456         This involves having the shadow div in the textarea inherit
2457         the CSS from its parent instead of hard-coding it in
2458         RenderTextControlMultiline.
2459
2460         * css/html4.css:
2461         * html/HTMLTextAreaElement.cpp:
2462         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2463         * rendering/RenderTextControlMultiLine.cpp:
2464         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2465
2466 2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
2467
2468         Reviewed by Dimitri Glazkov.
2469
2470         Adding the Win SQLite VFS implementation for Chromium.
2471
2472         https://bugs.webkit.org/show_bug.cgi?id=26940
2473
2474         * platform/chromium/ChromiumBridge.h:
2475         * platform/sql/chromium: Added.
2476         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
2477         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
2478
2479 2009-07-15  Jian Li  <jianli@chromium.org>
2480
2481         Reviewed by David Levin.
2482
2483         Bug 25151 - workers that fail to load scripts not firing error event.
2484         https://bugs.webkit.org/show_bug.cgi?id=25151
2485
2486         This fixes the problem that an error event is not fired when the worker
2487         script fails to load. Some reasons this may occur are an invalid URL for
2488         the worker script or a cross-origin redirect.
2489
2490         We also moves the code to complete the URL and check its origin from
2491         Worker constructor to WorkerScriptLoader loading functions in order to
2492         move the exception throwing logic out of the scope of Worker constructor.
2493         Due to this change, we also remove the output ExceptionCode parameter
2494         in the worker constructor. Corresponding JS/V8 binding codes have been
2495         updated to reflect this change.
2496
2497         * bindings/js/JSWorkerConstructor.cpp:
2498         (WebCore::constructWorker):
2499         * bindings/v8/custom/V8WorkerCustom.cpp:
2500         (WebCore::CALLBACK_FUNC_DECL):
2501         * workers/Worker.cpp:
2502         (WebCore::Worker::Worker):
2503         (WebCore::Worker::notifyFinished):
2504         * workers/Worker.h:
2505         (WebCore::Worker::create):
2506         * workers/WorkerContext.cpp:
2507         (WebCore::WorkerContext::importScripts):
2508         * workers/WorkerScriptLoader.cpp:
2509         (WebCore::toCrossOriginRedirectPolicy):
2510         (WebCore::WorkerScriptLoader::loadSynchronously):
2511         (WebCore::WorkerScriptLoader::loadAsynchronously):
2512         (WebCore::notifyLoadErrorTask):
2513         (WebCore::WorkerScriptLoader::createResourceRequest):
2514         (WebCore::WorkerScriptLoader::didFail):
2515         (WebCore::WorkerScriptLoader::didFailRedirectCheck):
2516         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
2517         (WebCore::WorkerScriptLoader::notifyError):
2518         * workers/WorkerScriptLoader.h:
2519         (WebCore::):
2520         (WebCore::WorkerScriptLoader::url):
2521
2522 2009-07-15  Dan Bernstein  <mitz@apple.com>
2523
2524         Reviewed by Dave Hyatt.
2525
2526         text-shadow is not drawn for text with transparent colour
2527         https://bugs.webkit.org/show_bug.cgi?id=21374
2528
2529         Test: fast/text/shadow-translucent-fill.html
2530
2531         * rendering/InlineTextBox.cpp:
2532         (WebCore::paintTextWithShadows): If the text fill color is not opaque,
2533         paint all shadows separately from the text, by casting them from
2534         clipped-out opaque text.
2535
2536 2009-07-15  Adam Treat  <adam.treat@torchmobile.com>
2537
2538         Fix the Qt build.
2539
2540         * html/HTMLAreaElement.cpp:
2541
2542 2009-07-15  Jeremy Orlow  <jorlow@chromium.org>
2543
2544         Reviewed by Darin Fisher.
2545
2546         Cleanup DOM Storage dependencies.
2547         https://bugs.webkit.org/show_bug.cgi?id=27180
2548
2549         DOM Storage had several unnecessary (and probably unintended)
2550         dependencies.  This patch replaces many includes of header files with
2551         forward declaration of classes, making some destructors explicit, and
2552         taking some factories out of the header files.
2553
2554         This will allow things like StorageAreaSync to take a StorageAreaImpl*
2555         (as it should) rather than a StorageArea* which previously weren't
2556         possible because the dependencies were such a tangled mess.
2557
2558         * storage/LocalStorageTask.cpp:
2559         (WebCore::LocalStorageTask::~LocalStorageTask):
2560         * storage/LocalStorageTask.h:
2561         * storage/Storage.cpp:
2562         (WebCore::Storage::~Storage):
2563         * storage/Storage.h:
2564         * storage/StorageArea.cpp:
2565         * storage/StorageArea.h:
2566         * storage/StorageAreaImpl.cpp:
2567         * storage/StorageAreaImpl.h:
2568         * storage/StorageAreaSync.cpp:
2569         (WebCore::StorageAreaSync::~StorageAreaSync):
2570         * storage/StorageAreaSync.h:
2571         * storage/StorageEvent.cpp:
2572         (WebCore::StorageEvent::create):
2573         (WebCore::StorageEvent::StorageEvent):
2574         * storage/StorageEvent.h:
2575         * storage/StorageNamespace.h:
2576         * storage/StorageNamespaceImpl.cpp:
2577         * storage/StorageNamespaceImpl.h:
2578         * storage/StorageSyncManager.cpp:
2579         (WebCore::StorageSyncManager::~StorageSyncManager):
2580         * storage/StorageSyncManager.h:
2581
2582 2009-07-15  Chris Marrin  <cmarrin@apple.com>
2583
2584         Reviewed by Simon Fraser.
2585
2586         Incorrect animation when trying to duplicate effect of transform-origin
2587         https://bugs.webkit.org/show_bug.cgi?id=27310
2588
2589         The bug is that matrix animation is being used when animating
2590         a list of transform functions that match in the from and to states.
2591         This sometimes works. But because of the way CA does matrix animation
2592         function lists like the one shown in the testcase animate incorrectly.
2593
2594         This fixes the bug by always doing component animation
2595         as long as the function lists match. This allows CA
2596         to animate the components and then recompose the result
2597         into the correct matrix.
2598
2599         Test: animations/transform-origin-vs-functions.html
2600
2601         * platform/graphics/mac/GraphicsLayerCA.mm:
2602         (WebCore::GraphicsLayerCA::animateTransform):
2603
2604 2009-07-15  Albert J. Wong  <ajwong@chromium.org>
2605
2606         Reviewed by David Levin.
2607
2608         Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.
2609
2610         Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
2611         downstream
2612         https://bugs.webkit.org/show_bug.cgi?id=27274
2613
2614         Changes the build file for chromium.  Test built the chromium tree
2615         to verify.
2616
2617         * WebCore.gypi:
2618
2619 2009-07-15  Mark Rowe  <mrowe@apple.com>
2620
2621         I like it when the code compiles.
2622
2623         * WebCore.base.exp:
2624
2625 2009-07-15  Darin Adler  <darin@apple.com>
2626
2627         Reviewed by Sam Weinig.
2628
2629         Renamed parseURL to deprecatedParseURL.
2630
2631         * bindings/js/JSAttrCustom.cpp:
2632         (WebCore::JSAttr::setValue): Renamed.
2633         * bindings/js/JSElementCustom.cpp:
2634         (WebCore::allowSettingSrcToJavascriptURL): Renamed.
2635         * bindings/js/JSHTMLFrameElementCustom.cpp:
2636         (WebCore::allowSettingJavascriptURL): Renamed.
2637         * bindings/js/JSHTMLIFrameElementCustom.cpp:
2638         (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
2639         * bindings/objc/DOM.mm:
2640         (-[DOMElement _getURLAttribute:]): Renamed.
2641         * bindings/objc/DOMHTML.mm:
2642         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
2643         * bindings/v8/custom/V8CustomBinding.cpp:
2644         (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
2645         * css/CSSHelper.cpp:
2646         (WebCore::deprecatedParseURL): Renamed.
2647         * css/CSSHelper.h: Renamed and updated comment.
2648         * html/HTMLAnchorElement.cpp:
2649         (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
2650         (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
2651         * html/HTMLBaseElement.cpp:
2652         (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
2653         * html/HTMLBodyElement.cpp:
2654         (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
2655         * html/HTMLEmbedElement.cpp:
2656         (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
2657         * html/HTMLFormElement.cpp:
2658         (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
2659         * html/HTMLFrameElementBase.cpp:
2660         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
2661         * html/HTMLImageElement.cpp:
2662         (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
2663         * html/HTMLImageLoader.cpp:
2664         (WebCore::HTMLImageLoader::sourceURI): Renamed.
2665         * html/HTMLLinkElement.cpp:
2666         (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
2667         * html/HTMLObjectElement.cpp:
2668         (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
2669         * html/HTMLTableElement.cpp:
2670         (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
2671         * html/HTMLTablePartElement.cpp:
2672         (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
2673         * html/HTMLTokenizer.cpp:
2674         (WebCore::HTMLTokenizer::parseTag): Renamed.
2675         * html/PreloadScanner.cpp:
2676         (WebCore::PreloadScanner::processAttribute): Renamed.
2677         (WebCore::PreloadScanner::emitCSSRule): Renamed.
2678         * platform/chromium/ClipboardChromium.cpp:
2679         (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
2680         * platform/chromium/PasteboardChromium.cpp:
2681         (WebCore::Pasteboard::writeImage): Renamed.
2682         * platform/qt/ClipboardQt.cpp:
2683         (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
2684         * platform/win/ClipboardWin.cpp:
2685         (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
2686         * rendering/HitTestResult.cpp:
2687         (WebCore::HitTestResult::absoluteImageURL): Renamed.
2688         (WebCore::HitTestResult::absoluteMediaURL): Renamed.
2689         (WebCore::HitTestResult::absoluteLinkURL): Renamed.
2690         * svg/SVGAElement.cpp:
2691         (WebCore::SVGAElement::defaultEventHandler): Renamed.
2692         * svg/SVGImageLoader.cpp:
2693         (WebCore::SVGImageLoader::sourceURI): Renamed.
2694         * wml/WMLAElement.cpp:
2695         (WebCore::WMLAElement::defaultEventHandler): Renamed.
2696         * wml/WMLImageLoader.cpp:
2697         (WebCore::WMLImageLoader::sourceURI): Renamed.
2698
2699 2009-07-15  Darin Adler  <darin@apple.com>
2700
2701         Reviewed by Dan Bernstein.
2702
2703         CSSHelper.h's parseURL is a function that no one should ever call
2704         Part 1: Eliminate callers in the CSS parser.
2705         https://bugs.webkit.org/show_bug.cgi?id=26599
2706
2707         Test: fast/css/uri-token-parsing.html
2708
2709         * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
2710         function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
2711
2712         * css/CSSParser.cpp:
2713         (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
2714         CSSParser::text already takes care of parsing the URI token syntax, and the
2715         parseURL function does no good.
2716         (WebCore::CSSParser::parseContent): Ditto.
2717         (WebCore::CSSParser::parseFillImage): Ditto.
2718         (WebCore::CSSParser::parseFontFaceSrc): Ditto.
2719         (WebCore::CSSParser::parseBorderImage): Ditto.
2720         (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
2721         easier to read.
2722         (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
2723         are both trimmed before removing the quote marks. Changed to use the
2724         isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
2725
2726         * css/CSSParser.h: Removed stray "public:" in this header.
2727
2728         * platform/text/StringImpl.cpp:
2729         (WebCore::StringImpl::substring): Optimized the case where the substring covers
2730         the entire string, so we just share the StringImpl instead of making a new one.
2731         This case came up in earlier versions of the CSS parser changes above.
2732         (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
2733         not call substring any more. Before, this was relying on the substring function
2734         always making a copy of any non-empty substring.
2735
2736 2009-07-15  Darin Adler  <darin@apple.com>
2737
2738         Reviewed by John Sullivan.
2739
2740         After double-clicking a word, using Shift-arrow to select behaves unpredictably
2741         https://bugs.webkit.org/show_bug.cgi?id=27177
2742         rdar://problem/7034324
2743
2744         Test: editing/selection/extend-selection-after-double-click.html
2745
2746         The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
2747         being cleared in many cases where it should have been.
2748
2749         * editing/SelectionController.cpp:
2750         (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
2751         to false. This catches all sorts of cases that don't flow through the modify function.
2752         Before, the flag would reflect the last call to the modify function, which was not
2753         necessarily the last selection change.
2754         (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
2755         Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere. 
2756         (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
2757         setSelection when setting up a trial selection controller, since setSelection now
2758         clears that flag. Also changed both trial selection controller cases to set the flag,
2759         although it's not strictly necessary in both cases. Added code to set
2760         m_lastChangeWasHorizontalExtension when extending the selection, which used to be
2761         handled in willBeModified. Now we need to do it after the selection change.
2762
2763 2009-07-15  Jeremy Orlow  <jorlow@chromium.org>
2764
2765         Reviewed by Dimitri Glazkov.
2766
2767         Need to update DOM Storage files in GYPI file.
2768         https://bugs.webkit.org/show_bug.cgi?id=27317
2769
2770         Need to update DOM Storage files in the GYPI file.  They're pretty out
2771         of date and we're on the path towards enabling them for everyone!
2772
2773         * WebCore.gypi:
2774
2775 2009-07-15  Kwang Yul Seo  <skyul@company100.net>
2776
2777         Reviewed by Eric Seidel.
2778
2779         https://bugs.webkit.org/show_bug.cgi?id=26794
2780         Make Yacc-generated parsers to use fastMalloc/fastFree.
2781         
2782         Define YYMALLOC and YYFREE to fastMalloc and fastFree
2783         respectively.
2784
2785         * css/CSSGrammar.y:
2786         * xml/XPathGrammar.y:
2787
2788 2009-07-15  David Hyatt  <hyatt@apple.com>
2789
2790         Reviewed by Adam Roben.
2791
2792         https://bugs.webkit.org/show_bug.cgi?id=27193
2793         Don't run in to anonymous blocks.  No other browsers do this, and our implementation of run-in
2794         is effectively broken as a result.
2795
2796         No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
2797
2798         * rendering/RenderBlock.cpp:
2799         (WebCore::RenderBlock::handleRunInChild):
2800
2801 2009-07-15  Yuzo Fujishima  <yuzo@google.com>
2802
2803         Reviewed by Darin Adler.
2804
2805         Test: fast/js/instanceof-operator.html
2806
2807         Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
2808         https://bugs.webkit.org/show_bug.cgi?id=25205
2809
2810         In addition to for XMLHttpRequest, this also fixes for:
2811         - Audio
2812         - Image
2813         - MessageChannel
2814         - Option
2815         - WebKitCSSMatrix
2816         - WebKitPoint
2817         - Worker
2818         - XSLTProcessor
2819
2820         * bindings/js/JSAudioConstructor.cpp:
2821         (WebCore::JSAudioConstructor::JSAudioConstructor):
2822         * bindings/js/JSAudioConstructor.h:
2823         * bindings/js/JSDOMBinding.h:
2824         (WebCore::DOMConstructorObject::createStructure):
2825         (WebCore::DOMConstructorObject::DOMConstructorObject):
2826         * bindings/js/JSImageConstructor.cpp:
2827         (WebCore::JSImageConstructor::JSImageConstructor):
2828         * bindings/js/JSImageConstructor.h:
2829         * bindings/js/JSMessageChannelConstructor.cpp:
2830         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
2831         * bindings/js/JSMessageChannelConstructor.h:
2832         * bindings/js/JSOptionConstructor.cpp:
2833         (WebCore::JSOptionConstructor::JSOptionConstructor):
2834         * bindings/js/JSOptionConstructor.h:
2835         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
2836         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
2837         * bindings/js/JSWebKitCSSMatrixConstructor.h:
2838         * bindings/js/JSWebKitPointConstructor.cpp:
2839         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
2840         * bindings/js/JSWebKitPointConstructor.h:
2841         * bindings/js/JSWorkerConstructor.cpp:
2842         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
2843         * bindings/js/JSWorkerConstructor.h:
2844         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2845         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
2846         * bindings/js/JSXMLHttpRequestConstructor.h:
2847         * bindings/js/JSXSLTProcessorConstructor.cpp:
2848         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
2849         * bindings/js/JSXSLTProcessorConstructor.h:
2850
2851 2009-07-15  Kai Br�ning  <kai@granus.net>
2852
2853         Reviewed by Dave Hyatt.
2854
2855         CSS21 attribute selectors not dynamic for xml.
2856         https://bugs.webkit.org/show_bug.cgi?id=25072
2857
2858         Moved the relevant test in StyledElement::attributeChanged()
2859         to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
2860         so it can be called from both StyledElement::attributeChanged()
2861         and Element::attributeChanged().
2862         Refactored Element::attributeChanged() into
2863         Element::updateAfterAttributeChanged() and
2864         Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
2865         separately from StyledElement::attributeChanged().
2866
2867         Test: fast/css/attribute-selector-dynamic.xml
2868
2869         * dom/Element.cpp:
2870         (WebCore::Element::attributeChanged):
2871         (WebCore::Element::updateAfterAttributeChanged):
2872         (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
2873         * dom/Element.h:
2874         * dom/StyledElement.cpp:
2875         (WebCore::StyledElement::attributeChanged):
2876
2877 2009-07-15  Alpha Lam  <hclam@chromium.org>
2878
2879         Reviewed by David Levin.
2880
2881         [V8] Layout test failures for drawImage in Canvas
2882         https://bugs.webkit.org/show_bug.cgi?id=27311
2883
2884         Fixing several canvas layout tests failures due to a
2885         missing return statement in CanvasRenderingContext2DDrawImage() which
2886         was accidentally removed in r45929.
2887
2888         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2889
2890 2009-07-15  Robert Hogan  <robert@roberthogan.net>
2891
2892         Reviewed by Eric Seidel.
2893
2894         https://bugs.webkit.org/show_bug.cgi?id=26969
2895
2896         If the httpMethod() of the request passed to SubresourceLoader::create is not
2897         supported by the client we must expect to call didFail() while m_loader is still null.
2898
2899         * loader/DocumentThreadableLoader.cpp:
2900         (DocumentThreadableLoader::didFail):Changed.
2901
2902 2009-07-15  Mark Rowe  <mrowe@apple.com>
2903
2904         Fix the Mac build.
2905
2906         * WebCore.base.exp:
2907         * css/MediaQueryEvaluator.cpp:
2908         * rendering/SVGRenderTreeAsText.cpp:
2909         * rendering/style/SVGRenderStyle.cpp:
2910         * svg/graphics/SVGPaintServer.cpp:
2911
2912 2009-07-07  Alpha Lam  <hclam@chromium.org>
2913
2914         Reviewed by Dimitri Glazkov.
2915
2916         [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
2917         https://bugs.webkit.org/show_bug.cgi?id=27170
2918
2919         Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
2920         as a parameter of drawImage() for HTMLCanvasElement.
2921
2922         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2923
2924 2009-07-15  Adam Barth  <abarth@webkit.org>
2925
2926         Reviewed by Dimitri Glazkov.
2927
2928         [V8] Fix isolated world constructors
2929         https://bugs.webkit.org/show_bug.cgi?id=27287
2930
2931         Don't enter V8Proxy::m_context before creating DOM constructors.
2932         Instead, use getWrapperContext to get the right context.
2933
2934         After this patch, all my tests pass.  I'll enable the feature
2935         downstream and land the tests.
2936
2937         * bindings/scripts/CodeGeneratorV8.pm:
2938         * bindings/v8/V8DOMWrapper.cpp:
2939         (WebCore::V8DOMWrapper::getConstructor):
2940         (WebCore::V8DOMWrapper::lookupDOMWrapper):
2941         * bindings/v8/V8DOMWrapper.h:
2942         * bindings/v8/V8IsolatedWorld.cpp:
2943         (WebCore::V8IsolatedWorld::evaluate):
2944         * bindings/v8/V8Proxy.cpp:
2945         (WebCore::V8Proxy::createWrapperFromCache):
2946         (WebCore::V8Proxy::isContextInitialized):
2947         (WebCore::V8Proxy::disposeContextHandles):
2948         (WebCore::V8Proxy::installDOMWindow):
2949         (WebCore::V8Proxy::initContextIfNeeded):
2950         (WebCore::V8Proxy::getHiddenObjectPrototype):
2951         (WebCore::V8Proxy::installHiddenObjectPrototype):
2952         * bindings/v8/V8Proxy.h:
2953
2954 2009-07-15  Antonio Gomes   <antonio.gomes@openbossa.org>
2955
2956         Reviewed by Darin Adler.
2957
2958         useless null-check statement in visible_units.cpp@logicalStartOfLine
2959         https://bugs.webkit.org/show_bug.cgi?id=27154
2960
2961         Simple fix.
2962
2963         * editing/visible_units.cpp:
2964         (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
2965
2966 2009-07-15  Brady Eidson  <beidson@apple.com>
2967
2968         Reviewed by Dan Bernstein.
2969
2970         https://bugs.webkit.org/show_bug.cgi?id=27304
2971         WebKit should provide usage and eligibility information about the page cache.
2972
2973         * WebCore.base.exp:
2974
2975         * history/CachedFrame.cpp:
2976         (WebCore::CachedFrame::childFrameCount):
2977         * history/CachedFrame.h:
2978
2979         * history/PageCache.cpp:
2980         (WebCore::PageCache::frameCount):
2981         (WebCore::PageCache::autoreleasedPageCount):
2982         * history/PageCache.h:
2983         (WebCore::PageCache::pageCount):
2984
2985 2009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
2986
2987         Reviewed by David Levin.
2988
2989         Chromium's canvas forgets its context after fillText again
2990         https://bugs.webkit.org/show_bug.cgi?id=27293
2991
2992         No new tests because the test for this was already added in
2993         https://bugs.webkit.org/show_bug.cgi?id=26436
2994
2995         * platform/graphics/chromium/TransparencyWin.cpp:
2996         (WebCore::TransparencyWin::compositeTextComposite):
2997
2998 2009-07-14  David Hyatt  <hyatt@apple.com>
2999
3000         Reviewed by Simon Fraser.
3001
3002         https://bugs.webkit.org/show_bug.cgi?id=27283
3003
3004         Implement the new 'rem' unit from CSS3.
3005
3006         Added some rem-* tests in fast/css.
3007
3008         * css/CSSGrammar.y:
3009         * css/CSSParser.cpp:
3010         (WebCore::CSSParser::validUnit):
3011         (WebCore::unitFromString):
3012         (WebCore::CSSParser::parseValue):
3013         (WebCore::CSSParser::lex):
3014         * css/CSSParserValues.cpp:
3015         (WebCore::CSSParserValue::createCSSValue):
3016         * css/CSSPrimitiveValue.cpp:
3017         (WebCore::CSSPrimitiveValue::computeLengthInt):
3018         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
3019         (WebCore::CSSPrimitiveValue::computeLengthShort):
3020         (WebCore::CSSPrimitiveValue::computeLengthFloat):
3021         (WebCore::CSSPrimitiveValue::computeLengthDouble):
3022         (WebCore::CSSPrimitiveValue::cssText):
3023         (WebCore::CSSPrimitiveValue::parserValue):
3024         * css/CSSPrimitiveValue.h:
3025         (WebCore::CSSPrimitiveValue::):
3026         (WebCore::CSSPrimitiveValue::isUnitTypeLength):
3027         * css/CSSStyleSelector.cpp:
3028         (WebCore::CSSStyleSelector::initForStyleResolve):
3029         (WebCore::convertToLength):
3030         (WebCore::CSSStyleSelector::applyProperty):
3031         (WebCore::CSSStyleSelector::mapFillSize):
3032         (WebCore::CSSStyleSelector::mapFillXPosition):
3033         (WebCore::CSSStyleSelector::mapFillYPosition):
3034         (WebCore::CSSStyleSelector::createTransformOperations):
3035         * css/CSSStyleSelector.h:
3036         * css/MediaQueryEvaluator.cpp:
3037         (WebCore::device_heightMediaFeatureEval):
3038         (WebCore::device_widthMediaFeatureEval):
3039         (WebCore::heightMediaFeatureEval):
3040         (WebCore::widthMediaFeatureEval):
3041         * css/WebKitCSSMatrix.cpp:
3042         (WebCore::WebKitCSSMatrix::setMatrixValue):
3043         * css/tokenizer.flex:
3044         * dom/Document.cpp:
3045         (WebCore::Document::Document):
3046         * dom/Document.h:
3047         (WebCore::Document::usesRemUnits):
3048         (WebCore::Document::setUsesRemUnits):
3049         * dom/Element.cpp:
3050         (WebCore::Element::recalcStyle):
3051         * rendering/SVGRenderTreeAsText.cpp:
3052         (WebCore::writeStyle):
3053         * rendering/style/SVGRenderStyle.cpp:
3054         (WebCore::SVGRenderStyle::cssPrimitiveToLength):
3055         * svg/graphics/SVGPaintServer.cpp:
3056         (WebCore::applyStrokeStyleToContext):
3057         (WebCore::dashArrayFromRenderingStyle):
3058         * svg/graphics/SVGPaintServer.h:
3059
3060 2009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
3061
3062         Unreviewed, build fix.
3063
3064         Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
3065
3066         * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
3067
3068 2009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
3069
3070         Reviewed by Darin Fisher.
3071
3072         [V8] Update bindings for ValiditeState patch.
3073         https://bugs.webkit.org/show_bug.cgi?id=19562
3074
3075         * bindings/v8/DOMObjectsInclude.h:
3076         * bindings/v8/DerivedSourcesAllInOne.cpp:
3077         * bindings/v8/V8Index.cpp:
3078         * bindings/v8/V8Index.h:
3079
3080 2009-07-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3081
3082         Reviewed by Simon Hausmann.
3083
3084         [Qt] Cleanup - Remove obsolete code from the make system
3085         https://bugs.webkit.org/show_bug.cgi?id=27299
3086
3087         * WebCore.pro:
3088
3089 2009-07-15  Simon Hausmann  <simon.hausmann@nokia.com>
3090
3091         Reviewed by Ariya Hidayat.
3092
3093         Fix the build without media elements.
3094
3095         * rendering/HitTestResult.cpp:
3096         (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
3097         markers around the body of the method.
3098
3099 2009-07-14  Pavel Feldman  <pfeldman@chromium.org>
3100
3101         Reviewed by Timothy Hatcher.
3102
3103         WebInspector: Move storeLastActivePanel out of the
3104         ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
3105         Add default panel for the first opening of the
3106         WebInspector.
3107
3108         https://bugs.webkit.org/show_bug.cgi?id=27263
3109
3110         * inspector/InspectorController.cpp:
3111         (InspectorController::setWindowVisible):
3112         * inspector/InspectorController.idl:
3113
3114 2009-07-14  Darin Adler  <darin@apple.com>
3115
3116         Try to fix Windows build.
3117
3118         * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
3119
3120 2009-07-14  Pierre d'Herbemont  <pdherbemont@apple.com>
3121
3122         Reviewed by Oliver Hunt.
3123
3124         HTMLMediaElement::supportsFullscreen() should return false
3125         https://bugs.webkit.org/show_bug.cgi?id=27284
3126
3127         (Reverting a part of 45875)
3128
3129         HTMLVideoElement::supportsFullscreen() will properly do the
3130         job, and check if the backend supports fullscreen.
3131
3132         HTMLVideoElement is the only subclass to support fullscreen
3133         (conditionnaly). HTMLAudioElement fullscreen is not supported
3134         and is a different kind of fullscreen, if it comes to be wanted.
3135
3136         No test can be done currently given that none of the media
3137         backends support fullscreen.
3138
3139         * html/HTMLMediaElement.cpp:
3140         * html/HTMLMediaElement.h:
3141         (WebCore::HTMLMediaElement::supportsFullscreen):
3142
3143 2009-07-14  Darin Adler  <darin@apple.com>
3144
3145         Reviewed by Dimitri Glazkov.
3146
3147         Next step in making DOM attribute getter/setters consistently use AtomicString
3148         https://bugs.webkit.org/show_bug.cgi?id=25425
3149
3150         This covers eight DOM classes, and for each one of the classes:
3151
3152         - Changes the IDL to use the Reflect syntax for all simple cases.
3153         - Removes unused functions in the classes, mainly newly unused ones that were
3154           used for reflection before.
3155         - Removes unneeded explicitly defined destructors.
3156         - Explicitly declares destructors as virtual.
3157         - Removes unneeded includes.
3158         - Makes members protected or private rather than public where possible.
3159         - Renames "doc" to "document".
3160         - Tweaks formatting to match our latest style in a few places.
3161         - Improves some FIXME comments.
3162
3163         Over time we'll want to do this for all HTML DOM classes.
3164
3165         * html/HTMLAnchorElement.cpp:
3166         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
3167         * html/HTMLAnchorElement.h:
3168         (WebCore::HTMLAnchorElement::endTagRequirement):
3169         (WebCore::HTMLAnchorElement::tagPriority):
3170         * html/HTMLAnchorElement.idl:
3171         * html/HTMLAppletElement.cpp:
3172         * html/HTMLAppletElement.h:
3173         * html/HTMLAppletElement.idl:
3174         * html/HTMLAreaElement.cpp:
3175         (WebCore::HTMLAreaElement::parseMappedAttribute):
3176         * html/HTMLAreaElement.h:
3177         (WebCore::HTMLAreaElement::endTagRequirement):
3178         (WebCore::HTMLAreaElement::tagPriority):
3179         * html/HTMLAreaElement.idl:
3180         * html/HTMLBRElement.cpp:
3181         (WebCore::HTMLBRElement::parseMappedAttribute):
3182         * html/HTMLBRElement.h:
3183         * html/HTMLBRElement.idl:
3184         * html/HTMLBaseElement.cpp:
3185         (WebCore::HTMLBaseElement::HTMLBaseElement):
3186         (WebCore::HTMLBaseElement::removedFromDocument):
3187         (WebCore::HTMLBaseElement::process):
3188         * html/HTMLBaseElement.h:
3189         * html/HTMLBaseElement.idl:
3190         * html/HTMLBaseFontElement.cpp:
3191         (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
3192         * html/HTMLBaseFontElement.h:
3193         (WebCore::HTMLBaseFontElement::endTagRequirement):
3194         (WebCore::HTMLBaseFontElement::tagPriority):
3195         * html/HTMLBaseFontElement.idl:
3196         * html/HTMLBlockquoteElement.cpp:
3197         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
3198         * html/HTMLBlockquoteElement.h:
3199         (WebCore::HTMLBlockquoteElement::tagPriority):
3200         * html/HTMLBlockquoteElement.idl:
3201         * html/HTMLBodyElement.cpp:
3202         (WebCore::HTMLBodyElement::HTMLBodyElement):
3203         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
3204         * html/HTMLBodyElement.h:
3205         (WebCore::HTMLBodyElement::endTagRequirement):
3206         (WebCore::HTMLBodyElement::tagPriority):
3207         * html/HTMLBodyElement.idl:
3208         Made changes as described above.
3209
3210         * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
3211
3212 2009-07-14  Steve Falkenburg  <sfalken@apple.com>
3213
3214         Reorganize JavaScriptCore headers into:
3215         API: include/JavaScriptCore/
3216         Private: include/private/JavaScriptCore/
3217
3218         Reviewed by Darin Adler.
3219
3220         * WebCore.vcproj/QTMovieWin.vcproj:
3221         * WebCore.vcproj/WebCoreCommon.vsprops:
3222         * WebCore.vcproj/build-generated-files.sh:
3223
3224 2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
3225
3226         Reviewed by Darin Adler.
3227
3228         Change all Noncopyable inheriting visibility to public.
3229         https://bugs.webkit.org/show_bug.cgi?id=27225
3230
3231         Change all Noncopyable inheriting visibility to public because
3232         it is needed to the custom allocation framework (bug #20422).
3233
3234         * bindings/js/GCController.h:
3235         * bindings/js/WorkerScriptController.h:
3236         * bindings/v8/V8DOMMap.cpp:
3237         (WebCore::):
3238         * bridge/runtime.h:
3239         * css/CSSSelector.h:
3240         * css/CSSSelectorList.h:
3241         * css/CSSStyleSelector.h:
3242         * dom/ClassNames.h:
3243         * dom/MessagePortChannel.h:
3244         * dom/XMLTokenizerLibxml2.cpp:
3245         * dom/XMLTokenizerScope.h:
3246         * editing/ReplaceSelectionCommand.cpp:
3247         * editing/SelectionController.h:
3248         * editing/TextIterator.cpp:
3249         * history/PageCache.h:
3250         * html/CanvasRenderingContext2D.h:
3251         * html/HTMLParser.h:
3252         * html/HTMLParserQuirks.h:
3253         * html/PreloadScanner.h:
3254         * loader/Cache.h:
3255         * loader/CrossOriginPreflightResultCache.h:
3256         * loader/FrameLoader.h:
3257         * loader/ProgressTracker.h:
3258         * loader/ThreadableLoader.h:
3259         * loader/appcache/ApplicationCacheGroup.h:
3260         * loader/archive/ArchiveResourceCollection.h:
3261         * loader/icon/IconDatabase.h:
3262         * loader/icon/IconLoader.h:
3263         * loader/icon/PageURLRecord.h:
3264         * loader/loader.h:
3265         * page/ContextMenuController.h:
3266         * page/EventHandler.h:
3267         * page/FrameTree.h:
3268         * page/Page.h:
3269         * page/PageGroup.h:
3270         * page/PageGroupLoadDeferrer.h:
3271         * page/mac/EventHandlerMac.mm:
3272         * platform/AutodrainedPool.h:
3273         * platform/ContextMenu.h:
3274         * platform/EventLoop.h:
3275         * platform/HostWindow.h:
3276         * platform/Pasteboard.h:
3277         * platform/PurgeableBuffer.h:
3278         * platform/RunLoopTimer.h:
3279         * platform/ThreadGlobalData.h:
3280         * platform/ThreadTimers.h:
3281         * platform/Timer.h:
3282         * platform/TreeShared.h:
3283         * platform/graphics/FontData.h:
3284         * platform/graphics/GlyphWidthMap.h:
3285         * platform/graphics/GraphicsContext.h:
3286         * platform/graphics/ImageBuffer.h:
3287         * platform/graphics/ImageSource.h:
3288         * platform/graphics/MediaPlayer.h:
3289         * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
3290         * platform/graphics/skia/PlatformContextSkia.h:
3291         * platform/graphics/win/QTMovieWin.cpp:
3292         * platform/mac/LocalCurrentGraphicsContext.h:
3293         * platform/network/FormDataBuilder.h:
3294         * platform/network/ResourceHandleInternal.h:
3295         * platform/network/soup/ResourceHandleSoup.cpp:
3296         * platform/text/StringBuffer.h:
3297         * platform/text/TextCodec.h:
3298         * platform/win/WindowMessageBroadcaster.h:
3299         * rendering/CounterNode.h:
3300         * rendering/LayoutState.h:
3301         * rendering/RenderFrameSet.h:
3302         * rendering/RenderView.h:
3303         * rendering/TransformState.h:
3304         * svg/SVGAnimatedProperty.h:
3305         * svg/SynchronizableTypeWrapper.h:
3306         * workers/WorkerMessagingProxy.h:
3307         * workers/WorkerRunLoop.cpp:
3308         * xml/XPathExpressionNode.h:
3309         * xml/XPathParser.h:
3310         * xml/XPathPredicate.h:
3311         * xml/XPathStep.h:
3312
3313 2009-07-14  Darin Fisher  <darin@chromium.org>
3314
3315         Reviewed by Darin Adler.
3316
3317         Fails to save document state when navigating away from a page with a
3318         reference fragment.
3319         https://bugs.webkit.org/show_bug.cgi?id=27281
3320
3321         Test: fast/history/saves-state-after-fragment-nav.html
3322
3323         * history/HistoryItem.cpp:
3324         (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
3325         to compare URLs.
3326
3327 2009-07-14  Joseph Pecoraro  <joepeck02@gmail.com>
3328
3329         Reviewed by Sam Weinig.
3330
3331         Inspector: Remove Unintended Global Variables
3332         https://bugs.webkit.org/show_bug.cgi?id=27203
3333
3334         * inspector/front-end/Console.js:
3335         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
3336         * inspector/front-end/DatabasesPanel.js:
3337         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
3338         * inspector/front-end/ObjectPropertiesSection.js:
3339         (WebInspector.ObjectPropertyTreeElement.prototype.update):
3340         * inspector/front-end/inspector.js:
3341         (WebInspector.animateStyle):
3342
3343 2009-07-14  Michelangelo De Simone  <micdesim@gmail.com>
3344
3345         Reviewed by Adele Peterson.
3346
3347         https://bugs.webkit.org/show_bug.cgi?id=19562
3348         Added build stuff and stub for the ValidityState class, part of HTML5
3349         section Forms:
3350         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
3351
3352         Test: fast/forms/ValidityState-001.html
3353
3354         * DerivedSources.cpp: Inclusion of ValidityState files
3355         * DerivedSources.make: ditto
3356         * GNUmakefile.am: ditto
3357         * WebCore.gypi: ditto
3358         * WebCore.pro: ditto
3359         * WebCore.vcproj/WebCore.vcproj: ditto
3360         * WebCore.xcodeproj/project.pbxproj: ditto
3361         * WebCoreSources.bkl: ditto
3362         * html/HTMLButtonElement.idl: validity attribute
3363         * html/HTMLFieldSetElement.idl: ditto
3364         * html/HTMLFormControlElement.cpp:
3365         (WebCore::HTMLFormControlElement::validity): ValidityState getter
3366         * html/HTMLFormControlElement.h: ditto
3367         * html/HTMLInputElement.idl: validity attribute
3368         * html/HTMLSelectElement.idl: ditto
3369         * html/HTMLTextAreaElement.idl: ditto
3370         * html/ValidityState.cpp: Added.
3371         (WebCore::ValidityState::ValidityState):
3372         (WebCore::ValidityState::valid): validation flag
3373         * html/ValidityState.h: Added.
3374         (WebCore::ValidityState::create): validation flag
3375         (WebCore::ValidityState::control): ditto
3376         (WebCore::ValidityState::valueMissing): ditto
3377         (WebCore::ValidityState::typeMismatch): ditto
3378         (WebCore::ValidityState::patternMismatch): ditto
3379         (WebCore::ValidityState::tooLong): ditto
3380         (WebCore::ValidityState::rangeUnderflow): ditto
3381         (WebCore::ValidityState::rangeOverflow): ditto
3382         (WebCore::ValidityState::stepMismatch): ditto
3383         (WebCore::ValidityState::customError): ditto
3384         * html/ValidityState.idl: Added.
3385
3386 2009-07-14  Ryosuke Niwa  <rniwa@google.com>
3387
3388         Reviewed by Eric Seidel.
3389
3390         Outdenting a line inside a blockquote tag does nothing
3391         https://bugs.webkit.org/show_bug.cgi?id=25316
3392
3393         The bug was caused by the code checking whether the blockquote is created by WebKit or not.
3394         We simply remove this code to be consistent with Firefox and Internet Explorer.
3395         Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
3396         the placeholder before the enclosingNode because there could be contents before the current paragraph.
3397         Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
3398         It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
3399
3400         Test: editing/execCommand/outdent-regular-blockquote.html
3401
3402         * editing/IndentOutdentCommand.cpp:
3403         (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
3404         (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
3405
3406 2009-07-14  Adam Barth  <abarth@webkit.org>
3407
3408         Reviewed by Dimitri Glazkov.
3409
3410         [V8] Fix isolated world wrappers for Node prototypes
3411         https://bugs.webkit.org/show_bug.cgi?id=27277
3412
3413         This change does two things:
3414
3415         1) We bypass the wrapper cache in the isolated world.  This is because
3416            the wrapper template cache has prototypes that lead to the main
3417            world.  We can add a template cache for the isolated world if
3418            performance warrants.
3419
3420         2) We introduce a smarter way to grab the wrapper context for a frame
3421            that is aware that proxy <-> context do not stand in one-to-one
3422            correspondence.  This generalizes our solution for the node wrapper
3423            case to prototypes.
3424
3425         The net result is that Node wrappers get the right prototypes.  As
3426         before, tests to follow.
3427
3428         * bindings/v8/V8DOMWrapper.cpp:
3429         (WebCore::V8DOMWrapper::setHiddenWindowReference):
3430         (WebCore::V8DOMWrapper::instantiateV8Object):
3431         (WebCore::V8DOMWrapper::convertNodeToV8Object):
3432         (WebCore::V8DOMWrapper::convertWindowToV8Object):
3433         (WebCore::V8DOMWrapper::getWrapperContext):
3434         * bindings/v8/V8DOMWrapper.h:
3435
3436 2009-07-14  Adam Barth  <abarth@webkit.org>
3437
3438         Reviewed by Dimitri Glazkov.
3439
3440         [V8] Fix isolated world wrappers for Nodes
3441         https://bugs.webkit.org/show_bug.cgi?id=27271
3442
3443         Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
3444         caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
3445
3446         I have tests, but I can't land them until I get this feature under
3447         control.
3448
3449         * bindings/v8/V8DOMWrapper.cpp:
3450         (WebCore::V8DOMWrapper::convertNodeToV8Object):
3451         * bindings/v8/V8Proxy.h:
3452         (WebCore::V8Proxy::V8Proxy):
3453
3454 2009-07-14  Adam Barth  <abarth@webkit.org>
3455
3456         Reviewed by Dimitri Glazkov.
3457
3458         [V8] Fix isolated world crash on getting window.location
3459         https://bugs.webkit.org/show_bug.cgi?id=27268
3460
3461         I have a test for this locally, but it requires a compile-time hack to
3462         run.  Once I get the feature's stability under control, we can turn the
3463         feature on and add the tests.
3464
3465         * bindings/v8/V8DOMWrapper.cpp:
3466         (WebCore::V8DOMWrapper::setHiddenWindowReference):
3467         * bindings/v8/V8IsolatedWorld.h:
3468         (WebCore::V8IsolatedWorld::context):
3469
3470 2009-07-14  Brent Fulgham  <bfulgham@webkit.org>
3471
3472         Correct failing tests after r45875.  The original patch did not
3473         test the m_player member for null, causing crashes.  This will
3474         happen fairly frequently in real use.  Was this original patch
3475         ever tested?
3476         https://bugs.webkit.org/show_bug.cgi?id=27246
3477
3478         Test via existing media tests.
3479
3480         * html/HTMLMediaElement.cpp:
3481         (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
3482         (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
3483
3484 2009-07-14  Avi Drissman  <avi@chromium.org>
3485
3486         Reviewed by Darin Fisher.
3487
3488         Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
3489         The Windows clipboard format is explicitly documented as being UTF-8,
3490         and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
3491         indicated, Windows-1252 is assumed, which is wrong.
3492
3493         Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
3494
3495         No new tests.
3496
3497         * platform/chromium/ClipboardChromium.cpp:
3498         (WebCore::ClipboardChromium::writeRange):
3499         * platform/chromium/PasteboardChromium.cpp:
3500         (WebCore::Pasteboard::writeSelection):
3501
3502 2009-07-14  Albert J. Wong  <ajwong@chromium.org>
3503
3504         Reviewed by Dimitri Glazkov.
3505
3506         Upstream V8NPObject.h and V8NPObject.cpp.
3507         https://bugs.webkit.org/show_bug.cgi?id=27103
3508
3509         This just upstreams the files from the chromium code base. Only
3510         minor changes to formatting and similar were done, so no testing
3511         is required because nothing really changed.  Code verified to compile.
3512
3513         * bindings/v8/ScriptController.cpp:
3514         (WebCore::ScriptController::bindToWindowObject):
3515         (WebCore::ScriptController::createScriptInstanceForWidget):
3516         * bindings/v8/V8NPObject.cpp: Added.
3517         (npObjectInvokeImpl):
3518         (npObjectMethodHandler):
3519         (npObjectInvokeDefaultHandler):
3520         (weakTemplateCallback):
3521         (npObjectGetProperty):
3522         (npObjectNamedPropertyGetter):
3523         (npObjectIndexedPropertyGetter):
3524         (npObjectGetNamedProperty):
3525         (npObjectGetIndexedProperty):
3526         (npObjectSetProperty):
3527         (npObjectNamedPropertySetter):
3528         (npObjectIndexedPropertySetter):
3529         (npObjectSetNamedProperty):
3530         (npObjectSetIndexedProperty):
3531         (weakNPObjectCallback):
3532         (createV8ObjectForNPObject):
3533         (forgetV8ObjectForNPObject):
3534         * bindings/v8/V8NPObject.h: Added.
3535         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3536         (WebCore::NAMED_PROPERTY_GETTER):
3537         (WebCore::NAMED_PROPERTY_SETTER):
3538         (WebCore::CALLBACK_FUNC_DECL):
3539         (WebCore::INDEXED_PROPERTY_GETTER):
3540         (WebCore::INDEXED_PROPERTY_SETTER):
3541
3542
3543 2009-07-14  Albert J. Wong  <ajwong@chromium.org>
3544
3545         Reviewed by Darin Adler.
3546
3547         Add HTMLMediaElement::supportSave() and a
3548         HitTestResult::absoluteMediaURL() functions
3549         https://bugs.webkit.org/show_bug.cgi?id=27246
3550
3551         Added an implementation of supportsSave() into HTMLMediaElement
3552         that delegates to MediaPlayerPrivateImpl so that the media engine
3553         is able to signal whether or not a media source supports saving.
3554
3555         Also added a function to HitTestResult that allows for retrieval
3556         of the currentSrc associated with the "hit" media element. 
3557         
3558         These functions are just pipeing with no visible UI change so there
3559         are no related layout test changes.
3560
3561         * html/HTMLMediaElement.cpp:
3562         (WebCore::HTMLMediaElement::supportsFullscreen): 
3563         (WebCore::HTMLMediaElement::supportsSave):
3564         * html/HTMLMediaElement.h:
3565         * platform/graphics/MediaPlayer.cpp:
3566         (WebCore::MediaPlayer::supportsSave):
3567         * platform/graphics/MediaPlayer.h:
3568         * platform/graphics/MediaPlayerPrivate.h:
3569         (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
3570         (WebCore::MediaPlayerPrivateInterface::supportsSave):
3571         * rendering/HitTestResult.cpp:
3572         (WebCore::HitTestResult::altDisplayString):
3573         (WebCore::HitTestResult::absoluteMediaURL):
3574         * rendering/HitTestResult.h:
3575
3576 2009-07-14  Dimitri Glazkov  <dglazkov@chromium.org>
3577
3578         Reviewed by Adam Barth.
3579
3580         [V8] Implement Reflect and ReflectURL attribute support.
3581         https://bugs.webkit.org/show_bug.cgi?id=27273
3582
3583         * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
3584
3585 2009-07-14  Dmitry Titov  <dimich@chromium.org>
3586
3587         Reviewed by Darin Adler.
3588
3589         https://bugs.webkit.org/show_bug.cgi?id=27266
3590         Add hasCurrentPoint() to WebCore::Path.
3591         This fixes Skia-based Chromium regression caused by the fix for
3592         https://bugs.webkit.org/show_bug.cgi?id=27187.
3593         For Skia, the new method always returns 'true', pending actual implementation.
3594         This means Chromium still will differ from Gecko behavior, but at least its Canvas
3595         will not be completely broken.
3596
3597         Existing Canvas Layout Tests should pass in Chromium after this change.
3598
3599         * html/CanvasRenderingContext2D.cpp:
3600         (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
3601         (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
3602         (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
3603
3604         * platform/graphics/Path.h:
3605         * platform/graphics/cairo/PathCairo.cpp:
3606         (WebCore::Path::hasCurrentPoint):
3607         * platform/graphics/cg/PathCG.cpp: