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