De-inline convertNodeToV8Object(), which expands to a lot of asm code and is inlined 136
[WebKit-https.git] / WebCore / ChangeLog
1 2009-11-11  Jens Alfke  <snej@chromium.org>
2
3         Reviewed by Dimitri Glazkov.
4
5         De-inline convertNodeToV8Object(), which expands to a lot of asm code and is inlined 136
6         times in the generated V8 bindings.
7         https://bugs.webkit.org/show_bug.cgi?id=31368
8
9         * bindings/v8/V8DOMWrapper.cpp:
10         (WebCore::V8DOMWrapper::convertNodeToV8Object):  Moved body here from .h file
11         * bindings/v8/V8DOMWrapper.h:  Removed inline method body.
12
13 2009-11-11  Jessie Berlin  <jberlin@webkit.org>
14
15         Reviewed by Timothy Hatcher.
16
17         Display the correct summary in the web inspector for the shorthands
18         border-color, border-width, border-style, margin, and padding.
19         https://bugs.webkit.org/show_bug.cgi?id=7987
20
21         Test: fast/css/shorthands-four-values.html
22
23         * css/CSSMutableStyleDeclaration.cpp:
24         (WebCore::CSSMutableStyleDeclaration::get4Values):
25         Display the summary information in the same way the shorthand would be
26         specified in a css rule.
27
28 2009-11-11  Jens Alfke  <snej@chromium.org>
29
30         Reviewed by Dimitri Glazkov.
31
32         Make V8 bindings return NULL handles instead of calling v8::Undefined(). This has equivalent
33         meaning to the caller, saves code, and appears to save a few cycles at runtime too.
34         https://bugs.webkit.org/show_bug.cgi?id=31367
35
36         * bindings/scripts/CodeGeneratorV8.pm: Change "v8::Undefined()" to "v8::Handle<v8::Value>()"
37
38 2009-11-11  Jens Alfke  <snej@chromium.org>
39
40         Reviewed by Dimitri Glazkov.
41
42         Optimize V8 getDOMNodeMap(), a hot function in Dromaeo DOM tests, by increasing inlining.
43
44         * bindings/v8/DOMData.cpp:
45         (WebCore::DOMData::getCurrent):  Moved getCurrentMainThread to MainThreadDOMData::getCurrent
46             so it can be inlined by its caller.
47         * bindings/v8/DOMData.h:
48         * bindings/v8/MainThreadDOMData.cpp:
49         (WebCore::MainThreadDOMData::getCurrent):  Moved here from DOMData.cpp.
50         (WebCore::MainThreadDOMData::getMainThreadStore):  Added UNLIKELY macro to improve codegen.
51         (WebCore::MainThreadDOMData::getCurrentMainThreadStore):  Combination of getCurrentMainThread
52             and getStore, which inline both calls together.
53         * bindings/v8/MainThreadDOMData.h:
54         (WebCore::MainThreadDOMData::getStore):  Broke out nonvirtual getMainThreadStore for inlineability.
55         * bindings/v8/V8DOMMap.cpp:
56         (WebCore::getDOMNodeMap):  Call new getCurrentMainThreadStore, which is faster.
57
58 2009-11-11  Nate Chapin  <japhet@chromium.org>
59
60         Reviewed by Dimitri Glazkov.
61
62         Add methods to KURLGoogle.cpp declared in http://trac.webkit.org/changeset/50784 but not defined when using KURLGoogle.
63
64         https://bugs.webkit.org/show_bug.cgi?id=31357
65
66         * platform/KURLGoogle.cpp:
67         (WebCore::isSchemeFirstChar):
68         (WebCore::isSchemeChar):
69         (WebCore::KURL::hasPort):
70         (WebCore::KURL::removePort):
71         (WebCore::protocolIsValid):
72
73 2009-11-11  Brent Fulgham  <bfulgham@webkit.org>
74
75         Build fix, no reviewed.
76
77         Correct setPlatformFillColor and setPlatformStrokeColor calls
78         to match new ColorSpace-supporting signatures.
79
80         * platform/graphics/win/GraphicsContextCairoWin.cpp:  Add the
81           color space to the set[...]Color calls.
82
83 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
84
85         Reviewed by Sam Weinig.
86
87         https://bugs.webkit.org/show_bug.cgi?id=31327
88         Clean up SocketStreamHandleClient interface
89
90         No change in behavior.
91
92         * platform/network/SocketStreamHandleClient.h: Removed willOpenStream and willSendData.
93         (WebCore::SocketStreamHandleClient::willOpenStream): Removed. This is currently not used by
94         the only client (WebSocketChannel), and it's not clear what this callback's semantics
95         should be.
96         (WebCore::SocketStreamHandleClient::willSendData): Ditto.
97         (WebCore::SocketStreamHandleClient::receivedCancellation): Removed, because it was misplaced.
98         For ResourceHandle, this method is called when the user cancels authentication sheet,
99         not when something happens with the stream.
100
101         * websockets/WebSocketChannel.h: Some WebSocketChannel methods were virtual without any
102         reason. Also, added didReceiveAuthenticationChallenge/didCancelAuthenticationChallenge.
103
104         * websockets/WebSocketChannel.cpp: Adjusted for the above change. Authentication-related
105         callbacks have no real implementation yet.
106
107 2009-11-11  Zoltan Horvath  <zoltan@webkit.org>
108
109         Reviewed by Eric Seidel.
110
111         Allow custom memory allocation control for the part of page directory in WebCore
112         https://bugs.webkit.org/show_bug.cgi?id=31350
113
114         Inherits the following classes from Noncopyable because these are instantiated
115         by 'new' and these are no need to be copyable:
116
117         class DragController         - instantiated at: WebCore/page/Page.cpp:107
118         class FocusController        - instantiated at: WebCore/page/Page.cpp:109
119         class Settings               - instantiated at: WebCore/page/Page.cpp:116
120         class PluginHalter           - instantiated at: WebCore/page/Page.cpp:160
121         struct ScheduledEvent        - instantiated at: WebCore/page/FrameView.cpp:1275
122         class UserScript             - instantiated at: WebCore/page/PageGroup.cpp:208
123         struct EventHandlerDragState - instantiated at: WebCore/page/EventHandler.cpp:182
124         class XSSAuditor             - instantiated at: WebCore/bindings/js/ScriptController.cpp:70
125         class UserStyleSheet         - instantiated at: WebCore/page/PageGroup.cpp:222
126
127         Inherits PropertyWrapperBase class from Noncopyable because (its child class) 
128         PropertyWrapper is instantiated by 'new' in 
129         WebCore/page/animation/AnimationBase.cpp:564 it is no need to be copyable.
130
131         * page/DragController.h:
132         * page/EventHandler.h:
133         * page/FocusController.h:
134         * page/FrameView.cpp:
135         * page/PluginHalter.h:
136         * page/Settings.h:
137         * page/UserScript.h:
138         * page/UserStyleSheet.h:
139         * page/XSSAuditor.h:
140         * page/animation/AnimationBase.cpp:
141
142 2009-11-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
143
144         Reviewed by Kenneth Rohde Christiansen.
145
146         https://bugs.webkit.org/show_bug.cgi?id=31323
147         Fix a few compiler warnings
148
149         No new tests as there is no new functionality.
150
151         * editing/htmlediting.cpp:
152         (WebCore::isRenderedAsNonInlineTableImageOrHR): Use explicit
153         parentheses to silence gcc 4.4 -Wparentheses warnings
154
155 2009-11-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
156
157         Reviewed by Mark Rowe.
158
159         Set m_hasPendingGeometryChange to true by default, so that
160         at least one call to NPP_SetWindow is executed, which is
161         needed by the DRT plugin testing framework.
162
163         * plugins/PluginView.cpp:
164         (WebCore::PluginView::PluginView):
165
166 2009-11-11  Csaba Osztrogonác  <ossy@webkit.org>
167
168         Rubber-stamped by Kenneth Rohde Christiansen.
169
170         https://bugs.webkit.org/show_bug.cgi?id=31348
171         [Qt] Remove unnecessary LUT creator from WebCore.pro
172
173         * WebCore.pro:
174
175 2009-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
176
177         Reviewed by Tor Arne Vestbø.
178
179         Introduce a function for querying the input method status
180         in QWebPageClient.
181
182         * platform/qt/QWebPageClient.h:
183
184 2009-11-11  Benjamin Otte  <otte@gnome.org>
185
186         Reviewed by Jan Alonzo.
187
188         [GTK] Black artifacts in youtube.com/html5
189
190         Paint the video to the given size. It's the job of the callers to keep
191         track of aspect ratio. RenderVideo.cpp does it for the <video>
192         element.
193         https://bugs.webkit.org/show_bug.cgi?id=30925
194
195         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
196         (WebCore::MediaPlayerPrivate::paint):
197
198 2009-11-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
199
200         Reviewed by Reviewed by Jan Alonzo.
201
202         https://bugs.webkit.org/show_bug.cgi?id=30901
203         [Gtk] Need to de-lint the Atk a11y code
204
205         Cleaned up some missed capitalization style-guideline violations.
206
207         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
208
209 2009-11-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
210
211         Reviewed by Eric Seidel.
212
213         [Qt] Make the default style background color valid.
214         Currently the color is transparent but invalid, this causes
215         list boxes in QtWebKit to be drawn with a black background
216         since r49242.
217         https://bugs.webkit.org/show_bug.cgi?id=31295
218
219         * rendering/style/RenderStyle.h:
220         (WebCore::InheritedFlags::initialBackgroundColor):
221         * rendering/style/StyleBackgroundData.cpp:
222         (WebCore::StyleBackgroundData::StyleBackgroundData):
223
224 2009-11-10  Gavin Barraclough  <barraclough@apple.com>
225
226         Reviewed by Geoff Garen.
227
228         Simplify the ownership model for worlds - rather than having a pair of weak references
229         between DOMWrapperWorld and ScriptController/ScriptCachedFrameData, give the latter an
230         ref pointer to the former.  This reduces complexity & cost of the caching entries in the
231         back forward cache.
232
233         * WebCore.base.exp:
234         * bindings/js/JSDOMBinding.cpp:
235         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
236         * bindings/js/JSDOMBinding.h:
237         (WebCore::DOMWrapperWorld::forgetDocument):
238         * bindings/js/ScriptCachedFrameData.cpp:
239         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
240         (WebCore::ScriptCachedFrameData::restore):
241         (WebCore::ScriptCachedFrameData::clear):
242         * bindings/js/ScriptCachedFrameData.h:
243         * bindings/js/ScriptController.cpp:
244         (WebCore::ScriptController::~ScriptController):
245         (WebCore::ScriptController::clearWindowShell):
246         (WebCore::ScriptController::initScript):
247         (WebCore::ScriptController::updateDocument):
248         * bindings/js/ScriptController.h:
249
250 2009-11-10  Shinichiro Hamaji  <hamaji@chromium.org>
251
252         Reviewed by Darin Adler.
253
254         rename counter to makeCounterNode in RenderCounter.cpp
255         https://bugs.webkit.org/show_bug.cgi?id=31289
256
257         No new test because this is just a small refactoring.
258
259         * rendering/RenderCounter.cpp:
260         (WebCore::findPlaceForCounter):
261         (WebCore::makeCounterNode):
262         (WebCore::RenderCounter::originalText):
263
264 2009-11-10  Daniel Bates  <dbates@webkit.org>
265
266         Reviewed by Oliver Hunt.
267
268         https://bugs.webkit.org/show_bug.cgi?id=30754
269
270         Patch 2 of 2.
271
272         Removed method EventHandler::dragSourceMovedTo, since it is no longer
273         needed. This method fired a drag event whenever the mouse moved, but
274         section 7.9.4 of the HTML 5 spec. defines the drag-and-drop processing
275         model independent of when the mouse moves. See "Among other changes..."
276         in the change log for patch 1 for more details.
277
278         * WebCore.DragSupport.exp:
279         * page/EventHandler.cpp: Removed method EventHandler::dragSourceMovedTo.
280         (WebCore::EventHandler::handleDrag): Updated comment about reentrancy issue.
281         * page/EventHandler.h:
282
283 2009-11-10  Daniel Bates  <dbates@webkit.org>
284
285         Reviewed by Oliver Hunt.
286
287         https://bugs.webkit.org/show_bug.cgi?id=30754
288
289         Patch 1 of 2.
290
291         As per Section 7.9.4 of the HTML 5 spec. <http://dev.w3.org/html5/spec/Overview.html#drag-and-drop-processing-model>,
292         the drag event should always fire before the dragover event.
293
294         In fixing this bug, this patch also makes our drag processing model
295         conform to the HTML 5 spec.
296
297         Among the changes, this patch ensures that the drag event isn't fired outside
298         of the drag-and-drop processing loop, WebCore::EventHandler::updateDragAndDrop.
299         Currently, the drag event is fired whenever the mouse button is down and the OS
300         detects the mouse moved. But, as per the spec, the drag event should
301         fire approx. every 350ms so long as the mouse button is down.
302
303         Test: fast/events/drag-and-drop-fire-drag-dragover.html
304
305         * page/EventHandler.cpp:
306         (WebCore::EventHandler::clear):
307         (WebCore::EventHandler::canHandleDragAndDropForTarget): Formerly named handleDragAndDropForTarget.
308         Modified to determine when we are in the correct instance of EventHandler to service the drag
309         and drop operation.
310         (WebCore::EventHandler::updateDragAndDrop): Moved code from WebCore::EventHandler::dragSourceMovedTo
311         into this method.
312         (WebCore::EventHandler::cancelDragAndDrop):
313         (WebCore::EventHandler::performDragAndDrop):
314         (WebCore::EventHandler::clearDragState):
315         * page/EventHandler.h: Added field m_shouldOnlyFireDragOverEvent to determine whether
316         we should fire both drag and dragover events or only the dragover event.
317
318 2009-11-10  Vitaly Repeshko  <vitalyr@chromium.org>
319
320         Reviewed by Dimitri Glazkov.
321
322         [V8] Fix crash in V8CustomXPathNSResolver (http://crbug.com/26726).
323         https://bugs.webkit.org/show_bug.cgi?id=31301
324
325         Tested by new fast/xpath/xpath-detached-iframe-resolver-crash.html.
326
327         Allowed passing V8Proxy for the calling JS context:
328         * bindings/v8/V8DOMWrapper.h:
329         (WebCore::V8DOMWrapper::getXPathNSResolver):
330         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
331         (WebCore::V8CustomXPathNSResolver::create):
332         (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver):
333         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
334         * bindings/v8/custom/V8CustomXPathNSResolver.h:
335         * bindings/v8/custom/V8DocumentCustom.cpp:
336         (WebCore::CALLBACK_FUNC_DECL):
337
338 2009-11-10  Yael Aharon  <yael.aharon@nokia.com>
339
340         Reviewed by Timothy Hatcher.
341
342         Implement URL decomposition IDL attributes for HTMLAnchorElement.
343         https://bugs.webkit.org/show_bug.cgi?id=29972.
344
345         Add methods for setting different parts of the URL in href attribute.
346
347         Tests: fast/dom/HTMLAnchorElement/set-href-attribute-hash.html
348                fast/dom/HTMLAnchorElement/set-href-attribute-host.html
349                fast/dom/HTMLAnchorElement/set-href-attribute-hostname.html
350                fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
351                fast/dom/HTMLAnchorElement/set-href-attribute-port.html
352                fast/dom/HTMLAnchorElement/set-href-attribute-protocol.html
353                fast/dom/HTMLAnchorElement/set-href-attribute-search.html
354
355         * bindings/js/JSLocationCustom.cpp:
356         (WebCore::JSLocation::setPort):
357         * html/HTMLAnchorElement.cpp:
358         (WebCore::parsePortFromStringPosition):
359         (WebCore::HTMLAnchorElement::setHash):
360         (WebCore::HTMLAnchorElement::setHost):
361         (WebCore::HTMLAnchorElement::setHostname):
362         (WebCore::HTMLAnchorElement::setPathname):
363         (WebCore::HTMLAnchorElement::setPort):
364         (WebCore::HTMLAnchorElement::setProtocol):
365         (WebCore::HTMLAnchorElement::setSearch):
366         * html/HTMLAnchorElement.h:
367         * html/HTMLAnchorElement.idl:
368         * loader/FrameLoader.cpp:
369         (WebCore::FrameLoader::iconURL):
370         * platform/KURL.cpp:
371         (WebCore::KURL::removePort):
372         (WebCore::KURL::setPort):
373         (WebCore::KURL::prettyURL):
374         (WebCore::protocolIsValid):
375         * platform/KURL.h:
376         (WebCore::KURL::canSetHostOrPort):
377         (WebCore::KURL::canSetPathname):
378         (WebCore::KURL::hasPort):
379         * platform/network/soup/ResourceHandleSoup.cpp:
380         (WebCore::):
381
382 2009-11-10  Nate Chapin  <japhet@chromium.org>
383
384         Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50760.
385
386         * platform/chromium/PopupMenuChromium.cpp:
387         (WebCore::PopupContainer::paintBorder):
388         (WebCore::PopupListBox::paint):
389         (WebCore::PopupListBox::paintRow):
390         * platform/graphics/chromium/TransparencyWin.cpp:
391         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
392         * platform/graphics/skia/GraphicsContextSkia.cpp:
393         (WebCore::GraphicsContext::fillRect):
394         (WebCore::GraphicsContext::fillRoundedRect):
395         (WebCore::GraphicsContext::setPlatformFillColor):
396         (WebCore::GraphicsContext::setPlatformStrokeColor):
397         * rendering/RenderMediaControlsChromium.cpp:
398         (WebCore::paintMediaSlider):
399         (WebCore::paintMediaVolumeSlider):
400         (WebCore::paintMediaTimelineContainer):
401         * rendering/RenderThemeChromiumMac.mm:
402         (WebCore::RenderThemeChromiumMac::paintMenuListButton):
403
404 2009-11-10  Brady Eidson  <beidson@apple.com>
405
406         Reviewed by Sam Weinig.
407
408         Repro crash saving pcmag.com article as a webarchive.
409         <rdar://problem/7381219> and https://webkit.org/b/31322
410
411         Test: http/tests/webarchive/cross-origin-stylesheet-crash.html
412
413         * css/CSSStyleSheet.cpp:
414         (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Walk the stylesheet itself instead
415           of creating a CSSRuleList (and subjecting ourselves to the security origin check)
416
417 2009-11-10  Beth Dakin  <bdakin@apple.com>
418
419         Attempt 2 to fix Tiger build. No review needed.
420
421         * platform/graphics/cg/GraphicsContextCG.cpp:
422         (WebCore::deviceRGBColorSpaceRef):
423         (WebCore::sRGBColorSpaceRef):
424
425 2009-11-10  Kevin Ollivier  <kevino@theolliviers.com>
426
427         wx build fix. Changes needed after r50760.
428
429         * platform/graphics/wx/GraphicsContextWx.cpp:
430         (WebCore::GraphicsContext::GraphicsContext):
431         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
432         (WebCore::drawTextWithSpacing):
433
434 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
435
436         Qt build fix.
437
438         * platform/network/ResourceHandle.h: Only inherit from AuthenticationClient on platforms
439         that use ResourceHandle as a delegate (Mac, CFNetwork, Curl).
440
441 2009-11-10  Beth Dakin  <bdakin@apple.com>
442
443         Tiger build fix. No review needed.
444
445         * platform/graphics/cg/GraphicsContextCG.cpp:
446         (WebCore::sRGBColorSpaceRef):
447
448 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
449
450         Reviewed by Dan Bernstein.
451
452         https://bugs.webkit.org/show_bug.cgi?id=31312
453         Decouple authentication panel callbacks from ResourceHandle
454
455         No change in functionality.
456
457         SocketStreamHandle also needs to request credentials, so it's not appropriate to store
458         ResourceHandle as delegate.
459
460         * WebCore.vcproj/WebCore.vcproj:
461         * platform/network/AuthenticationClient.h: Added.
462         Added a new interface for listening to authentication panel notifications.
463
464         * WebCore.xcodeproj/project.pbxproj: Added AuthenticationClient.h. Let Visual Studio do what
465         it wants with the project file.
466
467         (WebCore::AuthenticationClient::ref): Using our usual method of exposing refcounting on an
468         interface class.
469         (WebCore::AuthenticationClient::deref): Ditto.
470
471         * platform/network/ResourceHandle.h:
472         (WebCore::ResourceHandle::refAuthenticationClient): Ditto.
473         (WebCore::ResourceHandle::derefAuthenticationClient): Ditto.
474
475         * platform/network/cf/AuthenticationCF.cpp:
476         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
477         (WebCore::AuthenticationChallenge::platformCompare):
478         * platform/network/cf/AuthenticationChallenge.h:
479         (WebCore::AuthenticationChallenge::authenticationClient):
480         * platform/network/chromium/AuthenticationChallenge.h:
481         (WebCore::AuthenticationChallenge::authenticationClient):
482         * platform/network/curl/AuthenticationChallenge.h:
483         (WebCore::AuthenticationChallenge::authenticationClient):
484         Keeping a reference to AuthenticationClient, not to ResourceHandle.
485
486 2009-11-10  Beth Dakin  <bdakin@apple.com>
487
488        Second attempted gtk build fix. No review needed.
489
490         * html/canvas/CanvasStyle.cpp:
491         (WebCore::CanvasStyle::applyStrokeColor):
492
493
494 2009-11-10  Gavin Barraclough  <barraclough@apple.com>
495
496         Reviewed by Geoff Garen.
497
498         Fix back/forwards cache with JSC isolated worlds.
499         https://bugs.webkit.org/show_bug.cgi?id=31310
500         <rdar://problem/7328111> Cached back navigation doesn't restore global object in extension isolated world
501
502         Store the global object for all worlds, not just the normal world.
503         Also maintain bidirectional weak references between the ScriptCachedFrameData and the DOMWrapperWorld,
504         so we can forget global objects if a world goes away.
505
506         * bindings/js/JSDOMBinding.cpp:
507         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
508         * bindings/js/JSDOMBinding.h:
509         (WebCore::DOMWrapperWorld::rememberScriptCachedFrameData):
510         (WebCore::DOMWrapperWorld::forgetScriptCachedFrameData):
511         * bindings/js/ScriptCachedFrameData.cpp:
512         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
513         (WebCore::ScriptCachedFrameData::forgetWorld):
514         (WebCore::ScriptCachedFrameData::domWindow):
515         (WebCore::ScriptCachedFrameData::restore):
516         (WebCore::ScriptCachedFrameData::clear):
517         * bindings/js/ScriptCachedFrameData.h:
518         * bindings/js/ScriptController.h:
519
520 2009-11-10  Csaba Osztrogonác  <ossy@webkit.org>
521
522         [Qt] Unreviewed buildfix after r50760.
523
524         * platform/graphics/qt/GraphicsContextQt.cpp:
525         (WebCore::GraphicsContext::GraphicsContext):
526
527 2009-11-10  Beth Dakin  <bdakin@apple.com>
528
529         Attempted build fix. (No review needed.)
530
531         * GNUmakefile.am: Adding ColorSpace.h
532
533 2009-11-10  Brian Weinstein  <bweinstein@apple.com>
534
535         Reviewed by NOBODY - Build Fix.
536
537         Updated function calls to take a ColorSpace argument, passing
538         in DeviceColorSpace for now - this should be fixed. Also added
539         ColorSpace.h to WebCore project.
540
541         * WebCore.vcproj/WebCore.vcproj:
542         * platform/graphics/win/FontCGWin.cpp:
543         (WebCore::Font::drawGlyphs):
544         * platform/graphics/win/GraphicsContextCGWin.cpp:
545         (WebCore::GraphicsContext::GraphicsContext):
546         * platform/win/PopupMenuWin.cpp:
547         (WebCore::PopupMenu::paint):
548         * platform/win/WebCoreTextRenderer.cpp:
549         (WebCore::doDrawTextAtPoint):
550         * rendering/RenderThemeSafari.cpp:
551         (WebCore::RenderThemeSafari::paintMenuListButton):
552
553 2009-11-10  Jens Alfke  <snej@chromium.org>
554
555         Reviewed by Darin Adler.
556
557         Optimizations to Element::getAttribute
558         https://bugs.webkit.org/show_bug.cgi?id=30926
559
560         * dom/Element.cpp:
561         (WebCore::Element::getAttribute):  User case-insensitive compare instead of lowercasing the name.
562         * dom/NamedAttrMap.cpp:
563         (WebCore::NamedNodeMap::getAttributeItem):  Avoid redundant compares, and do fast/likely compares first.
564         * platform/text/PlatformString.h:
565         (WebCore::equalPossiblyIgnoringCase):  New inline method, used by both of the above.
566
567 2009-11-10  Beth Dakin  <bdakin@apple.com>
568
569         Reviewed by Darin Adler.
570
571         Fix for <rdar://problem/7059710> 
572         -and corresponding-
573         https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit-
574         color-correction for CSS colors
575
576         New exported symbol for GraphicsContext::fillColor() which now 
577         accepts a ColorSpace as an optional parameter.
578         * WebCore.base.exp:
579
580         Added a new file, ColorSpace.h, to define the ColorSpace enum.
581         * WebCore.xcodeproj/project.pbxproj:
582
583         Computed Style for -webkit-color-correction
584         * css/CSSComputedStyleDeclaration.cpp:
585         (WebCore::):
586         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
587
588         Parse -webkit-color-correction
589         * css/CSSParser.cpp:
590         (WebCore::CSSParser::parseValue):
591
592        Map CSS identifiers to the appropriate values of the ColorSpace enum
593         * css/CSSPrimitiveValueMappings.h:
594         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
595         (WebCore::CSSPrimitiveValue::operator ColorSpace):
596
597         New property -webkit-color-correction
598         * css/CSSPropertyNames.in:
599
600         Map -webkit-color-correction into the RenderStyle.
601         * css/CSSStyleSelector.cpp:
602         (WebCore::CSSStyleSelector::applyProperty):
603
604         Add new value sRGB.
605         * css/CSSValueKeywords.in:
606
607         Comment out the reference to sRGB since it will now be inherited as 
608         a value from CSSValueKeywords.
609         * css/SVGCSSValueKeywords.in:
610
611         Definition of the ColorSpace enum.
612         * platform/graphics/ColorSpace.h: Added.
613         (WebCore::):
614
615         These functions all now take a ColorSpace as a parameter.
616         * platform/graphics/GraphicsContext.cpp:
617         (WebCore::GraphicsContext::setStrokeColor):
618         (WebCore::GraphicsContext::setFillColor):
619         (WebCore::GraphicsContext::drawHighlightForText):
620
621         Return the appropriate ColorSpace.
622         (WebCore::GraphicsContext::strokeColorSpace):
623         (WebCore::GraphicsContext::fillColorSpace):
624
625         These functions all call other functions which require a ColorSpace 
626         as a parameter.
627         (WebCore::GraphicsContext::setStrokePattern):
628         (WebCore::GraphicsContext::setFillPattern):
629         (WebCore::GraphicsContext::setStrokeGradient):
630         (WebCore::GraphicsContext::setFillGradient):
631
632         All of the GraphicsContext functions that take a Color should now 
633         also take a ColorSpace.
634         * platform/graphics/GraphicsContext.h:
635
636         Added new member variables stokeColorSpace and fillColorSpace.
637         * platform/graphics/GraphicsContextPrivate.h:
638         (WebCore::GraphicsContextState::GraphicsContextState):
639
640         Attempt to keep the Cairo port building with all of the massive 
641         changes to GraphicsContext.        
642         * platform/graphics/cairo/GraphicsContextCairo.cpp:
643         (WebCore::GraphicsContext::fillRect):
644         (WebCore::GraphicsContext::setPlatformFillColor):
645         (WebCore::GraphicsContext::setPlatformStrokeColor):
646         (WebCore::GraphicsContext::fillRoundedRect):
647
648         
649         * platform/graphics/cg/GraphicsContextCG.cpp:
650         (WebCore::sRGBColorSpaceRef): New static function that returns a 
651         CGColorSpaceRef for the sRGB color space.
652         (WebCore::deviceRGBColorSpaceRef): New static function that returns 
653         a CGColorSpaceRef for the device RGB color space.
654
655         (WebCore::setCGFillColor): Now takes a ColorSpace parameter and 
656         sets the fill color to the specified color in the given ColorSpace.
657         (WebCore::setCGStrokeColor): Same, but for stroke.
658
659         (WebCore::setCGFillColorSpace): New static to set the 
660         CGFillColorSpace to the given ColorSpace
661         (WebCore::setCGStrokeColorSpace): Same, but for stroke.
662
663         Send ColorSpaces when appropriate, set ColorSpaces when 
664         appropriate, and check ColorSpaces when appropriate.
665         (WebCore::GraphicsContext::GraphicsContext):
666         (WebCore::GraphicsContext::drawRect):
667         (WebCore::GraphicsContext::drawLine):
668         (WebCore::GraphicsContext::fillPath):
669         (WebCore::GraphicsContext::strokePath):
670         (WebCore::GraphicsContext::fillRect):
671         (WebCore::GraphicsContext::fillRoundedRect):
672         (WebCore::GraphicsContext::strokeRect):
673         (WebCore::GraphicsContext::drawLineForText):
674         (WebCore::GraphicsContext::setPlatformStrokeColor):
675         (WebCore::GraphicsContext::setPlatformFillColor):
676
677         Attempt to keep Haiku building.
678         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
679         (WebCore::GraphicsContext::fillRect):
680         (WebCore::GraphicsContext::fillRoundedRect):
681         (WebCore::GraphicsContext::setPlatformStrokeColor):
682         (WebCore::GraphicsContext::setPlatformFillColor):
683
684         Attempt to keep QT building.
685         * platform/graphics/qt/GraphicsContextQt.cpp:
686         (WebCore::GraphicsContext::fillRect):
687         (WebCore::GraphicsContext::fillRoundedRect):
688         (WebCore::GraphicsContext::setPlatformStrokeColor):
689         (WebCore::GraphicsContext::setPlatformFillColor):
690
691         Attempt to keep Wince building.
692         * platform/graphics/wince/GraphicsContextWince.cpp:
693         (WebCore::GraphicsContext::fillRect):
694         (WebCore::GraphicsContext::setPlatformFillColor):
695         (WebCore::GraphicsContext::setPlatformStrokeColor):
696         (WebCore::GraphicsContext::clearRect):
697         (WebCore::GraphicsContext::fillRoundedRect):
698         (WebCore::GraphicsContext::setPlatformShadow):
699
700         Attempt to keep WX building.
701         * platform/graphics/wx/GraphicsContextWx.cpp:
702         (WebCore::GraphicsContext::fillRect):
703         (WebCore::GraphicsContext::fillRoundedRect):
704         (WebCore::GraphicsContext::setPlatformStrokeColor):
705         (WebCore::GraphicsContext::setPlatformFillColor):
706
707         Added functions colorSpace() and setColorSpace()
708         * rendering/style/RenderStyle.h:
709         (WebCore::InheritedFlags::colorSpace):
710         (WebCore::InheritedFlags::setColorSpace):
711
712         The ColorSpace is stored here.
713         * rendering/style/StyleRareInheritedData.cpp:
714         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
715         (WebCore::StyleRareInheritedData::operator==):
716         * rendering/style/StyleRareInheritedData.h:
717
718         All of these call sites call GraphicsContext functions which now 
719         require ColorSpaces.
720         * editing/SelectionController.cpp:
721         (WebCore::SelectionController::paintCaret):
722         * html/canvas/CanvasRenderingContext2D.cpp:
723         (WebCore::CanvasRenderingContext2D::drawTextInternal):
724         * html/canvas/CanvasStyle.cpp:
725         (WebCore::CanvasStyle::applyStrokeColor):
726         (WebCore::CanvasStyle::applyFillColor):
727         * inspector/InspectorController.cpp:
728         (WebCore::drawOutlinedQuad):
729         * page/FrameView.cpp:
730         (WebCore::FrameView::paintContents):
731         * platform/ScrollbarTheme.h:
732         (WebCore::ScrollbarTheme::paintScrollCorner):
733         * platform/ScrollbarThemeComposite.cpp:
734         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
735         * platform/graphics/Image.cpp:
736         (WebCore::Image::fillWithSolidColor):
737         * platform/graphics/mac/FontMac.mm:
738         (WebCore::Font::drawGlyphs):
739         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
740         (WebCore::MediaPlayerPrivate::paint):
741         * rendering/EllipsisBox.cpp:
742         (WebCore::EllipsisBox::paint):
743         * rendering/InlineFlowBox.cpp:
744         (WebCore::InlineFlowBox::paintTextDecorations):
745         * rendering/InlineTextBox.cpp:
746         (WebCore::updateGraphicsContext):
747         (WebCore::paintTextWithShadows):
748         (WebCore::InlineTextBox::paint):
749         (WebCore::InlineTextBox::paintSelection):
750         (WebCore::InlineTextBox::paintCompositionBackground):
751         (WebCore::InlineTextBox::paintDecoration):
752         (WebCore::InlineTextBox::paintTextMatchMarker):
753         (WebCore::InlineTextBox::paintCompositionUnderline):
754         * rendering/InlineTextBox.h:
755         * rendering/RenderBlock.cpp:
756         (WebCore::RenderBlock::fillHorizontalSelectionGap):
757         (WebCore::RenderBlock::fillVerticalSelectionGap):
758         (WebCore::RenderBlock::fillLeftSelectionGap):
759         (WebCore::RenderBlock::fillRightSelectionGap):
760         * rendering/RenderBoxModelObject.cpp:
761         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
762         (WebCore::RenderBoxModelObject::paintBoxShadow):
763         * rendering/RenderFileUploadControl.cpp:
764         (WebCore::RenderFileUploadControl::paintObject):
765         * rendering/RenderFrameSet.cpp:
766         (WebCore::RenderFrameSet::paintColumnBorder):
767         (WebCore::RenderFrameSet::paintRowBorder):
768         * rendering/RenderImage.cpp:
769         (WebCore::RenderImage::paintReplaced):
770         * rendering/RenderLayer.cpp:
771         (WebCore::RenderLayer::paintScrollCorner):
772         (WebCore::RenderLayer::paintResizer):
773         * rendering/RenderListBox.cpp:
774         (WebCore::RenderListBox::paintItemForeground):
775         (WebCore::RenderListBox::paintItemBackground):
776         * rendering/RenderListMarker.cpp:
777         (WebCore::RenderListMarker::paint):
778         * rendering/RenderObject.cpp:
779         (WebCore::RenderObject::drawLineForBoxSide):
780         (WebCore::RenderObject::drawArcForBoxSide):
781         * rendering/RenderReplaced.cpp:
782         (WebCore::RenderReplaced::paint):
783         * rendering/RenderScrollbarTheme.cpp:
784         (WebCore::RenderScrollbarTheme::paintScrollCorner):
785         * rendering/RenderThemeMac.mm:
786         (WebCore::RenderThemeMac::paintMenuListButton):
787         * rendering/RenderView.cpp:
788         (WebCore::RenderView::paintBoxDecorations):
789         * rendering/RenderWidget.cpp:
790         (WebCore::RenderWidget::paint):
791         * rendering/SVGInlineTextBox.cpp:
792         (WebCore::SVGInlineTextBox::paintSelection):
793         * svg/graphics/SVGPaintServerGradient.cpp:
794         (WebCore::SVGPaintServerGradient::setup):
795         * svg/graphics/SVGPaintServerSolid.cpp:
796         (WebCore::SVGPaintServerSolid::setup):
797
798 2009-11-10  Keishi Hattori  <casey.hattori@gmail.com>
799
800         Reviewed by Timothy Hatcher.
801
802         Web Inspector: Speed up syntax highlighter
803         https://bugs.webkit.org/show_bug.cgi?id=31291
804
805         * inspector/front-end/SourceFrame.js:
806         (WebInspector.SourceFrame.prototype._loaded):
807         (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine): Replace the line content node.
808         (WebInspector.SourceSyntaxHighlighter.prototype.process):
809         (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
810         (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
811         (WebInspector.CSSSourceSyntaxHighlighter):
812         (WebInspector.JavaScriptSourceSyntaxHighlighter):
813
814 2009-11-09  Jeremy Orlow  <jorlow@chromium.org>
815
816         Reviewed by Eric Seidel.
817
818         Remove session storage setting
819         https://bugs.webkit.org/show_bug.cgi?id=31279
820
821         Remove session storage from Settings.  It was added temporarily so we could
822         disable it by default at runtime in Chromium.  We now disable these things in a
823         different way, so it's time to remove it.  Qt also depended on this setting for
824         a short period of time, but after talking to them we agreed that it should be
825         removed.
826
827         This bug is the second half of https://bugs.webkit.org/show_bug.cgi?id=30602
828
829         * page/DOMWindow.cpp:
830         (WebCore::DOMWindow::sessionStorage):
831         * page/Settings.cpp:
832         (WebCore::Settings::Settings):
833         * page/Settings.h:
834
835 2009-11-10  Dan Bernstein  <mitz@apple.com>
836
837         Reviewed by Eric Carlson and Darin Adler.
838
839         WebCore part of making full-screen video pause during scrubbing.
840
841         * WebCore.Video.exp: Sorted and added HTMLMediaElement::beginScrubbing()
842         and HTMLMediaElement::endScrubbing().
843
844 2009-11-10  Anton Muhin  <antonm@chromium.org>
845
846         Reviewed by Adam Barth.
847
848         Reapply 50562 reverted by 50588 due to issues with sandboxing (should be fine now).
849         https://bugs.webkit.org/show_bug.cgi?id=31051
850
851         * bindings/v8/V8GCController.cpp:
852         (WebCore::V8GCController::gcEpilogue):
853         (WebCore::V8GCController::checkMemoryUsage):
854         * bindings/v8/V8GCController.h:
855         * bindings/v8/V8Proxy.cpp:
856         (WebCore::V8Proxy::evaluate):
857         (WebCore::V8Proxy::runScript):
858         (WebCore::V8Proxy::callFunction):
859
860 2009-11-10  Zoltan Horvath  <zoltan@webkit.org>
861
862         Reviewed by Darin Adler.
863
864         Allow custom memory allocation control for the part of loader directory in WebCore
865         https://bugs.webkit.org/show_bug.cgi?id=31161
866
867         Inherits the following classes from Noncopyable because these are instantiated
868         by 'new' and these are no need to be copyable:
869
870         class Request - WebCore/loader/loader.cpp:100
871         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
872         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
873         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
874         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
875         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
876
877         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
878         MainThreadBridge is instantiated by 'new' in 
879         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
880
881         ThreadableLoaderClient's inheriting has been changed to public.
882
883         * loader/ImageLoader.cpp:
884         * loader/ProgressTracker.cpp:
885         * loader/RedirectScheduler.cpp:
886         * loader/Request.h:
887         * loader/ThreadableLoaderClient.h:
888         * loader/WorkerThreadableLoader.h:
889         * loader/appcache/ApplicationCacheHost.h:
890         * loader/appcache/ApplicationCacheStorage.h:
891
892 2009-11-10  Philippe Normand  <pnormand@igalia.com>
893
894         Reviewed by Eric Seidel.
895
896         https://bugs.webkit.org/show_bug.cgi?id=31047
897         [GTK] Failing test media/video-played-ranges-1.html
898
899         WebKit coding style fixes.
900
901         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
902         (WebCore::mediaPlayerPrivateMessageCallback):
903         (WebCore::MediaPlayerPrivate::naturalSize):
904         (WebCore::MediaPlayerPrivate::paint):
905         (WebCore::mimeTypeCache):
906
907 2009-11-10  Oliver Hunt  <oliver@apple.com>
908
909         Remove build failure introduced by earlier build fix.
910
911         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
912
913 2009-11-10  Oliver Hunt  <oliver@apple.com>
914
915         Is this the last build fix? grep tells me yes.
916
917         * bindings/v8/custom/V8DocumentCustom.cpp:
918         (WebCore::CALLBACK_FUNC_DECL):
919
920 2009-11-10  Oliver Hunt  <oliver@apple.com>
921
922         Hopefully the last one.  Why aren't these autogenerated?
923
924         * bindings/v8/V8DOMWrapper.cpp:
925         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
926         (WebCore::V8DOMWrapper::getTemplate):
927         (WebCore::V8DOMWrapper::convertToV8Object):
928
929 2009-11-10  Oliver Hunt  <oliver@apple.com>
930
931         Another chrome build fix.
932
933         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
934         (WebCore::CALLBACK_FUNC_DECL):
935
936 2009-11-10  Oliver Hunt  <oliver@apple.com>
937
938         Yet another chrome buildfix
939
940         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
941         (WebCore::CALLBACK_FUNC_DECL):
942         * bindings/v8/custom/V8WebGLArrayCustom.h:
943         (WebCore::constructCanvasArray):
944         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
945         (WebCore::CALLBACK_FUNC_DECL):
946         (WebCore::INDEXED_PROPERTY_GETTER):
947         (WebCore::INDEXED_PROPERTY_SETTER):
948         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
949         (WebCore::CALLBACK_FUNC_DECL):
950         (WebCore::INDEXED_PROPERTY_GETTER):
951         (WebCore::INDEXED_PROPERTY_SETTER):
952         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
953         (WebCore::CALLBACK_FUNC_DECL):
954         (WebCore::INDEXED_PROPERTY_GETTER):
955         (WebCore::INDEXED_PROPERTY_SETTER):
956         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
957         (WebCore::CALLBACK_FUNC_DECL):
958         (WebCore::vertexAttribAndUniformHelperf):
959         (WebCore::uniformHelperi):
960         (WebCore::uniformMatrixHelper):
961         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
962         (WebCore::CALLBACK_FUNC_DECL):
963         (WebCore::INDEXED_PROPERTY_GETTER):
964         (WebCore::INDEXED_PROPERTY_SETTER):
965         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
966         (WebCore::CALLBACK_FUNC_DECL):
967         (WebCore::INDEXED_PROPERTY_GETTER):
968         (WebCore::INDEXED_PROPERTY_SETTER):
969         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
970         (WebCore::CALLBACK_FUNC_DECL):
971         (WebCore::INDEXED_PROPERTY_GETTER):
972         (WebCore::INDEXED_PROPERTY_SETTER):
973         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
974         (WebCore::CALLBACK_FUNC_DECL):
975         (WebCore::INDEXED_PROPERTY_GETTER):
976         (WebCore::INDEXED_PROPERTY_SETTER):
977
978 2009-11-10  Oliver Hunt  <oliver@apple.com>
979
980         Chrome build fix.
981
982         * bindings/v8/V8Index.h:
983
984 2009-11-10  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
985
986         Reviewed by Reviewed by Jan Alonzo.
987
988         https://bugs.webkit.org/show_bug.cgi?id=30901
989         [Gtk] Need to de-lint the Atk a11y code
990
991         Removal of various and sundry style-violating nits.
992
993         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
994
995 2009-11-10  Philippe Normand  <pnormand@igalia.com>
996
997         Reviewed by Jan Alonzo.
998
999         https://bugs.webkit.org/show_bug.cgi?id=31047
1000         [GTK] Failing test media/video-played-ranges-1.html
1001
1002         Fix playback rate setter by remembering the rate was changed. Also
1003         correctly handle reverse playback by doing a seek from end to
1004         beginning of the media.
1005
1006         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1007         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1008         (WebCore::MediaPlayerPrivate::currentTime):
1009         (WebCore::MediaPlayerPrivate::seek):
1010         (WebCore::MediaPlayerPrivate::hasAudio):
1011         (WebCore::MediaPlayerPrivate::setVolume):
1012         (WebCore::MediaPlayerPrivate::setRate):
1013         (WebCore::MediaPlayerPrivate::updateStates):
1014         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1015
1016 2009-11-10  Oliver Hunt  <oliver@apple.com>
1017
1018         Reviewed by Maciej Stachowiak.
1019
1020         Rename 3D Canvas related classes to use WebGL prefix
1021         https://bugs.webkit.org/show_bug.cgi?id=29095
1022
1023         Automatic rename of all WebGL related types from Canvas* to
1024         WebGL* per more recent version of the WebGL spec.
1025
1026         Due to the automatic rename I've removed the 600+ line change list.
1027
1028 2009-11-09  Dirk Schulze  <krit@webkit.org>
1029
1030         Reviewed by Oliver Hunt.
1031
1032         SVG feDisplacementMap is not implemented
1033         [https://bugs.webkit.org/show_bug.cgi?id=31255]
1034
1035         This is the implementation of the SVG filter effect
1036         feDisplacementMap. 
1037
1038         Test: svg/filters/feDisplacementMap.svg
1039
1040         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1041         (WebCore::FEDisplacementMap::apply):
1042
1043 2009-11-09  Kent Tamura  <tkent@chromium.org>
1044
1045         Reviewed by Darin Adler.
1046
1047         Add a comment about null strings and hash functions.
1048         https://bugs.webkit.org/show_bug.cgi?id=29118
1049
1050         * platform/text/StringHash.h:
1051
1052 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
1053
1054         Reviewed by Darin Adler.
1055
1056         Compiler warnings in InspectorResource.h
1057         https://bugs.webkit.org/show_bug.cgi?id=29231
1058
1059         Fix compilation warnings by removing addition operation on an enum type.
1060
1061         * inspector/InspectorResource.h:
1062         (WebCore::InspectorResource::):
1063         (WebCore::InspectorResource::Changes::hasChange):
1064         (WebCore::InspectorResource::Changes::set):
1065         (WebCore::InspectorResource::Changes::setAll):
1066
1067 2009-11-09  Anders Carlsson  <andersca@apple.com>
1068
1069         Reviewed by Darin Adler and Dan Bernstein.
1070
1071         <rdar://problem/7328395>
1072         https://bugs.webkit.org/show_bug.cgi?id=31277
1073
1074         When an object tag's style changes (for example when child nodes are added/removed),
1075         reuse its Frame (if it has one) instead of creating multiple Frames.
1076
1077         Test: fast/dom/HTMLObjectElement/children-changed.html
1078
1079         * loader/FrameLoader.cpp:
1080         (WebCore::FrameLoader::requestObject):
1081
1082 2009-11-09  Norbert Leser  <norbert.leser@nokia.com>
1083
1084         Reviewed by Kenneth Rohde Christiansen.
1085
1086         Moved macro MMP_RULES (LINKEROPTION) into symbian instead of symbian-sbsv2,
1087         since adjustment of RW-section base address will be needed for all new symbian
1088         tool chains, specifically for arm and gcc compilation targets.
1089         Also, change target address to 0xE00000 to be sufficient for all targets.
1090
1091         * WebCore.pro:
1092
1093 2009-11-09  Pavel Feldman  <pfeldman@chromium.org>
1094
1095         Reviewed by Timothy Hatcher.
1096
1097         Web Inspector: Crash when inspecting
1098         WebCore\manual-tests\inspector\dom-mutation.html
1099
1100         https://bugs.webkit.org/show_bug.cgi?id=31259
1101
1102         * inspector/InspectorDOMAgent.cpp:
1103         (WebCore::InspectorDOMAgent::handleEvent):
1104
1105 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1106
1107         Reviewed by Kenneth Rohde Christiansen.
1108
1109         [Qt] Few classes have virtual functions but non-virtual destructor
1110         https://bugs.webkit.org/show_bug.cgi?id=31269
1111
1112         No new tests as there is no functional change.
1113
1114         * platform/qt/QWebPageClient.h:
1115         (QWebPageClient::~QWebPageClient): Add virtual destructor.
1116
1117 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
1118
1119         Reviewed by Kenneth Rohde Christiansen.
1120
1121         [Qt] Allow setting HTTP headers with empty value in XMLHTTPRequest
1122         https://bugs.webkit.org/show_bug.cgi?id=31140
1123
1124         QtNetwork interprets null string as request to remove the header, not add it.
1125         Replace null values with empty values before passing them to QtNetwork.
1126
1127         Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
1128
1129         * platform/network/qt/ResourceRequestQt.cpp:
1130         (WebCore::ResourceRequest::toNetworkRequest):
1131
1132 2009-11-09  Vadim Zeitlin  <vadim@wxwidgets.org>
1133
1134         Reviewed by Kevin Ollivier.
1135
1136         [wx] Fix handling of alpha channel when using wxWidgets 2.9: it was
1137         simply ignored before resulting in transparent areas being black in PNG
1138         images for example.
1139         
1140         https://bugs.webkit.org/show_bug.cgi?id=30823
1141
1142         * platform/image-decoders/wx/ImageDecoderWx.cpp:
1143         (WebCore::RGBA32Buffer::asNewNativeImage):
1144
1145 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1146
1147         Reviewed by Kenneth Rohde Christiansen.
1148
1149         Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
1150         https://bugs.webkit.org/show_bug.cgi?id=31040
1151
1152         No new tests as there is no functional change.
1153
1154         * dom/Document.cpp:
1155         (WebCore::Document::recalcStyleSelector):
1156         * editing/TextIterator.cpp:
1157         (WebCore::pushFullyClippedState):
1158         * editing/VisibleSelection.cpp:
1159         (WebCore::VisibleSelection::appendTrailingWhitespace):
1160         * html/HTMLLinkElement.cpp:
1161         (WebCore::HTMLLinkElement::process):
1162         * loader/RedirectScheduler.cpp:
1163         (WebCore::RedirectScheduler::mustLockBackForwardList):
1164         * loader/appcache/ApplicationCacheGroup.cpp:
1165         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1166         * platform/graphics/qt/FontCacheQt.cpp:
1167         (WebCore::FontPlatformDataCacheKey::computeHash):
1168         * rendering/RenderBlock.cpp:
1169         (WebCore::RenderBlock::handleRunInChild):
1170         * rendering/RenderBox.cpp:
1171         (WebCore::RenderBox::calcHeight):
1172         * rendering/RenderTextControlMultiLine.cpp:
1173         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
1174         * rendering/style/RenderStyle.cpp:
1175         (WebCore::RenderStyle::diff):
1176         * svg/SVGAnimateElement.cpp:
1177         (WebCore::parseNumberValueAndUnit):
1178         * svg/SVGAnimationElement.cpp:
1179         (WebCore::SVGAnimationElement::startedActiveInterval):
1180         * svg/SVGPreserveAspectRatio.cpp:
1181         (WebCore::SVGPreserveAspectRatio::getCTM):
1182
1183 2009-11-09  Shinichiro Hamaji  <hamaji@chromium.org>
1184
1185         Reviewed by Dimitri Glazkov.
1186
1187         Win chromium is slow to draw transparent texts
1188         https://bugs.webkit.org/show_bug.cgi?id=31258
1189
1190         Clip graphics context to reduce calculation.
1191
1192         No new tests because this change only affects performance.
1193
1194         * platform/graphics/chromium/FontChromiumWin.cpp:
1195         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
1196         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
1197
1198 2009-11-09  Carol Szabo  <carol.szabo@nokia.com>
1199
1200         Reviewed by Darin Adler.
1201
1202         showTree(CounterNode*) generates too little info and has too many spaces.
1203         https://bugs.webkit.org/show_bug.cgi?id=31212
1204
1205         No new tests as the change has no functional effect it is just for
1206         improved debugging.
1207
1208         * rendering/CounterNode.cpp:
1209         (WebCore::showTreeAndMark):
1210         Changed to also show addresses of parent, next and previous
1211         siblings.
1212
1213 2009-11-09  Stuart Morgan  <stuartmorgan@chromium.org>
1214
1215         Reviewed by Darin Adler.
1216
1217         Moves Mac implementation of setUseSecureKeyboardEntry to Frame.cpp and
1218         enables it PLATFORM(CHROMIUM) in addition to PLATFORM(MAC).
1219
1220         https://bugs.webkit.org/show_bug.cgi?id=31083
1221
1222         No new tests; implementation is unchanged.
1223
1224         * page/Frame.cpp:
1225         (WebCore::Frame::setUseSecureKeyboardEntry):
1226         * page/mac/FrameMac.mm:
1227
1228 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1229
1230         Reviewed by Jan Alonzo.
1231
1232         Make XP_UNIX tests consistent
1233         https://bugs.webkit.org/show_bug.cgi?id=31250
1234
1235         No new tests as there is no functional change.
1236
1237         * plugins/PluginView.cpp:
1238         (WebCore::PluginView::setFrameRect): Test if XP_UNIX is defined
1239         instead of the value of the macro
1240
1241         * plugins/gtk/PluginViewGtk.cpp:
1242         (WebCore::PluginView::setNPWindowIfNeeded): Test if the XP_UNIX is
1243         defined instead of using the PLATFORM macro to be consistent
1244         (WebCore::PluginView::getValue): Ditto.
1245
1246 2009-11-09  Kevin Watters  <kevinwatters@gmail.com>
1247
1248         Reviewed by Darin Adler.
1249
1250         Thunk to the main thread from ~Database to deref Database's m_document.
1251
1252         If the Database was the Document's last referrer, then ~Document occurs on the
1253         Database thread, and ASSERT(!m_styleRecalcTimer.isActive()) hits a main thread
1254         ASSERT in debug builds.
1255
1256         * storage/Database.cpp:
1257         (WebCore::derefDocument):
1258         (WebCore::Database::~Database):
1259
1260 2009-11-09  Mark Mentovai  <mark@chromium.org>
1261
1262         Reviewed by Dan Bernstein.
1263
1264         Track "can have scrollbar" state within FrameView independently of the
1265         individual scrollbar states in ScrollView.
1266
1267         rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
1268         REGRESSION (r48064): mint.com loses scrollbars after coming out of
1269         edit mode.
1270
1271         rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
1272         REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
1273
1274         Test: fast/overflow/scrollbar-restored.html
1275
1276         * WebCore.base.exp:
1277         * page/FrameView.cpp:
1278         (WebCore::FrameView::FrameView):
1279         (WebCore::FrameView::resetScrollbars):
1280         (WebCore::FrameView::setCanHaveScrollbars):
1281         (WebCore::FrameView::updateCanHaveScrollbars):
1282         (WebCore::FrameView::layout):
1283         * page/FrameView.h:
1284         * platform/ScrollView.h:
1285
1286 2009-11-09  Keishi Hattori  <casey.hattori@gmail.com>
1287
1288         Reviewed by Timothy Hatcher.
1289
1290         Web Inspector: CSS syntax highlighter doesn't recognize negative numbers
1291         https://bugs.webkit.org/show_bug.cgi?id=31257
1292
1293         * inspector/front-end/SourceFrame.js:
1294
1295 2009-11-09  Alexander Pavlov  <apavlov@chromium.org>
1296
1297         Reviewed by Timothy Hatcher.
1298
1299         Web Inspector: Debugger shortcuts (F8, F10, F11) have no effect if the Console view is open
1300         https://bugs.webkit.org/show_bug.cgi?id=31252
1301
1302         Route F1-F12 keypresses in the Console view to the current panel if there is one.
1303
1304         Test: manual-tests/inspector/debugger-shortcuts-with-console-opened.html
1305
1306         * inspector/front-end/ConsoleView.js:
1307         (WebInspector.ConsoleView.prototype._promptKeyDown):
1308         * inspector/front-end/utilities.js:
1309         ():
1310         * manual-tests/inspector/debugger-shortcuts-with-console-opened.html: Added.
1311
1312 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
1313
1314         Reviewed by Kenneth Rohde Christiansen.
1315
1316         [Qt] Pass credentials provided by XMLHTTPRequest to the network request.
1317         https://bugs.webkit.org/show_bug.cgi?id=31208
1318
1319         After r42483, the credentials are no longer passed to the network request
1320         in the URL of the request.
1321         Pass the credentials from XMLHTTPRequest to the network request, the same
1322         way that other ports do.
1323
1324         After this patch LayoutTests/http/xmlhttprequest/basic-auth.html passes.
1325
1326         * platform/network/qt/ResourceHandleQt.cpp:
1327         (WebCore::ResourceHandle::start):
1328         (WebCore::ResourceHandle::loadResourceSynchronously):
1329
1330 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1331
1332         Unreviewed.
1333
1334         https://bugs.webkit.org/show_bug.cgi?id=31161
1335
1336         Roll back r50657 because it breaks the MAC builds.
1337
1338         * loader/ImageLoader.cpp:
1339         * loader/ProgressTracker.cpp:
1340         * loader/RedirectScheduler.cpp:
1341         * loader/Request.h:
1342         * loader/ThreadableLoaderClient.h:
1343         * loader/WorkerThreadableLoader.h:
1344         * loader/appcache/ApplicationCacheHost.h:
1345         * loader/appcache/ApplicationCacheStorage.h:
1346         * loader/icon/IconDatabaseClient.h:
1347
1348 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1349
1350         Reviewed by Darin Adler.
1351
1352         Allow custom memory allocation control for the part of loader directory in WebCore
1353         https://bugs.webkit.org/show_bug.cgi?id=31161
1354
1355         Inherits the following classes from Noncopyable because these are instantiated
1356         by 'new' and these are no need to be copyable:
1357
1358         class Request - WebCore/loader/loader.cpp:100
1359         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
1360         class IconDatabaseClient - WebCore/loader/icon/IconDatabase.cpp:89
1361         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
1362         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
1363         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
1364         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
1365
1366         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
1367         MainThreadBridge is instantiated by 'new' in 
1368         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
1369
1370         ThreadableLoaderClient's inheriting has been changed to public.
1371
1372         * loader/ImageLoader.cpp:
1373         * loader/ProgressTracker.cpp:
1374         * loader/RedirectScheduler.cpp:
1375         * loader/Request.h:
1376         * loader/ThreadableLoaderClient.h:
1377         * loader/WorkerThreadableLoader.h:
1378         * loader/appcache/ApplicationCacheHost.h:
1379         * loader/appcache/ApplicationCacheStorage.h:
1380         * loader/icon/IconDatabaseClient.h:
1381
1382 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1383
1384         Reviewed by Darin Adler.
1385
1386         Allow custom memory allocation control for WebCore's DocLoader
1387         https://bugs.webkit.org/show_bug.cgi?id=31163
1388
1389         Inherits DocLoader class from Noncopyable because it is
1390         instantiated by 'new' in WebCore/dom/Document.cpp:370 and 
1391         it is no need to be copyable.
1392
1393         * loader/DocLoader.h:
1394
1395 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1396
1397         Reviewed by Darin Adler.
1398
1399         Allow custom memory allocation control for WebCore's Tokenizer
1400         https://bugs.webkit.org/show_bug.cgi?id=31162
1401
1402         Inherits Tokenizer class from Noncopyable because (its child class)
1403         ImageTokenizer instantiated by 'new' in WebCore/loader/ImageDocument.cpp:178 
1404         and it is no need to be copyable.
1405
1406         * dom/Tokenizer.h:
1407
1408 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1409
1410         Reviewed by Darin Adler.
1411
1412         Allow custom memory allocation control for WebCore's DeleteButtonController
1413         https://bugs.webkit.org/show_bug.cgi?id=31105
1414
1415         Inherits DeleteButtonController class from Noncopyable because it is 
1416         instantiated by 'new' in WebCore/editing/Editor.cpp:919 and
1417         it is no need to be copyable.  
1418
1419         * editing/DeleteButtonController.h:
1420
1421 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
1422
1423         Reviewed by Jan Alonzo.
1424
1425         [GTK] Expose Page::tabKeyCyclesThroughElements in the API
1426         https://bugs.webkit.org/show_bug.cgi?id=30482
1427
1428         Expose Page::tabKeyCyclesThroughElements as a property of
1429         WebKitWebView.
1430
1431         No new tests; fast/events/keypress-insert-tab.html is no longer skipped.
1432
1433         * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses.
1434         (WebCore::singleCharacterString):
1435
1436 2009-11-09  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1437
1438         Reviewed by Xan Lopez.
1439
1440         https://bugs.webkit.org/show_bug.cgi?id=25415
1441         [GTK][ATK] Please implement support for get_text_at_offset
1442
1443         Fix a crasher that occurred with text which included newline
1444         chars in the markup.
1445
1446         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1447         (convertUniCharToUTF8):
1448
1449 2009-11-05  Jakub Wieczorek  <faw217@gmail.com>
1450
1451         Reviewed by Holger Freyther.
1452
1453         [Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found.
1454         https://bugs.webkit.org/show_bug.cgi?id=31144
1455
1456         XMLTokenizer::doEnd() uses an additional logic to report a parse failure in
1457         documents that end prematurely but are not considered invalid by QXmlStream.
1458         This is to stay compatible with the libxml2 implementation.
1459         However, that code path would be also hit in situations when it should not,
1460         i.e. the error would have already been caught and handled. As a result, the
1461         same error would be reported twice.
1462
1463         No new tests, because the problem is already covered by
1464         fast/parser/xml-declaration-missing-ending-mark.html.
1465
1466         * dom/XMLTokenizerQt.cpp:
1467         (WebCore::XMLTokenizer::doEnd):
1468
1469 2009-11-08  Keishi Hattori  <casey.hattori@gmail.com>
1470
1471         Reviewed by Pavel Feldman.
1472
1473         Web Inspector: Inspector should support copy() in the command line
1474         https://bugs.webkit.org/show_bug.cgi?id=31238
1475
1476         * inspector/InspectorBackend.cpp:
1477         (WebCore::InspectorBackend::copyText): Added.
1478         * inspector/InspectorBackend.h: Added copyText
1479         * inspector/InspectorBackend.idl: Added copyText
1480         * inspector/front-end/InjectedScript.js:
1481         (InjectedScript._copy): Added.
1482         (InjectedScript._ensureCommandLineAPIInstalled):
1483
1484 2009-11-08  Drew Wilson  <atwilson@chromium.org>
1485
1486         Reviewed by Dimitri Glazkov.
1487
1488         V8 WorkerContextExecutionProxy does not handle SharedWorkers
1489         https://bugs.webkit.org/show_bug.cgi?id=31226
1490
1491         Now checks to see what type of context is active and creates the
1492         appropriate wrapper (DEDICATEDWORKERCONTEXT vs SHAREDWORKERCONTEXT).
1493
1494         Added support for converting to SharedWorkers and SharedWorkerContexts.
1495
1496         Test: Existing layout tests cover this case (start passing in Chrome).
1497
1498         * bindings/v8/WorkerContextExecutionProxy.cpp:
1499         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1500         Now generates the right type of DOMWrapper for SharedWorkerContexts.
1501         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
1502         Added support for SHAREDWORKERCONTEXT.
1503         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
1504         Added support for SharedWorker and SharedWorkerContext.
1505
1506 2009-11-08  Johnny Ding  <johnnyding.webkit@gmail.com>
1507
1508         Reviewed by Dimitri Glazkov.
1509
1510         https://bugs.webkit.org/show_bug.cgi?id=31224
1511         [V8] Return StyleSheet object instead of HTMLStyleElement w/document.styleSheets named property getter.
1512
1513         Test: fast/dom/StyleSheet/get-stylesheet-byname.html
1514
1515         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1516         (WebCore::NAMED_PROPERTY_GETTER):
1517
1518 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
1519
1520         Reviewed by Timothy Hatcher.
1521
1522         Web Inspector: "Search again" on scripts panel switches
1523         to the script this search started with.
1524
1525         https://bugs.webkit.org/show_bug.cgi?id=31243
1526
1527         * inspector/front-end/Panel.js:
1528         (WebInspector.Panel.prototype.jumpToNextSearchResult):
1529
1530 2009-11-08  Kent Tamura  <tkent@chromium.org>
1531
1532         Reviewed by Darin Adler.
1533
1534         Simplify Icon interface.
1535         https://bugs.webkit.org/show_bug.cgi?id=31154
1536
1537         - Remove Icon::createIconForFile().  createIconForFiles() covers
1538           createIconForFile()'s role.
1539         - Remove FileChooser::chooseIcon()
1540         - Change the parameter types of FileChooser constructor and the
1541           factory method, String -> const Vector<String>&, in order to
1542           support initialization with multiple files.
1543         - Remove the icon loading code in IconChromiumWin.cpp, which
1544           doesn't work because of the sandbox.
1545
1546         No tests because it's just a refactoring.
1547
1548         * platform/FileChooser.cpp:
1549         (WebCore::FileChooser::FileChooser):
1550         (WebCore::FileChooser::create):
1551         (WebCore::FileChooser::chooseFile):
1552         (WebCore::FileChooser::chooseFiles):
1553         * platform/FileChooser.h:
1554         * platform/graphics/Icon.h:
1555         * platform/graphics/chromium/IconChromiumLinux.cpp:
1556         * platform/graphics/chromium/IconChromiumMac.cpp:
1557         * platform/graphics/chromium/IconChromiumWin.cpp:
1558         (WebCore::Icon::createIconForFiles):
1559         * platform/graphics/gtk/IconGtk.cpp:
1560         (WebCore::Icon::createIconForFiles):
1561         * platform/graphics/haiku/IconHaiku.cpp:
1562         * platform/graphics/mac/IconMac.mm:
1563         (WebCore::Icon::createIconForFiles):
1564         * platform/graphics/qt/IconQt.cpp:
1565         (WebCore::Icon::createIconForFiles):
1566         * platform/graphics/win/IconWin.cpp:
1567         (WebCore::Icon::createIconForFiles):
1568         * platform/graphics/wx/IconWx.cpp:
1569         * rendering/RenderFileUploadControl.cpp:
1570         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
1571
1572 2009-11-08  Daniel Bates  <dbates@webkit.org>
1573
1574         Reviewed by Adam Barth.
1575
1576         https://bugs.webkit.org/show_bug.cgi?id=31098
1577
1578         Allows same-origin plugin-based content to load.
1579
1580         Test: http/tests/security/xssAuditor/object-src-inject.html
1581
1582         * page/XSSAuditor.cpp:
1583         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Modified to call XSSAuditor::isSameOriginResource.
1584         (WebCore::XSSAuditor::canLoadObject): Ditto.
1585         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 
1586         (WebCore::XSSAuditor::isSameOriginResource): Added.
1587         * page/XSSAuditor.h:
1588
1589 2009-11-08  David Levin  <levin@chromium.org>
1590
1591         Reviewed by NOBODY (chromium build fix).
1592
1593         * platform/network/HTTPParsers.cpp:
1594         (WebCore::parseDate): Changed this to not
1595         use a date parser that needs ExecState passed.
1596         
1597 2009-11-08  David Levin  <levin@chromium.org>
1598
1599         Unreviewed build fix for chromium.
1600
1601         * platform/graphics/skia/GraphicsContextSkia.cpp:
1602         (WebCore::GraphicsContext::fillPath):
1603         (WebCore::GraphicsContext::fillRect):
1604         (WebCore::GraphicsContext::strokePath):
1605         (WebCore::GraphicsContext::strokeRect):
1606
1607 2009-11-08  David Levin  <levin@chromium.org>
1608
1609         Unreviewed build fix for chromium.
1610
1611         Build fix for https://bugs.webkit.org/show_bug.cgi?id=31219
1612         Clean up GraphicsContext's current concept of ColorSpace
1613
1614         * platform/graphics/skia/GraphicsContextSkia.cpp:
1615         (WebCore::GraphicsContext::fillPath):
1616         (WebCore::GraphicsContext::fillRect):
1617         (WebCore::GraphicsContext::strokePath):
1618         (WebCore::GraphicsContext::strokeRect):
1619
1620 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
1621
1622         Reviewed by Timothy Hatcher.
1623
1624         Web Inspector: [REGRESSION] committing style edit
1625         clears elements panel selection.
1626
1627         https://bugs.webkit.org/show_bug.cgi?id=31242
1628
1629         * inspector/front-end/ElementsTreeOutline.js:
1630         (WebInspector.ElementsTreeOutline.prototype.update):
1631         * inspector/front-end/StylesSidebarPane.js:
1632         (WebInspector.StylePropertyTreeElement.prototype.):
1633         (WebInspector.StylePropertyTreeElement.prototype):
1634
1635 2009-11-08  Janne Koskinen  <janne.p.koskinen@digia.com>
1636
1637         Reviewed by Holger Freyther.
1638
1639         ResourceRequest to be class instead of struct
1640         https://bugs.webkit.org/show_bug.cgi?id=30670
1641
1642         Started as a compilation fix for Symbian where the compiler makes a distinction between
1643         class and struct in function argument signatures.
1644         Changed all forward declarations of ResourceRequest to have class in the forward
1645         declaration instead of struct and changed the definition of ResourceRequest to be class
1646         and added access qualifiers where missing. Additionally two references of friend
1647         struct ResourceRequestBase changed to class instead.
1648
1649         * history/HistoryItem.h:
1650         * inspector/InspectorController.h:
1651         * inspector/InspectorResource.h:
1652         * loader/DocumentThreadableLoader.h:
1653         * loader/FrameLoaderClient.h:
1654         * loader/MainResourceLoader.h:
1655         * loader/ResourceLoadNotifier.h:
1656         * loader/SubresourceLoader.h:
1657         * loader/SubresourceLoaderClient.h:
1658         * loader/ThreadableLoader.h:
1659         * loader/WorkerThreadableLoader.h:
1660         * loader/appcache/ApplicationCache.h:
1661         * loader/appcache/ApplicationCacheHost.h:
1662         * platform/CrossThreadCopier.h:
1663         * platform/network/ResourceHandle.h:
1664         * platform/network/ResourceHandleClient.h:
1665         * platform/network/ResourceRequestBase.h:
1666         * platform/network/cf/ResourceRequest.h:
1667         * platform/network/cf/ResourceRequestCFNet.h:
1668         * platform/network/chromium/ResourceRequest.h:
1669         * platform/network/curl/ResourceRequest.h:
1670         * platform/network/qt/ResourceRequest.h:
1671         * platform/network/soup/ResourceRequest.h:
1672         * xml/XMLHttpRequest.h:
1673
1674 2009-11-08  Dan Bernstein  <mitz@apple.com>
1675
1676         Reviewed by Simon Fraser.
1677
1678         <rdar://problem/7363434> Crash inside RenderObject::localToAbsolute
1679         below FrameView::layout
1680         https://bugs.webkit.org/show_bug.cgi?id=31093
1681
1682         Test: fast/block/positioning/relative-positioned-inline-container.html
1683
1684         In <http://trac.webkit.org/changeset/19148>, setStaticY() was changed
1685         to mark the object for layout, doing so without marking its ancestors.
1686         However, RenderBlock::skipLeadingWhitespace and
1687         RenderBlock::skipTrailingWhitespace() call setStaticY() on a relative-
1688         positioned inline container, causing it to be marked for layout without
1689         ever going back to give it layout, and thus layout could end with a
1690         dirty object still in the tree, leading to all sorts of badness.
1691
1692         The fix is to revert setStaticY() to not marking the object dirty, and
1693         instead do it in the call sites that require it, which are in
1694         RenderBlock and RenderFlexibleBox.
1695
1696         * rendering/RenderBlock.cpp:
1697         (WebCore::RenderBlock::adjustPositionedBlock):
1698         * rendering/RenderFlexibleBox.cpp:
1699         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1700         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1701         * rendering/RenderLayer.cpp:
1702         * rendering/RenderLayer.h:
1703         (WebCore::RenderLayer::setStaticY):
1704
1705 2009-11-07  Daniel Bates  <dbates@webkit.org>
1706
1707         Reviewed by Darin Adler.
1708
1709         https://bugs.webkit.org/show_bug.cgi?id=20780
1710         
1711         Fixes an issue where the onchange event handler is not fired when the 
1712         input field is autocompleted.
1713         
1714         We cannot test this using DRT since DRT cannot emulate autocompletion.
1715         So, a manual-test is included.
1716
1717         Tests: manual-tests/autocompletion-fire-onchange.html
1718
1719         * manual-tests/autocompletion-fire-onchange.html: Added.
1720         * rendering/RenderTextControl.cpp:
1721         (WebCore::RenderTextControl::setInnerTextValue):
1722
1723 2009-11-07  Benjamin Otte  <otte@gnome.org>
1724
1725         Reviewed by Holger Freyther.
1726
1727         Mark redrawn areas on image surfaces as dirty.
1728
1729         This is required to conform to the Cairo API, but is currently only
1730         used by debugging tools like cairo-trace.
1731
1732         * platform/graphics/cairo/ImageBufferCairo.cpp:
1733         (WebCore::ImageBuffer::platformTransformColorSpace):
1734         (WebCore::putImageData):
1735
1736 2009-11-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1737
1738         Reviewed by Xan Lopez.
1739
1740         https://bugs.webkit.org/show_bug.cgi?id=30878
1741         [Gtk] atk_text_get_text() fails in entries when the end_offset is -1
1742
1743         If the end_offset is -1, use the String length as the end_offset.
1744
1745         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1746         (webkit_accessible_text_get_text):
1747
1748 2009-11-06  Beth Dakin  <bdakin@apple.com>
1749
1750         Reviewed by Adele Peterson.
1751
1752         Fix for https://bugs.webkit.org/show_bug.cgi?id=31219 Clean up 
1753         GraphicsContext's current concept of ColorSpace
1754
1755         ColorSpace is now called ColorType. The variables on the state we 
1756         appropriately re-named as well. I removed strokeColorSpace() and 
1757         fillColorSpace() from GraphicsContext since they were never called. 
1758
1759         * platform/graphics/GraphicsContext.cpp:
1760         (WebCore::GraphicsContext::setStrokeColor):
1761         (WebCore::GraphicsContext::setFillColor):
1762         (WebCore::GraphicsContext::setStrokePattern):
1763         (WebCore::GraphicsContext::setFillPattern):
1764         (WebCore::GraphicsContext::setStrokeGradient):
1765         (WebCore::GraphicsContext::setFillGradient):
1766         * platform/graphics/GraphicsContext.h:
1767         (WebCore::):
1768         * platform/graphics/GraphicsContextPrivate.h:
1769         (WebCore::GraphicsContextState::GraphicsContextState):
1770         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1771         (WebCore::GraphicsContext::fillPath):
1772         (WebCore::GraphicsContext::strokePath):
1773         * platform/graphics/cg/GraphicsContextCG.cpp:
1774         (WebCore::calculateDrawingMode):
1775         (WebCore::GraphicsContext::drawPath):
1776         (WebCore::GraphicsContext::fillPath):
1777         (WebCore::GraphicsContext::strokePath):
1778         (WebCore::GraphicsContext::fillRect):
1779         (WebCore::GraphicsContext::strokeRect):
1780         * platform/graphics/qt/GraphicsContextQt.cpp:
1781         (WebCore::GraphicsContext::fillPath):
1782         (WebCore::GraphicsContext::strokePath):
1783         (WebCore::GraphicsContext::fillRect):
1784         * platform/graphics/wince/GraphicsContextWince.cpp:
1785         (WebCore::GraphicsContext::fillPath):
1786         (WebCore::GraphicsContext::fillRect):
1787
1788 2009-11-06  Brian Weinstein  <bweinstein@apple.com>
1789
1790         Reviewed by Tim Hatcher.
1791
1792         Fixes <http://webkit.org/b/31177>.
1793         Web Inspector: Bind backspace to delete cookies and DOM Storage.
1794         
1795         Refactor editing code from DOMStorageDataGrid to DataGrid, so other
1796         places in the inspector can use editing in DataGrid (added a FIXME for
1797         some stuff that needs to be generalized).
1798         
1799         Also added deleting functionality to DataGrid, and implemented it for
1800         Cookies and DOM Storage. The reason this patch is so big is because of
1801         the refactoring of editing code, which won't be used yet in a cross-datagrid
1802         way, but should be able to.
1803         
1804         Additionally, moved the callbacks members from DOMStorageDataGrid to
1805         DOMStorageItemsView, which allowed us to delete DOMStorageDataGrid, to 
1806         make the architecture of DOM Storage look a lot more like the Cookies view.
1807         
1808         Lastly, added a preventDefault call in ElementsTreeOutline to prevent the 
1809         inspector from beeping at you when you delete an element.
1810
1811         * WebCore.gypi: Removed DOMStorageDataGrid.
1812         * WebCore.vcproj/WebCore.vcproj: Removed DOMStorageDataGrid.
1813         * inspector/front-end/CookieItemsView.js:
1814         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
1815         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
1816         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
1817         * inspector/front-end/DOMStorageDataGrid.js: Removed.
1818         * inspector/front-end/DOMStorageItemsView.js:
1819         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
1820         (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
1821         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
1822         (WebInspector.DOMStorageItemsView.prototype._editingCallback):
1823         (WebInspector.DOMStorageItemsView.prototype.deleteSelectedRow):
1824         (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
1825         * inspector/front-end/DataGrid.js:
1826         (WebInspector.DataGrid):
1827         (WebInspector.DataGrid.prototype._ondblclick): Moved from DOMStorageDataGrid to DataGrid + Refactoring.
1828         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): Ditto.
1829         (WebInspector.DataGrid.prototype._startEditing): Ditto.
1830         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded): Ditto.
1831         (WebInspector.DataGrid.prototype._editingCommitted): Ditto.
1832         (WebInspector.DataGrid.prototype._editingCancelled): Ditto.
1833         (WebInspector.DataGrid.prototype.handleKeyEvent): Added case for delete/backspace.
1834         * inspector/front-end/ElementsTreeOutline.js:
1835         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): Added preventDefault call.
1836         * inspector/front-end/WebKit.qrc: Removed DOMStorageDataGrid.
1837         * inspector/front-end/inspector.html: Removed DOMStorageDataGrid.
1838
1839 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
1840
1841         Qt build fix: added an ExecState parameter.
1842
1843         * bridge/qt/qt_runtime.cpp:
1844         (JSC::Bindings::convertValueToQVariant):
1845         (JSC::Bindings::convertQVariantToValue):
1846
1847 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
1848
1849         https://bugs.webkit.org/show_bug.cgi?id=31197
1850         Implemented a timezone cache not based on Mac OS X's notify_check API.
1851
1852         Updated for JavaScriptCore internal API change.
1853
1854         * bridge/qt/qt_runtime.cpp:
1855         (JSC::Bindings::convertValueToQVariant):
1856         (JSC::Bindings::convertQVariantToValue): Updated for namespace change.
1857
1858         * platform/network/HTTPParsers.cpp:
1859         (WebCore::parseDate): Pass 0 for ExecState, since we don't have one.
1860         (This function probably shouldn't be using a JavaScript date parser
1861         to begin with, but oh well.)
1862
1863 2009-11-06  Anantanarayanan G Iyengar  <ananta@chromium.org>
1864
1865         Reviewed by Adam Barth.
1866
1867         The associated webkit bug is https://bugs.webkit.org/show_bug.cgi?id=31067,
1868         which affects Chromium only.
1869         
1870         Changes to V8HTMLDocumentCustom.cpp are as below:-
1871         1. The HTMLDocumentOpen function would cause a crash in Chromium if
1872            there was no calling javascript context. We now check for this case
1873            and pass in NULL to the HTMLDocument::open function which can handle
1874            a NULL document parameter.
1875         2. The other functions like HTMLDocumentWrite, HTMLDocumentWriteln, etc
1876            had ASSERTS for a NULL caller frame, which was bogus as it would crash
1877            anyway. We now check for this case and return a failure.
1878            
1879         Changes to V8DOMWindowCustom.cpp are as below:-
1880         1. Instead of failing the window.open call made by NPAPI for lack of a
1881            calling javascript context, we now use the entered context as the calling
1882            context.
1883
1884         Tests: plugins/document-open.html
1885                plugins/window-open.html
1886
1887         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1888         (WebCore::CALLBACK_FUNC_DECL):
1889         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1890         (WebCore::CALLBACK_FUNC_DECL):
1891
1892 2009-11-06  Steve Block  <steveblock@google.com>
1893
1894         Reviewed by Eric Seidel.
1895
1896         Geolocation error code UNKNOWN_ERROR is deprecated.
1897         https://bugs.webkit.org/show_bug.cgi?id=31184
1898
1899         Remove this error code from PositionError, both for use from C++ code and from the JS object.
1900
1901         Updated fast/dom/Geolocation/error.html to test this.
1902
1903         * page/PositionError.h: Modified.
1904         (WebCore::PositionError::): Remove ErrorCode::UNKNOWN_ERROR.
1905         * page/PositionError.idl: Modified. Remove UNKNOWN_ERROR constant.
1906         * page/Geolocation.cpp: Modified.
1907         (WebCore::Geolocation::startRequest): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
1908         * platform/gtk/GeolocationServiceGtk.cpp: Modified.
1909         (WebCore::GeolocationServiceGtk::startUpdating): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
1910
1911 2009-11-06  Dirk Schulze  <krit@webkit.org>
1912
1913         Reviewed by Nikolas Zimmermann.
1914
1915         feMorphology filter is not implemented
1916         [https://bugs.webkit.org/show_bug.cgi?id=5863]
1917
1918         The Implementation of feMorphology.
1919         
1920         Test: We have allready a test for feMorphology
1921               svg/W3C-SVG-1.1/filters-morph-01-f.svg
1922
1923         * svg/graphics/filters/SVGFEMorphology.cpp:
1924         (WebCore::FEMorphology::apply):
1925
1926 2009-11-06  Steve Block  <steveblock@google.com>
1927
1928         Reviewed by Eric Seidel.
1929
1930         V8DOMWindowCustom.cpp is missing WEB_SOCKETS guard on include.
1931         https://bugs.webkit.org/show_bug.cgi?id=31209
1932
1933         Build fix only. No new tests possible.
1934
1935         * bindings/v8/custom/V8DOMWindowCustom.cpp: Modified. Added WEB_SOCKETS guard on inclue of WebSockets.h.
1936
1937 2009-11-06  Drew Wilson  <atwilson@chromium.org>
1938
1939         Reviewed by David Levin.
1940
1941         V8 bindings do not support SharedWorkers as event targets
1942         https://bugs.webkit.org/show_bug.cgi?id=31199
1943
1944         No new tests because existing layout tests suffice (they currently
1945         crash on Chromium)
1946
1947         * bindings/v8/V8DOMWrapper.cpp:
1948         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1949         Added clause to create a DOM wrapper for SharedWorkers.
1950
1951 2009-11-06  Anton Muhin  <antonm@chromium.org>
1952
1953         Reviewed by Adam Barth.
1954
1955         Do not unnecessarly synchronzie in weak reference callbacks.
1956         https://bugs.webkit.org/show_bug.cgi?id=31191
1957
1958         * bindings/v8/DOMData.h:
1959         (WebCore::DOMData::handleWeakObject):
1960
1961 2009-11-06  Alexander Pavlov  <apavlov@chromium.org>
1962
1963         Reviewed by Pavel Feldman.
1964
1965         Fix resource content search.
1966         https://bugs.webkit.org/show_bug.cgi?id=31202
1967
1968         * inspector/front-end/AbstractTimelinePanel.js:
1969         (WebInspector.AbstractTimelinePanel.prototype.refresh):
1970         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
1971         * inspector/front-end/TimelinePanel.js:
1972         (WebInspector.TimelineGraph.prototype.refresh):
1973
1974 2009-11-05  Yuta Kitamura  <yutak@chromium.org>
1975
1976         Reviewed by Eric Seidel.
1977
1978         Fix ASSERT(currentStyle = renderStyle()).
1979         https://bugs.webkit.org/show_bug.cgi?id=31152
1980
1981         * dom/Element.cpp:
1982         (WebCore::Element::pseudoStyleCacheIsInvalid): We should have used "==" instead of "=".
1983
1984 2009-11-05  Alpha Lam  <hclam@chromium.org>
1985
1986         Revert 50562 because it broke Chromium. Not reviewed since this is a build fix and revert.
1987
1988         * bindings/v8/V8GCController.cpp:
1989         (WebCore::V8GCController::gcEpilogue):
1990         * bindings/v8/V8GCController.h:
1991         * bindings/v8/V8Proxy.cpp:
1992         (WebCore::V8Proxy::evaluate):
1993         (WebCore::V8Proxy::runScript):
1994         (WebCore::V8Proxy::callFunction):
1995
1996 2009-11-05  Adam Barth  <abarth@webkit.org>
1997
1998         Reviewed by Sam Weinig.
1999
2000         Cross-domain access to stylesheet text should not be allowed
2001         https://bugs.webkit.org/show_bug.cgi?id=20527
2002
2003         Check whether whether the current document can read the cssRules from
2004         the style sheet.  Firefox throws a security error here, but we return
2005         null instead because that's what we usually do in these cases.
2006
2007         Test: http/tests/security/cannot-read-cssrules-redirect.html
2008               http/tests/security/cannot-read-cssrules.html
2009
2010         * css/CSSStyleSheet.cpp:
2011         (WebCore::CSSStyleSheet::cssRules):
2012
2013 2009-11-05  Steve Block  <steveblock@google.com>
2014
2015         Reviewed by Eric Seidel.
2016
2017         If the Geolocation service fails to start, invoke the error callback asynchronously.
2018         https://bugs.webkit.org/show_bug.cgi?id=28276
2019
2020         All Geolocation callbacks must be invoked asynchronously.
2021         See http://www.w3.org/TR/geolocation-API/#geolocation_interface
2022
2023         No new tests possible with current LayoutTestController.
2024
2025         * page/Geolocation.cpp:
2026         (WebCore::Geolocation::getCurrentPosition): Modified. Asserts that startRequest returned a notifier.
2027         (WebCore::Geolocation::watchPosition): Modified. Asserts that startRequest returned a notifier.
2028         (WebCore::Geolocation::startRequest): Modified. If the Geolocation service fails to start, set a fatal error on the notifier.
2029
2030 2009-11-05  Chris Jerdonek  <chris.jerdonek@gmail.com>
2031
2032         Reviewed by Eric Seidel.
2033
2034         Removed the "this is part of the KDE project" comments from 
2035         all *.h, *.cpp, *.idl, and *.pm files.
2036         
2037         https://bugs.webkit.org/show_bug.cgi?id=31167
2038         
2039         The maintenance and architecture page in the project wiki lists
2040         this as a task.
2041         
2042         This change includes no changes or additions to test cases 
2043         since the change affects only comments.
2044
2045         * bindings/scripts/CodeGeneratorV8.pm:
2046         * bindings/scripts/IDLParser.pm:
2047         * bindings/scripts/IDLStructure.pm:
2048         * css/CSSInheritedValue.cpp:
2049         * css/CSSInitialValue.cpp:
2050         * css/CSSMediaRule.cpp:
2051         * css/CSSNamespace.h:
2052         * css/CSSProperty.cpp:
2053         * css/CSSProperty.h:
2054         * css/CSSRuleList.cpp:
2055         * css/CSSRuleList.h:
2056         * css/CSSSelector.h:
2057         * css/CSSValueList.cpp:
2058         * css/FontValue.cpp:
2059         * css/MediaFeatureNames.cpp:
2060         * css/MediaFeatureNames.h:
2061         * css/Pair.h:
2062         * css/SVGCSSStyleSelector.cpp:
2063         * css/ShadowValue.cpp:
2064         * css/StyleSheet.cpp:
2065         * css/StyleSheetList.cpp:
2066         * css/maketokenizer:
2067         * dom/BeforeUnloadEvent.cpp:
2068         * dom/BeforeUnloadEvent.h:
2069         * dom/CSSMappedAttributeDeclaration.cpp:
2070         * dom/EventNames.cpp:
2071         * dom/EventTarget.cpp:
2072         * dom/MappedAttributeEntry.h:
2073         * dom/MouseRelatedEvent.h:
2074         * dom/RangeException.h:
2075         * dom/StyleElement.h:
2076         * dom/Tokenizer.h:
2077         * html/HTMLHeadElement.h:
2078         * html/HTMLHeadingElement.cpp:
2079         * html/HTMLHeadingElement.h:
2080         * html/HTMLHtmlElement.h:
2081         * html/HTMLImageLoader.h:
2082         * html/HTMLMetaElement.h:
2083         * html/HTMLModElement.cpp:
2084         * html/HTMLModElement.h:
2085         * html/HTMLOptionsCollection.cpp:
2086         * html/HTMLPlugInElement.cpp:
2087         * html/HTMLPreElement.cpp:
2088         * html/HTMLPreElement.h:
2089         * html/HTMLTableCellElement.cpp:
2090         * html/HTMLTableCellElement.h:
2091         * html/HTMLTableColElement.cpp:
2092         * html/HTMLTableColElement.h:
2093         * html/HTMLTablePartElement.cpp:
2094         * html/HTMLTablePartElement.h:
2095         * html/HTMLTitleElement.h:
2096         * page/MouseEventWithHitTestResults.h:
2097         * platform/StaticConstructors.h:
2098         * platform/text/AtomicStringImpl.h:
2099         * platform/text/qt/TextBreakIteratorQt.cpp:
2100         * rendering/AutoTableLayout.h:
2101         * rendering/CounterNode.cpp:
2102         * rendering/EllipsisBox.cpp:
2103         * rendering/EllipsisBox.h:
2104         * rendering/FixedTableLayout.cpp:
2105         * rendering/FixedTableLayout.h:
2106         * rendering/HitTestRequest.h:
2107         * rendering/HitTestResult.h:
2108         * rendering/InlineRunBox.h:
2109         * rendering/PointerEventsHitRules.cpp:
2110         * rendering/PointerEventsHitRules.h:
2111         * rendering/RenderBR.cpp:
2112         * rendering/RenderBR.h:
2113         * rendering/RenderButton.cpp:
2114         * rendering/RenderButton.h:
2115         * rendering/RenderFieldset.cpp:
2116         * rendering/RenderFrameSet.cpp:
2117         * rendering/RenderListItem.cpp:
2118         * rendering/RenderTableRow.cpp:
2119         * rendering/RenderView.h:
2120         * rendering/RootInlineBox.h:
2121         * rendering/SVGInlineTextBox.cpp:
2122         * rendering/SVGInlineTextBox.h:
2123         * rendering/TableLayout.h:
2124         * rendering/break_lines.h:
2125         * rendering/style/SVGRenderStyle.cpp:
2126         * rendering/style/SVGRenderStyle.h:
2127         * rendering/style/SVGRenderStyleDefs.cpp:
2128         * rendering/style/SVGRenderStyleDefs.h:
2129         * svg/GradientAttributes.h:
2130         * svg/LinearGradientAttributes.h:
2131         * svg/PatternAttributes.h:
2132         * svg/RadialGradientAttributes.h:
2133         * svg/SVGAElement.cpp:
2134         * svg/SVGAngle.idl:
2135         * svg/SVGAnimateColorElement.cpp:
2136         * svg/SVGAnimateColorElement.h:
2137         * svg/SVGAnimateElement.cpp:
2138         * svg/SVGAnimateElement.h:
2139         * svg/SVGAnimateTransformElement.h:
2140         * svg/SVGAnimatedPathData.cpp:
2141         * svg/SVGAnimatedPathData.h:
2142         * svg/SVGAnimatedPoints.cpp:
2143         * svg/SVGAnimatedPoints.h:
2144         * svg/SVGAnimationElement.cpp:
2145         * svg/SVGCircleElement.cpp:
2146         * svg/SVGClipPathElement.cpp:
2147         * svg/SVGColor.cpp:
2148         * svg/SVGColor.idl:
2149         * svg/SVGComponentTransferFunctionElement.cpp:
2150         * svg/SVGComponentTransferFunctionElement.h:
2151         * svg/SVGCursorElement.cpp:
2152         * svg/SVGDefsElement.cpp:
2153         * svg/SVGDescElement.cpp:
2154         * svg/SVGDescElement.h:
2155         * svg/SVGDocument.idl:
2156         * svg/SVGElement.idl:
2157         * svg/SVGElementInstanceList.cpp:
2158         * svg/SVGElementInstanceList.h:
2159         * svg/SVGEllipseElement.cpp:
2160         * svg/SVGExternalResourcesRequired.cpp:
2161         * svg/SVGFEBlendElement.cpp:
2162         * svg/SVGFEBlendElement.h:
2163         * svg/SVGFEColorMatrixElement.cpp:
2164         * svg/SVGFEColorMatrixElement.h:
2165         * svg/SVGFEComponentTransferElement.cpp:
2166         * svg/SVGFEComponentTransferElement.h:
2167         * svg/SVGFECompositeElement.cpp:
2168         * svg/SVGFECompositeElement.h:
2169         * svg/SVGFEFloodElement.cpp:
2170         * svg/SVGFEFloodElement.h:
2171         * svg/SVGFEFuncAElement.cpp:
2172         * svg/SVGFEFuncAElement.h:
2173         * svg/SVGFEFuncBElement.cpp:
2174         * svg/SVGFEFuncBElement.h:
2175         * svg/SVGFEFuncGElement.cpp:
2176         * svg/SVGFEFuncGElement.h:
2177         * svg/SVGFEFuncRElement.cpp:
2178         * svg/SVGFEFuncRElement.h:
2179         * svg/SVGFEGaussianBlurElement.cpp:
2180         * svg/SVGFEGaussianBlurElement.h:
2181         * svg/SVGFEImageElement.cpp:
2182         * svg/SVGFEMergeElement.cpp:
2183         * svg/SVGFEMergeElement.h:
2184         * svg/SVGFEMergeNodeElement.cpp:
2185         * svg/SVGFEOffsetElement.cpp:
2186         * svg/SVGFEOffsetElement.h:
2187         * svg/SVGFETileElement.cpp:
2188         * svg/SVGFETileElement.h:
2189         * svg/SVGFETurbulenceElement.cpp:
2190         * svg/SVGFETurbulenceElement.h:
2191         * svg/SVGFilterElement.cpp:
2192         * svg/SVGGElement.cpp:
2193         * svg/SVGGradientElement.cpp:
2194         * svg/SVGHKernElement.idl:
2195         * svg/SVGLangSpace.cpp:
2196         * svg/SVGLangSpace.h:
2197         * svg/SVGLength.cpp:
2198         * svg/SVGLength.h:
2199         * svg/SVGLength.idl:
2200         * svg/SVGLengthList.cpp:
2201         * svg/SVGLengthList.h:
2202         * svg/SVGLineElement.cpp:
2203         * svg/SVGLinearGradientElement.h:
2204         * svg/SVGList.h:
2205         * svg/SVGListTraits.h:
2206         * svg/SVGLocatable.h:
2207         * svg/SVGMaskElement.cpp:
2208         * svg/SVGMatrix.idl:
2209         * svg/SVGMetadataElement.cpp:
2210         * svg/SVGMetadataElement.h:
2211         * svg/SVGMetadataElement.idl:
2212         * svg/SVGNumber.idl:
2213         * svg/SVGNumberList.cpp:
2214         * svg/SVGNumberList.h:
2215         * svg/SVGPaint.cpp:
2216         * svg/SVGPathElement.cpp:
2217         * svg/SVGPathSeg.h:
2218         * svg/SVGPathSegArc.cpp:
2219         * svg/SVGPathSegArc.h:
2220         * svg/SVGPathSegClosePath.cpp:
2221         * svg/SVGPathSegClosePath.h:
2222         * svg/SVGPathSegCurvetoCubic.cpp:
2223         * svg/SVGPathSegCurvetoCubic.h:
2224         * svg/SVGPathSegCurvetoCubicSmooth.cpp:
2225         * svg/SVGPathSegCurvetoCubicSmooth.h:
2226         * svg/SVGPathSegCurvetoQuadratic.cpp:
2227         * svg/SVGPathSegCurvetoQuadratic.h:
2228         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
2229         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
2230         * svg/SVGPathSegLineto.cpp:
2231         * svg/SVGPathSegLineto.h:
2232         * svg/SVGPathSegLinetoHorizontal.cpp:
2233         * svg/SVGPathSegLinetoHorizontal.h:
2234         * svg/SVGPathSegLinetoVertical.cpp:
2235         * svg/SVGPathSegLinetoVertical.h:
2236         * svg/SVGPathSegMoveto.cpp:
2237         * svg/SVGPathSegMoveto.h:
2238         * svg/SVGPatternElement.cpp:
2239         * svg/SVGPoint.idl:
2240         * svg/SVGPointList.cpp:
2241         * svg/SVGPointList.h:
2242         * svg/SVGPolyElement.cpp:
2243         * svg/SVGPolygonElement.cpp:
2244         * svg/SVGPolygonElement.h:
2245         * svg/SVGPolylineElement.cpp:
2246         * svg/SVGPolylineElement.h:
2247         * svg/SVGPreserveAspectRatio.cpp:
2248         * svg/SVGPreserveAspectRatio.h:
2249         * svg/SVGRadialGradientElement.h:
2250         * svg/SVGRect.idl:
2251         * svg/SVGRectElement.cpp:
2252         * svg/SVGRenderingIntent.h:
2253         * svg/SVGSVGElement.idl:
2254         * svg/SVGScriptElement.cpp:
2255         * svg/SVGSetElement.cpp:
2256         * svg/SVGSetElement.h:
2257         * svg/SVGStopElement.cpp:
2258         * svg/SVGStringList.cpp:
2259         * svg/SVGStringList.h:
2260         * svg/SVGStylable.cpp:
2261         * svg/SVGStylable.h:
2262         * svg/SVGStyleElement.cpp:
2263         * svg/SVGStyleElement.h:
2264         * svg/SVGStyledElement.h:
2265         * svg/SVGStyledLocatableElement.cpp:
2266         * svg/SVGStyledLocatableElement.h:
2267         * svg/SVGStyledTransformableElement.cpp:
2268         * svg/SVGStyledTransformableElement.h:
2269         * svg/SVGSwitchElement.cpp:
2270         * svg/SVGSymbolElement.cpp:
2271         * svg/SVGTRefElement.cpp:
2272         * svg/SVGTSpanElement.cpp:
2273         * svg/SVGTSpanElement.h:
2274         * svg/SVGTests.h:
2275         * svg/SVGTextElement.cpp:
2276         * svg/SVGTextElement.h:
2277         * svg/SVGTextPathElement.cpp:
2278         * svg/SVGTextPositioningElement.cpp:
2279         * svg/SVGTextPositioningElement.h:
2280         * svg/SVGTitleElement.cpp:
2281         * svg/SVGTitleElement.h:
2282         * svg/SVGTransform.cpp:
2283         * svg/SVGTransform.h:
2284         * svg/SVGTransform.idl:
2285         * svg/SVGTransformList.cpp:
2286         * svg/SVGTransformList.h:
2287         * svg/SVGTransformable.h:
2288         * svg/SVGURIReference.h:
2289         * svg/SVGUnitTypes.h:
2290         * svg/SVGUseElement.cpp:
2291         * svg/SVGViewElement.cpp:
2292         * svg/SVGZoomAndPan.cpp:
2293         * svg/SVGZoomAndPan.h:
2294         * svg/SVGZoomEvent.cpp:
2295
2296 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
2297
2298         Reviewed by Dimitri Glazkov.
2299
2300         REGRESSION Clean up security origin usage in DOM Storage.
2301         https://bugs.webkit.org/show_bug.cgi?id=31188
2302
2303         Clean up security origin usage in DOM Storage.  This fixes a bug in my
2304         refactoring here: https://bugs.webkit.org/show_bug.cgi?id=31149
2305
2306         Instead of having StorageAreaSync's constructor (which is called in the
2307         constructor for StorageAreaImpl) calling a method on StoargeAreaImpl to get the
2308         database identifier, simply have StorageAreaImpl pass the identifier into
2309         StorageAreaSync.
2310
2311         No test because there's no change in externally observable behavior.
2312
2313         * storage/StorageAreaImpl.cpp:
2314         (WebCore::StorageAreaImpl::StorageAreaImpl):
2315         * storage/StorageAreaImpl.h:
2316         * storage/StorageAreaSync.cpp:
2317         (WebCore::StorageAreaSync::create):
2318         (WebCore::StorageAreaSync::StorageAreaSync):
2319         * storage/StorageAreaSync.h:
2320
2321 2009-11-05  Scott Violet  <sky@google.com>
2322
2323         Reviewed by Dimitri Glazkov.
2324
2325         Need notification of scrolling frame
2326         https://bugs.webkit.org/show_bug.cgi?id=31145
2327
2328         Adds FrameLoaderClient::didChangeScrollOffset that is called when
2329         the frame scrolls. This will be used to know when history state
2330         needs to be updated.
2331
2332         * loader/FrameLoaderClient.h:
2333         (WebCore::FrameLoaderClient::didChangeScrollOffset):
2334         * page/FrameView.cpp:
2335         (WebCore::FrameView::valueChanged):
2336
2337 2009-11-05  Kenneth Russell  <kbr@google.com>
2338
2339         Reviewed by Dimitri Glazkov.
2340
2341         [V8] Update bindings to use new API for external arrays
2342         https://bugs.webkit.org/show_bug.cgi?id=31181
2343
2344         No new tests; covered by existing WebGL tests.
2345
2346         * bindings/v8/V8DOMWrapper.cpp:
2347         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
2348         (WebCore::V8DOMWrapper::getTemplate):
2349         (WebCore::V8DOMWrapper::convertToV8Object):
2350         * bindings/v8/V8DOMWrapper.h:
2351         * bindings/v8/custom/V8CanvasArrayCustom.h:
2352         (WebCore::constructCanvasArray):
2353
2354 2009-11-05  Alpha Lam  <hclam@chromium.org>
2355
2356         Not reviewed, Chromium build fix.
2357
2358         50561 introduces a custom method for SVGMatrix, we need to implement
2359         this in V8.
2360
2361         * bindings/v8/custom/V8CustomBinding.h:
2362         Adding definition for V8SVGMatrixMultiply.
2363         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
2364         (WebCore::CALLBACK_FUNC_DECL):
2365         Implement V8SVGMatrixMultiply according to the same method in JSC.
2366
2367 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
2368
2369         Revert 50569 since it broke QT.  Build fix and just a revert, so no review.
2370
2371         * page/DOMWindow.cpp:
2372         (WebCore::DOMWindow::sessionStorage):
2373         * page/Settings.cpp:
2374         (WebCore::Settings::Settings):
2375         (WebCore::Settings::setSessionStorageEnabled):
2376         * page/Settings.h:
2377         (WebCore::Settings::sessionStorageEnabled):
2378
2379 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
2380
2381         Reviewed by Timothy Hatcher.
2382
2383         REGRESSION: Web Inspector doesn't show CSS rules properly for iframes
2384
2385         https://bugs.webkit.org/show_bug.cgi?id=30884
2386
2387         Test: inspector/styles-iframe.html
2388
2389         * inspector/front-end/DOMAgent.js:
2390         (WebInspector.DOMNode):
2391         * inspector/front-end/InjectedScript.js:
2392         (InjectedScript.getStyles):
2393         (InjectedScript.getComputedStyle):
2394         (InjectedScript.addStyleSelector):
2395         * inspector/front-end/TestController.js:
2396         (WebInspector.TestController.prototype.notifyDone):
2397         (WebInspector.TestController.prototype.runAfterPendingDispatches):
2398         (WebInspector.evaluateForTestInFrontend.invokeMethod):
2399         (WebInspector.evaluateForTestInFrontend):
2400
2401 2009-11-05  Vitaly Repeshko  <vitalyr@chromium.org>
2402
2403         Reviewed by Geoffrey Garen and Dimitri Glazkov.
2404
2405         Rehashing of EventListenerMap leads to loss of EvenListenerList.
2406         https://bugs.webkit.org/show_bug.cgi?id=31027
2407
2408         Tested by new fast/events/event-listener-map-rehash-crash.html.
2409
2410         EventListenerMap modified to store pointers to listener vectors:
2411         * dom/EventTarget.cpp:
2412         (WebCore::EventTargetData::~EventTargetData):
2413         (WebCore::EventTarget::addEventListener):
2414         (WebCore::EventTarget::removeEventListener):
2415         (WebCore::EventTarget::fireEventListeners):
2416         (WebCore::EventTarget::getEventListeners):
2417         (WebCore::EventTarget::removeAllEventListeners):
2418         * dom/EventTarget.h:
2419
2420         Usages updated after interface changes:
2421         * inspector/InspectorDOMAgent.cpp:
2422         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2423         * svg/SVGUseElement.cpp:
2424         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
2425
2426 2009-11-05  Dan Kegel  <dank@chromium.org>
2427
2428         Reviewed by Dmitri Titov.
2429
2430         Add missing initialization for m_createdByParser.
2431         https://bugs.webkit.org/show_bug.cgi?id=31089
2432
2433         Test: fast/dom/beforeload/pi-before-load.xhtml in Valgrind
2434
2435         * dom/ProcessingInstruction.cpp:
2436         (WebCore::ProcessingInstruction::ProcessingInstruction):
2437
2438 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2439
2440         Reviewed by Adam Barth.
2441
2442         DOM Storage runtime flag changes
2443         https://bugs.webkit.org/show_bug.cgi?id=30602
2444
2445         Part 2/2.
2446
2447         Revert my changes to Settings and instead implement DOM Storage enabling via
2448         the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
2449
2450         This stuff was (intentionally) never exposed to web pages or DRT, so there's no
2451         LayoutTest visible changes and thus no tests.
2452
2453         * bindings/v8/custom/V8CustomBinding.h:
2454         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2455         (WebCore::ACCESSOR_RUNTIME_ENABLER):
2456         * page/DOMWindow.cpp:
2457         (WebCore::DOMWindow::sessionStorage):
2458         * page/DOMWindow.idl:
2459         * page/Settings.cpp:
2460         (WebCore::Settings::Settings):
2461         * page/Settings.h:
2462         * storage/Storage.cpp:
2463         (WebCore::Storage::setLocalStorageAvailable):
2464         (WebCore::Storage::localStorageAvailable):
2465         (WebCore::Storage::setSessionStorageAvailable):
2466         (WebCore::Storage::sessionStorageAvailable):
2467         * storage/Storage.h:
2468
2469 2009-11-05  Jian Li  <jianli@chromium.org>
2470
2471         Reviewed by Pavel Feldman.
2472
2473         Bug 31108 - [V8] REGRESSION: Pause on exception is broken
2474         https://bugs.webkit.org/show_bug.cgi?id=31108
2475
2476         * bindings/v8/V8AbstractEventListener.cpp:
2477         (WebCore::V8AbstractEventListener::invokeEventHandler):
2478         * bindings/v8/V8Utilities.cpp:
2479         (WebCore::reportException):
2480
2481 2009-11-05  Jian Li  <jianli@chromium.org>
2482
2483         Reviewed by Dmitri Titov.
2484
2485         We should not bubble up events if we drag something to an iframe that
2486         has an invalid source.
2487         https://bugs.webkit.org/show_bug.cgi?id=30469
2488
2489         Test: http/tests/misc/bubble-drag-events.html
2490
2491         * page/EventHandler.cpp:
2492         (WebCore::EventHandler::handleDragAndDropForTarget):
2493         (WebCore::EventHandler::updateDragAndDrop):
2494         (WebCore::EventHandler::cancelDragAndDrop):
2495         (WebCore::EventHandler::performDragAndDrop):
2496         * page/EventHandler.h:
2497         (WebCore::EventHandler::):
2498
2499 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
2500
2501         Reviewed by Timothy Hatcher.
2502
2503         Web Inspector: speed up Timelines Clear by a factor of thousands.
2504
2505         https://bugs.webkit.org/show_bug.cgi?id=31160
2506
2507         * inspector/front-end/utilities.js:
2508         (Element.prototype.removeChildren):
2509
2510 2009-11-05  Anton Muhin  <antonm@chromium.org>
2511
2512         Reviewed by Adam Barth.
2513
2514         If high memory usage is detected, hint to V8 that it might be due
2515         to external objects retained by V8 objects.
2516         https://bugs.webkit.org/show_bug.cgi?id=31051
2517
2518         * bindings/v8/V8GCController.cpp:
2519         (WebCore::GetMemoryUsageInMB):
2520         (WebCore::V8GCController::gcEpilogue):
2521         (WebCore::V8GCController::checkMemoryUsage):
2522         * bindings/v8/V8GCController.h:
2523         * bindings/v8/V8Proxy.cpp:
2524         (WebCore::V8Proxy::evaluate):
2525         (WebCore::V8Proxy::runScript):
2526         (WebCore::V8Proxy::callFunction):
2527
2528 2009-11-05  Jeff Schiller  <codedread@gmail.com>
2529
2530         Reviewed by Simon Fraser.
2531
2532         Correct order of matrix multiplication for SVGMatrix.
2533         https://bugs.webkit.org/show_bug.cgi?id=16062
2534
2535         Test: svg/dom/SVGMatrix-interface.xhtml
2536
2537         * bindings/js/JSSVGMatrixCustom.cpp:
2538         (WebCore::JSSVGMatrix::multiply):
2539         * svg/SVGMatrix.idl:
2540
2541 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
2542
2543         Reviewed by Timothy Hatcher.
2544
2545         Web Inspector: Make resource-related records in timeline
2546         actually take some time.
2547
2548         https://bugs.webkit.org/show_bug.cgi?id=31139
2549
2550         * English.lproj/localizedStrings.js:
2551         * inspector/front-end/TimelinePanel.js:
2552         (WebInspector.TimelinePanel):
2553         (WebInspector.TimelinePanel.prototype._formatRecord):
2554         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2555         (WebInspector.TimelinePanel.prototype.reset):
2556
2557 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2558
2559         Reviewed by Darin Fisher.
2560
2561         Simplify LocalStorageThread
2562         https://bugs.webkit.org/show_bug.cgi?id=30935
2563
2564         This is a re-submit of 50519.  LocalStorageTask should have never been ref
2565         counted.  I've removed that and switched a PassRefPtr over to a PassOwnPtr.
2566
2567         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
2568         of the method names a bit more clear. Assert proper thread usage. Join rather
2569         than detaching the thread and doing an ad-hoc form of join. Avoid touching
2570         variables on the background thread when simple to do so.  Also create a generic
2571         scheduleTask function rather than one for each task.
2572
2573         No behavior should have changed.
2574
2575         * storage/LocalStorageTask.h:
2576         * storage/LocalStorageThread.cpp:
2577         (WebCore::LocalStorageThread::create):
2578         (WebCore::LocalStorageThread::LocalStorageThread):
2579         (WebCore::LocalStorageThread::~LocalStorageThread):
2580         (WebCore::LocalStorageThread::start):
2581         (WebCore::LocalStorageThread::threadEntryPointCallback):
2582         (WebCore::LocalStorageThread::threadEntryPoint):
2583         (WebCore::LocalStorageThread::scheduleTask):
2584         (WebCore::LocalStorageThread::terminate):
2585         (WebCore::LocalStorageThread::performTerminate):
2586         * storage/LocalStorageThread.h:
2587         * storage/StorageSyncManager.cpp:
2588         (WebCore::StorageSyncManager::StorageSyncManager):
2589         (WebCore::StorageSyncManager::~StorageSyncManager):
2590         (WebCore::StorageSyncManager::scheduleImport):
2591         (WebCore::StorageSyncManager::scheduleSync):
2592         * storage/StorageSyncManager.h:
2593
2594 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2595
2596         Reviewed by Darin Fisher.
2597
2598         Calling databaseIdentifier on LocalStorage's background thread is not safe.
2599         https://bugs.webkit.org/show_bug.cgi?id=31149
2600
2601         Calling SecurityOrigin::databaseIdentifier on LocalStorage's background thread
2602         is not safe.  databaseIdentifier does a bunch of string concatenation which
2603         ref-counts StringImpls in some cases.  This was caught by valgrind thread
2604         sanitizer: http://code.google.com/p/chromium/issues/detail?id=25645
2605
2606         There's no way to test for such racyness, unfortunately.
2607
2608         * storage/StorageAreaSync.cpp:
2609         (WebCore::StorageAreaSync::StorageAreaSync):
2610         (WebCore::StorageAreaSync::performImport):
2611         * storage/StorageAreaSync.h:
2612         * storage/StorageSyncManager.cpp:
2613         (WebCore::StorageSyncManager::fullDatabaseFilename):
2614         * storage/StorageSyncManager.h:
2615
2616 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
2617
2618         Reviewed by Darin Fisher.
2619
2620         Clean up StorageAreaSync
2621         https://bugs.webkit.org/show_bug.cgi?id=31100
2622
2623         Major fixes: Break the ref count cycle for StorageArea on the main
2624         thread, not the background thread since the latter is not safe.
2625         Length() needs to block on the import completing.
2626
2627         Small fixes: setItem needs to handle the copy on write case even if it
2628         has an exception.  setItem and removeItem should just bail from the
2629         the function if the value hasn't changed rather than wrapping the end
2630         in an if block.  Clear should only send an event if it wasn't already
2631         cleared.  StorageAreaSync should assert that the final sync was
2632         scheduled.
2633
2634         * storage/StorageAreaImpl.cpp:
2635         (WebCore::StorageAreaImpl::length):
2636           Forgot to block on the import.
2637         (WebCore::StorageAreaImpl::key):
2638         (WebCore::StorageAreaImpl::setItem):
2639           Handle the copy on write case even when there's an exception.
2640         (WebCore::StorageAreaImpl::removeItem):
2641         (WebCore::StorageAreaImpl::clear):
2642         * storage/StorageAreaSync.cpp:
2643         (WebCore::StorageAreaSync::~StorageAreaSync):
2644         (WebCore::StorageAreaSync::scheduleFinalSync):
2645         (WebCore::StorageAreaSync::performImport):
2646         (WebCore::StorageAreaSync::markImported):
2647         (WebCore::StorageAreaSync::blockUntilImportComplete):
2648         * storage/StorageAreaSync.h:
2649
2650 2009-11-05  Zoltan Horvath  <zoltan@webkit.org>
2651
2652         Reviewed by Eric Seidel.
2653
2654         Allow custom memory allocation control for WebCore's CachedResource
2655         https://bugs.webkit.org/show_bug.cgi?id=31114
2656
2657         Inherits CachedResource class from Noncopyable because its (its child
2658         class) CachedCSSStyleSheet instantiated by 'new' in WebCore/loader/Cache.cpp:75 
2659         and it is no need to be copyable.
2660
2661         * loader/CachedResource.h:
2662
2663 2009-11-04  Mark Mentovai  <mark@chromium.org>
2664
2665         Reviewed by Mark Rowe.
2666
2667         Separate the difference between HAVE(CGINTERPOLATION_MEDIUM), which
2668         is true when building on 10.6 or later, and USE(CGINTERPOLATION_MEDIUM)
2669         which is true when targeting 10.6 or later.
2670
2671         HAVE(CGINTERPOLATION_MEDIUM) indicates that kCGInterpolationMedium
2672         is present in the CGInterpolationQuality enum, and must be handled
2673         by a switch that has cases for each enumerated value.
2674
2675         USE(CGINTERPOLATION_MEDIUM) indicates that the product will only run
2676         on 10.6 or later, and that CoreGraphics will understand when
2677         InterpolationMedium is mapped to kCGInterpolationMedium at runtime.
2678
2679         * platform/graphics/cg/GraphicsContextCG.cpp:
2680         (WebCore::GraphicsContext::setImageInterpolationQuality):
2681         (WebCore::GraphicsContext::imageInterpolationQuality):
2682
2683 2009-11-04  Dan Kegel  <dank@chromium.org>
2684
2685         Reviewed by Alexey Proskuryakov.
2686
2687         Fix buffer overrun in WebCore::Page::userStyleSheetLocationChanged()
2688         https://bugs.webkit.org/show_bug.cgi?id=31138
2689
2690         Test: LayoutTests/platform/mac/fast/loader/user-stylesheet-fast-path.html in Valgrind
2691
2692         * page/Page.cpp:
2693         (WebCore::Page::userStyleSheetLocationChanged):
2694
2695 2009-11-04  Timothy Hatcher  <timothy@apple.com>
2696
2697         Update the Web Inspector Timeline panel to better match the mock-up.
2698
2699         https://bugs.webkit.org/show_bug.cgi?id=31150
2700
2701         Reviewed by Pavel Feldman.
2702
2703         * inspector/front-end/TimelinePanel.js:
2704         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2705         (WebInspector.TimelinePanel.prototype._dragWindow):
2706         (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
2707         (WebInspector.TimelinePanel.prototype._resizeWindowRight):
2708         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
2709         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
2710         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
2711         (WebInspector.TimelineCategoryGraph):
2712         * inspector/front-end/inspector.css:
2713
2714 2009-11-05  Justin Garcia  <justin.garcia@apple.com>
2715
2716         Reviewed by Adele Peterson.
2717
2718         https://bugs.webkit.org/show_bug.cgi?id=25439
2719         Deleting when in front of a block image removes character from previous paragraph
2720
2721         Added editing/deleting/25439-{1,2,3}.html
2722
2723         * editing/DeleteSelectionCommand.cpp:
2724         (WebCore::DeleteSelectionCommand::mergeParagraphs): Block images, tables and HRs cannot 
2725         be made inline with other content.  Instead of merging, just move the caret to just before 
2726         the selection we deleted.
2727         * editing/htmlediting.cpp:
2728         (WebCore::firstInSpecialElement): Added a FIXME.  This function begins iterating up from pos.node(), which 
2729         doesn't necessarily contain pos (suppose pos was [img, 0]).
2730         (WebCore::lastInSpecialElement): Ditto.
2731         (WebCore::isRenderedAsNonInlineTableImageOrHR): Moved from visible_units.cpp.  Added a check for non-inline images.
2732         * editing/htmlediting.h:
2733         * editing/visible_units.cpp:
2734         (WebCore::startOfParagraph): Use moved/renamed function.  Removed FIXME.  The problem causing 
2735         5027702 is now squarely in first/lastInSpecialElement
2736         (WebCore::endOfParagraph): Ditto.
2737         
2738 2009-11-04  Enrica Casucci  <enrica@apple.com>
2739
2740         Reviewed by Adele Peterson.
2741
2742         Hang in Mail on attempting to change indent level.
2743         <rdar://problem/7131805>
2744         https://bugs.webkit.org/show_bug.cgi?id=31127
2745
2746         The hang was caused by an infinite loop inside outdentRegion.
2747         The code did not account for the fact that, when a list item
2748         contains multiple paragraphs, outdent moves all paragraphs at
2749         once, invalidating some of the positions we keep track of in the loop.
2750         Some code refactoring has also been done to minimize duplicated code.
2751         
2752         Test: editing/execCommand/outdent-multiparagraph-list.html
2753
2754         * editing/IndentOutdentCommand.cpp:
2755         (WebCore::IndentOutdentCommand::indentRegion): Moved code in common with
2756         outdentRegion to doApply.
2757         (WebCore::IndentOutdentCommand::outdentRegion): Fixed endless loop.
2758         (WebCore::IndentOutdentCommand::doApply): Some code refactoring.
2759         * editing/IndentOutdentCommand.h: Added VisiblePosition parameters to
2760         indentRegion and outdentRegion.
2761
2762 2009-11-04  Alpha Lam  <hclam@chromium.org>
2763
2764         Reviewed by Eric Carlson.
2765
2766         Volume slider doesn't have a thumb
2767         https://bugs.webkit.org/show_bug.cgi?id=31135
2768
2769         Fixed an incorrect if statement that prevents volume slider
2770         being updated.
2771
2772         The statement checks if the slider value equals to the current
2773         volume value of the media control to avoid updating the volume
2774         slider. Updating the volume slider control shouldn't be within
2775         this condition because we explicitly set them to be equals
2776         during creation of the controls and also when mouse events are
2777         received on the volume control.
2778
2779         No new tests because existing code breaks:
2780         LayoutTests/media/video-volume-slider.html
2781
2782         It should now start passing on Chromium.
2783
2784         * rendering/MediaControlElements.cpp:
2785         (WebCore::MediaControlVolumeSliderElement::update):
2786         Update the volume slider regardless of the current volume value
2787         of the media control.
2788
2789 2009-11-04  Jenn Braithwaite  <jennb@chromium.org>
2790
2791         Reviewed by David Levin.
2792
2793         Need to properly disable applicationCache at runtime
2794         https://bugs.webkit.org/show_bug.cgi?id=30417
2795
2796         Adding applicationCacheEnabled bit to V8 RuntimeEnabledFeatures.
2797
2798         No new exposed functionality, so no new tests.
2799
2800         * bindings/v8/RuntimeEnabledFeatures.cpp:
2801         * bindings/v8/RuntimeEnabledFeatures.h:
2802         (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
2803         (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
2804         * bindings/v8/custom/V8CustomBinding.h:
2805         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2806         (WebCore::ACCESSOR_RUNTIME_ENABLER):
2807         * page/DOMWindow.idl:
2808
2809 2009-11-04  Alexey Proskuryakov  <ap@apple.com>
2810
2811         Reviewed by Dan Bernstein.
2812
2813         https://bugs.webkit.org/show_bug.cgi?id=31143
2814         Assertion failure in CredentialStorage::set() when proxy credentials are being set
2815
2816         No test, cannot test proxy behavior.
2817
2818         * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::set): Account for the
2819         possibility of null url. Release mode changes are likely inconsequential - e.g. we used to
2820         add "://" to origin set, which is weird, but safe.
2821
2822 2009-11-04  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2823
2824         Reviewed by Timothy Hatcher.
2825
2826         Web Inspector: Leftover Breakpoints in the Sidebar Pane
2827         https://bugs.webkit.org/show_bug.cgi?id=30659
2828
2829         No new tests.
2830
2831         * inspector/front-end/ScriptsPanel.js:
2832         (WebInspector.ScriptsPanel.prototype.addScript):
2833
2834 2009-11-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2835
2836         Reviewed by Timothy Hatcher.
2837
2838         WebInspector: Use a different method to identify the webkit port in
2839         InspectorBackent::platform().
2840         This corrects the inspector expected behavior with Qt on Windows.
2841         https://bugs.webkit.org/show_bug.cgi?id=31116
2842
2843         * inspector/InspectorBackend.cpp:
2844         (WebCore::InspectorBackend::platform):
2845         (WebCore::InspectorBackend::port):
2846         * inspector/InspectorBackend.h:
2847         * inspector/InspectorBackend.idl:
2848         * inspector/front-end/InspectorControllerStub.js:
2849         (.WebInspector.InspectorControllerStub.prototype.port):
2850         * inspector/front-end/inspector.css:
2851         * inspector/front-end/inspector.js:
2852         (WebInspector.loaded):
2853         (WebInspector.toolbarDragStart):
2854
2855 2009-11-04  Benjamin Otte  <otte@gnome.org>
2856
2857         Reviewed by Gustavo Noronha.
2858
2859         Update Cairo requirement to 1.6.
2860
2861         Also remove all conditional code and workarounds for older versions of
2862         Cairo.
2863         In particular, gain image quality by removing the use of
2864         CAIRO_FILTER_NEAREST when rendering images and use the default
2865         bilinear filter instead.
2866         https://bugs.webkit.org/show_bug.cgi?id=19266
2867
2868         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2869         (WebCore::GraphicsContext::clipOut):
2870         * platform/graphics/cairo/ImageCairo.cpp:
2871         (WebCore::BitmapImage::draw):
2872         (WebCore::BitmapImage::drawPattern):
2873         * platform/graphics/cairo/PathCairo.cpp:
2874         (WebCore::Path::isEmpty):
2875         (WebCore::Path::boundingRect):
2876         * platform/gtk/RenderThemeGtk.cpp:
2877         (WebCore::paintMozWidget):
2878
2879 2009-11-04  Kevin Ollivier  <kevino@theolliviers.com>
2880
2881         wx build fix. Restore removed string conversion after cleanup.
2882
2883         * platform/graphics/wx/FontPlatformDataWx.cpp:
2884         (WebCore::FontPlatformData::computeHash):
2885
2886 2009-11-04  Chris Fleizach  <cfleizach@apple.com>
2887
2888         Reviewed by Beth Dakin.
2889
2890         Need to implement ARIA role="combobox"
2891         https://bugs.webkit.org/show_bug.cgi?id=31096
2892
2893         Test: accessibility/aria-combobox.html
2894
2895         * accessibility/AccessibilityObject.h:
2896         (WebCore::AccessibilityObject::isComboBox):
2897         (WebCore::AccessibilityObject::isExpanded):
2898         (WebCore::AccessibilityObject::expandObject):
2899         (WebCore::AccessibilityObject::increment):
2900         (WebCore::AccessibilityObject::decrement):
2901         * accessibility/AccessibilityRenderObject.cpp:
2902         (WebCore::AccessibilityRenderObject::expandObject):
2903         (WebCore::AccessibilityRenderObject::isExpanded):
2904         (WebCore::createARIARoleMap):
2905         * accessibility/AccessibilityRenderObject.h:
2906         * accessibility/mac/AccessibilityObjectWrapper.mm:
2907         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2908         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2909         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
2910         * html/HTMLAttributeNames.in:
2911
2912 2009-11-04  Kelly Norton  <knorton@google.com>
2913
2914         Reviewed by Pavel Feldman.
2915
2916         Fixes naming inconsistencies in TimelineRecordFactory.
2917         https://bugs.webkit.org/show_bug.cgi?id=31132
2918
2919         * inspector/InspectorTimelineAgent.cpp:
2920         (WebCore::InspectorTimelineAgent::willPaint):
2921         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
2922         (WebCore::InspectorTimelineAgent::willLoadXHR):
2923         (WebCore::InspectorTimelineAgent::willEvaluateScript):
2924         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2925         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
2926         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2927         * inspector/TimelineRecordFactory.cpp:
2928         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeRecord):
2929         (WebCore::TimelineRecordFactory::createXHRLoadRecord):
2930         (WebCore::TimelineRecordFactory::createEvaluateScriptRecord):
2931         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
2932         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
2933         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
2934         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
2935         (WebCore::TimelineRecordFactory::createPaintRecord):
2936         * inspector/TimelineRecordFactory.h:
2937
2938 2009-11-04  Eric Z. Ayers  <zundel@google.com>
2939
2940         Reviewed by Pavel Feldman.
2941
2942         Followon to bug 31080, which protects Timeline
2943         instrumentation in the case where InspectorTimelineAgent
2944         is enabled or disabled during an event dispatch.
2945         
2946         https://bugs.webkit.org/show_bug.cgi?id=31121
2947
2948         * bindings/v8/V8Proxy.cpp:
2949         (WebCore::V8Proxy::evaluate):
2950         * dom/Document.cpp:
2951         (WebCore::Document::recalcStyle):
2952         * dom/Node.cpp:
2953         (WebCore::Node::dispatchGenericEvent):
2954         * html/HTMLTokenizer.cpp:
2955         (WebCore::HTMLTokenizer::write):
2956         * page/DOMWindow.cpp:
2957         (WebCore::DOMWindow::inspectorTimelineAgent):
2958         (WebCore::DOMWindow::dispatchEvent):
2959         * page/DOMWindow.h:
2960         * page/FrameView.cpp:
2961         (WebCore::FrameView::layout):
2962         (WebCore::FrameView::paintContents):
2963         * xml/XMLHttpRequest.cpp:
2964         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2965
2966 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2967
2968         Revert 50519 while I work out what went wrong.
2969
2970         * storage/LocalStorageThread.cpp:
2971         (WebCore::LocalStorageThread::create):
2972         (WebCore::LocalStorageThread::LocalStorageThread):
2973         (WebCore::LocalStorageThread::start):
2974         (WebCore::LocalStorageThread::localStorageThreadStart):
2975         (WebCore::LocalStorageThread::localStorageThread):
2976         (WebCore::LocalStorageThread::scheduleImport):
2977         (WebCore::LocalStorageThread::scheduleSync):
2978         (WebCore::LocalStorageThread::terminate):
2979         (WebCore::LocalStorageThread::performTerminate):
2980         * storage/LocalStorageThread.h:
2981         * storage/StorageSyncManager.cpp:
2982         (WebCore::StorageSyncManager::StorageSyncManager):
2983         (WebCore::StorageSyncManager::~StorageSyncManager):
2984         (WebCore::StorageSyncManager::scheduleImport):
2985         (WebCore::StorageSyncManager::scheduleSync):
2986         * storage/StorageSyncManager.h:
2987
2988 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
2989
2990         Reviewed by Timothy Hatcher.
2991
2992         Web Inspector: Add basic support for resource events and marks.
2993         Couple of drive-by fixes. Enabling the panel!
2994
2995         https://bugs.webkit.org/show_bug.cgi?id=31130
2996
2997         * English.lproj/localizedStrings.js:
2998         * inspector/front-end/TimelinePanel.js:
2999         (WebInspector.TimelinePanel):
3000         (WebInspector.TimelinePanel.prototype._formatRecord):
3001         (WebInspector.TimelinePanel.prototype._getRecordDetails):
3002         (WebInspector.TimelinePanel.prototype.reset):
3003         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClicked):
3004         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
3005         * inspector/front-end/inspector.js:
3006         (WebInspector._createPanels):
3007
3008 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
3009
3010         Reviewed by Darin Fisher.
3011
3012         Simplify LocalStorageThread
3013         https://bugs.webkit.org/show_bug.cgi?id=30935
3014
3015         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
3016         of the method names a bit more clear. Assert proper thread usage. Join rather
3017         than detaching the thread and doing an ad-hoc form of join. Avoid touching
3018         variables on the background thread when simple to do so.  Also create a generic
3019         scheduleTask function rather than one for each task.
3020
3021         No behavior should have changed.
3022
3023         * storage/LocalStorageThread.cpp:
3024         (WebCore::LocalStorageThread::create):
3025         (WebCore::LocalStorageThread::LocalStorageThread):
3026         (WebCore::LocalStorageThread::~LocalStorageThread):
3027         (WebCore::LocalStorageThread::start):
3028         (WebCore::LocalStorageThread::threadEntryPointCallback):
3029         (WebCore::LocalStorageThread::threadEntryPoint):
3030         (WebCore::LocalStorageThread::scheduleTask):
3031         (WebCore::LocalStorageThread::terminate):
3032         (WebCore::LocalStorageThread::performTerminate):
3033         * storage/LocalStorageThread.h:
3034         * storage/StorageSyncManager.cpp:
3035         (WebCore::StorageSyncManager::StorageSyncManager):
3036         (WebCore::StorageSyncManager::~StorageSyncManager):
3037         (WebCore::StorageSyncManager::scheduleImport):
3038         (WebCore::StorageSyncManager::scheduleSync):
3039         * storage/StorageSyncManager.h:
3040
3041 2009-11-04  Vadim Zeitlin  <vadim@wxwidgets.org>
3042
3043         Reviewed by Eric Seidel.
3044
3045         [wx] Small cleanup: avoid unnecessary wxString::mb_str() calls.
3046
3047         * platform/graphics/wx/FontPlatformDataWx.cpp:
3048         (WebCore::FontPlatformData::computeHash):
3049
3050 2009-11-04  Kelly Norton  <knorton@google.com>
3051
3052         Reviewed by Pavel Feldman.
3053
3054         Adds lightweight network resources to InspectorTimelineAgent.
3055         https://bugs.webkit.org/show_bug.cgi?id=31065
3056
3057         * inspector/InspectorController.cpp:
3058         (WebCore::InspectorController::willSendRequest):
3059         (WebCore::InspectorController::didReceiveResponse):
3060         (WebCore::InspectorController::didFinishLoading):
3061         (WebCore::InspectorController::didFailLoading):
3062         * inspector/InspectorTimelineAgent.cpp:
3063         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
3064         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
3065         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
3066         * inspector/InspectorTimelineAgent.h:
3067         (WebCore::):
3068         * inspector/TimelineRecordFactory.cpp:
3069         (WebCore::TimelineRecordFactory::createResourceSendRequestTimelineRecord):
3070         (WebCore::TimelineRecordFactory::createResourceReceiveResponseTimelineRecord):
3071         (WebCore::TimelineRecordFactory::createResourceFinishTimelineRecord):
3072         * inspector/TimelineRecordFactory.h:
3073         * inspector/front-end/TimelineAgent.js:
3074
3075 2009-11-04  Yael Aharon  <yael.aharon@nokia.com>
3076
3077         Reviewed by Tor Arne Vestbø.
3078
3079         [Qt] ASSERT failure when receiving 401 HTTP Authentication response.
3080         https://bugs.webkit.org/show_bug.cgi?id=31077
3081
3082         Allow sending the response body under the same conditions that we
3083         allow it to finish without reporting an error.
3084
3085         * platform/network/qt/QNetworkReplyHandler.cpp:
3086         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3087
3088 2009-11-04  Adam Roben  <aroben@apple.com>
3089
3090         Sort WebCore.base.exp
3091
3092         Rubber-stamped by Dan Bernstein.
3093
3094         * WebCore.base.exp: Sorted.
3095
3096 2009-11-04  Csaba Osztrogonác  <ossy@webkit.org>
3097
3098         Unreviewed rollout.
3099
3100         Revert r50496 because it broke all layout tests on QtBuildBot.
3101
3102         * WebCore.pro:
3103         * platform/graphics/qt/FontCacheQt.cpp:
3104         (WebCore::fontCache):
3105         (WebCore::FontCache::FontCache):
3106         (WebCore::FontCache::getTraitsInFamily):
3107         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
3108         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
3109         (WebCore::FontPlatformDataCacheKey::):
3110         (WebCore::FontPlatformDataCacheKey::operator==):
3111         (WebCore::FontPlatformDataCacheKey::hash):
3112         (WebCore::FontPlatformDataCacheKey::computeHash):
3113         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
3114         (WebCore::FontPlatformDataCacheKeyHash::hash):
3115         (WebCore::FontPlatformDataCacheKeyHash::equal):
3116         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
3117         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
3118         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
3119         (WebCore::FontCache::getCachedFontPlatformData):
3120         (WebCore::FontCache::getCachedFontData):
3121         (WebCore::FontCache::getLastResortFallbackFont):
3122         (WebCore::FontCache::releaseFontData):
3123         (WebCore::FontCache::purgeInactiveFontData):
3124         (WebCore::FontCache::addClient):
3125         (WebCore::FontCache::removeClient):
3126         (WebCore::FontCache::invalidate):
3127         * platform/graphics/qt/FontFallbackListQt.cpp: Added.
3128         (WebCore::FontFallbackList::FontFallbackList):
3129         (WebCore::FontFallbackList::invalidate):
3130         (WebCore::FontFallbackList::releaseFontData):
3131         (WebCore::FontFallbackList::determinePitch):
3132         (WebCore::FontFallbackList::fontDataAt):
3133         (WebCore::FontFallbackList::fontDataForCharacters):
3134         (WebCore::FontFallbackList::setPlatformFont):
3135         * platform/graphics/qt/FontPlatformData.h:
3136         (WebCore::FontPlatformData::pixelSize):
3137         * platform/graphics/qt/FontPlatformDataQt.cpp:
3138         (WebCore::FontPlatformData::FontPlatformData):
3139
3140 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3141
3142         Reviewed by Jan Alonzo.
3143
3144         https://bugs.webkit.org/show_bug.cgi?id=31044
3145         [Gtk] assertion when webkit_accessible_get_index_in_parent attempts to get parent of the web view
3146
3147         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3148         (atkParentOfWebView):
3149         (webkit_accessible_get_index_in_parent):
3150         (webkit_accessible_get_parent):
3151
3152 2009-11-04  Dominik Röttsches  <dominik.roettsches@access-company.com>
3153
3154         Reviewed by Eric Seidel.
3155
3156         https://bugs.webkit.org/show_bug.cgi?id=15914
3157         [GTK] Implement Unicode functionality using GLib
3158
3159         Initial version of this patch by Jürg Billeter and Naiem Shaik.
3160         Patch 2/4 - Moving TextCodecs to GLib
3161         
3162         Added probing for a hard-coded lists of text encodings.
3163         The basis of this list is taken from the encodings supported by iconv,
3164         then extended by e.g. tis-620, windows-1251, euc-kr, windows-1253 and
3165         a number of Chinese ones.
3166
3167         Probing is necessary with the current design of text codecs
3168         as iconv/GLib do not support enumerating available encodings.
3169
3170         * GNUmakefile.am:
3171         * platform/ThreadGlobalData.cpp:
3172         (WebCore::ThreadGlobalData::ThreadGlobalData):
3173         (WebCore::ThreadGlobalData::~ThreadGlobalData):
3174         * platform/text/TextEncoding.cpp:
3175         (WebCore::TextEncoding::encode):
3176         * platform/text/TextEncodingRegistry.cpp:
3177         (WebCore::buildBaseTextCodecMaps):
3178         (WebCore::extendTextCodecMaps):
3179         * platform/text/gtk/TextCodecGtk.cpp: Added.
3180         (WebCore::):
3181         (WebCore::newTextCodecGtk):
3182         (WebCore::TextCodecGtk::isEncodingAvailable):
3183         (WebCore::TextCodecGtk::registerEncodingNames):
3184         (WebCore::TextCodecGtk::registerCodecs):
3185         (WebCore::TextCodecGtk::registerBaseEncodingNames):
3186         (WebCore::TextCodecGtk::registerBaseCodecs):
3187         (WebCore::TextCodecGtk::registerExtendedEncodingNames):
3188         (WebCore::TextCodecGtk::registerExtendedCodecs):
3189         (WebCore::TextCodecGtk::TextCodecGtk):
3190         (WebCore::TextCodecGtk::~TextCodecGtk):
3191         (WebCore::TextCodecGtk::releaseIConv):
3192         (WebCore::TextCodecGtk::createIConvDecoder):
3193         (WebCore::TextCodecGtk::createIConvEncoder):
3194         (WebCore::TextCodecGtk::decode):
3195         (WebCore::TextCodecGtk::encode):
3196         * platform/text/gtk/TextCodecGtk.h: Added.
3197
3198 2009-11-04  Martin Robinson  <martin.james.robinson@gmail.com>
3199
3200         Reviewed by Jan Alonzo.
3201
3202         [GTK] Enable DOM clipboard and drag-and-drop access
3203         https://bugs.webkit.org/show_bug.cgi?id=30623
3204
3205         Unify redudant methods which will always return the same value.
3206
3207         * platform/gtk/PasteboardGtk.cpp:
3208         (WebCore::Pasteboard::writeSelection):
3209         * platform/gtk/PasteboardHelper.h:
3210
3211 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3212
3213         Reviewed by Jan Alonzo.
3214
3215         https://bugs.webkit.org/show_bug.cgi?id=31035
3216         [GTK] some accessibility tests hitting assertion in debug builds
3217
3218         Removes the assertions in webkit_accessible_ref_child; adds sanity checks.
3219         Any app or AT can attempt to ref a child at a bogus index.
3220
3221         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3222         (webkit_accessible_ref_child):
3223
3224 2009-11-04  Benjamin Otte  <otte@gnome.org>
3225
3226         Reviewed by Jan Alonzo.
3227
3228         [gtk] Use gst_element_class_set_details_simple()
3229
3230         Cosmetic change, just code simplification
3231
3232         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
3233         (webkit_video_sink_base_init):
3234 2009-11-04  Kelly Norton  <knorton@google.com>
3235
3236         Reviewed by Timothy Hatcher.
3237
3238         Adds paint rectangle information to TimelineAgent's didPaint callback.
3239         https://bugs.webkit.org/show_bug.cgi?id=31087
3240
3241         * inspector/InspectorTimelineAgent.cpp:
3242         (WebCore::InspectorTimelineAgent::willPaint):
3243         * inspector/InspectorTimelineAgent.h:
3244         * inspector/TimelineRecordFactory.cpp:
3245         (WebCore::TimelineRecordFactory::createPaintTimelineRecord):
3246         * inspector/TimelineRecordFactory.h:
3247         * page/FrameView.cpp:
3248         (WebCore::FrameView::paintContents):
3249
3250 2009-11-04  Jaime Yap  <jaimeyap@google.com>
3251
3252         Reviewed by Timothy Hatcher.
3253
3254         This patch adds API to the console object for annotating the
3255         inspector timeline. This allows developers to mark logical
3256         checkpoints in their apps and have them overlaid in the event
3257         record tree.
3258
3259         tests updated: LayoutTests/fast/dom/Window/window-properties.html
3260         https://bugs.webkit.org/show_bug.cgi?id=31082
3261
3262
3263         * inspector/InspectorController.cpp:
3264         (WebCore::InspectorController::markTimeline):
3265         * inspector/InspectorController.h:
3266         * inspector/InspectorTimelineAgent.cpp:
3267         (WebCore::InspectorTimelineAgent::didMarkTimeline):
3268         * inspector/InspectorTimelineAgent.h:
3269         (WebCore::):
3270         * inspector/TimelineRecordFactory.cpp:
3271         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
3272         * inspector/TimelineRecordFactory.h:
3273         * inspector/front-end/TimelineAgent.js:
3274         * page/Console.cpp:
3275         (WebCore::Console::markTimeline):
3276         * page/Console.h:
3277         * page/Console.idl:
3278
3279 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
3280
3281         Unreviewed build fix for WebInspector with Qt build.
3282
3283         Simply re-generate the Qt resource file by running
3284         WebKitTools/Scripts/generate-qt-inspector-resource
3285
3286         * inspector/front-end/WebKit.qrc:
3287
3288 2009-11-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
3289
3290         Reviewed by Simon Hausmann.
3291
3292         [Qt] Handle fonts like the other ports
3293
3294         Remove FontFallbackListQt and rely on the common FontFallbackList
3295         to handle the fonts. FontCache and FontPlatformData have been
3296         updated to work with the common FontFallbackList.
3297
3298         In the previous implementation, FontPlatformDataCacheKey
3299         was a clone of FontPlatformData with the hashing
3300         capabilities added in order to use it as a key in the cache's
3301         hashmap. FontPlatformData has been modified to handle the hashing
3302         function directly so the data are not copied twice in memory.
3303
3304         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
3305         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
3306         The behavior is similar except currFamily->family().length() was
3307         not tested and the fallback fonts selector were not used.
3308
3309         https://bugs.webkit.org/show_bug.cgi?id=29856
3310
3311         Test: svg/text/text-font-invalid.html
3312
3313         * WebCore.pro:
3314         * platform/graphics/qt/FontCacheQt.cpp:
3315         (WebCore::FontCache::platformInit):
3316         (WebCore::FontCache::getFontDataForCharacters):
3317         (WebCore::FontCache::getSimilarFontPlatformData):
3318         (WebCore::FontCache::getLastResortFallbackFont):
3319         (WebCore::FontCache::getTraitsInFamily):
3320         (WebCore::FontCache::createFontPlatformData):
3321         * platform/graphics/qt/FontFallbackListQt.cpp:
3322         Removed. We now use the implementation from FontFallbackList.cpp
3323         * platform/graphics/qt/FontPlatformData.h:
3324         Add hashing capabilities to be able to use the data with the FontCache.
3325         This was previously done in FontCacheQt.cpp
3326         (WebCore::FontPlatformData::FontPlatformData):
3327         Added a boolean to identify deleted value in the hash table.
3328         (WebCore::FontPlatformData::isHashTableDeletedValue):
3329         (WebCore::FontPlatformData::hash):
3330         (WebCore::FontPlatformData::operator==):
3331         * platform/graphics/qt/FontPlatformDataQt.cpp:
3332         (WebCore::FontPlatformData::FontPlatformData):
3333
3334 2009-11-03  Dan Bernstein  <mitz@apple.com>
3335
3336         Leopard build fix
3337
3338         * platform/network/mac/AuthenticationMac.mm:
3339         (WebCore::mac):
3340         (WebCore::core):
3341
3342 2009-11-03  Dan Bernstein  <mitz@apple.com>
3343
3344         Reviewed by Alexey Proskuryakov.
3345
3346         Fix an assertion failure in core(NSURLProtectionSpace *) by handling NTLM
3347         authentication in AuthenticationMac
3348
3349         * platform/network/mac/AuthenticationMac.mm:
3350
3351 2009-11-03  Eric Z. Ayers  <zundel@google.com>
3352
3353         Reviewed by Timothy Hatcher.
3354
3355         Fixes a problem where the timeline instrumentation crashes if
3356         timeline profiling is enabled or disabled in the middle of an
3357         event dispatch.
3358
3359         https://bugs.webkit.org/show_bug.cgi?id=31080
3360
3361         Test: inspector/timeline-trivial.html
3362
3363         * bindings/js/ScriptController.cpp:
3364         (WebCore::ScriptController::evaluateInWorld):
3365         (WebCore::ScriptController::processingUserGestureEvent):
3366         * inspector/InspectorTimelineAgent.cpp:
3367         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
3368         * page/DOMTimer.cpp:
3369         (WebCore::DOMTimer::fired):
3370
3371 2009-11-03  Dan Bernstein  <mitz@apple.com>
3372
3373         Reviewed by Dave Hyatt.
3374
3375         Allow a frame to go back to copy-on-scroll when it ceases being overlapped
3376
3377         The code was not testing slow-scrolling frames for overlappedness, thinking the answer
3378         would not matter. That is not the case if the only reason for the slow-scrolling is
3379         being overlapped.
3380
3381         * page/FrameView.cpp:
3382         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): Added. Returns whether there is any
3383         reason besides being overlapped that the frame would need to fully repaint on scroll.
3384         * page/FrameView.h:
3385         * rendering/RenderWidget.cpp:
3386         (WebCore::RenderWidget::paint): Use useSlowRepaintsIfNotOverlapped().
3387
3388 2009-11-03  Dmitry Titov  <dimich@chromium.org>
3389
3390         Not reviewed, Qt build fix.
3391
3392         Need to use right capitalization for include file.
3393
3394         * page/Navigator.cpp:
3395
3396 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3397
3398         Reviewed by Timothy Hatcher.
3399
3400         Web Inspector: Migrate from top bar filters to check boxes in Timeline.
3401
3402         https://bugs.webkit.org/show_bug.cgi?id=31081
3403
3404         * inspector/front-end/AbstractTimelinePanel.js:
3405         (WebInspector.AbstractTimelinePanel.prototype.showCategory):
3406         (WebInspector.AbstractTimelinePanel.prototype.hideCategory):
3407         (WebInspector.AbstractTimelinePanel.prototype.filter):
3408         * inspector/front-end/TimelinePanel.js:
3409         (WebInspector.TimelinePanel):
3410         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
3411         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClick):
3412         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
3413         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
3414         * inspector/front-end/inspector.css:
3415
3416 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3417
3418         Reviewed by Timothy Hatcher.
3419
3420         Web Inspector: clear overview on Clear action and panel reset.
3421
3422         https://bugs.webkit.org/show_bug.cgi?id=31078
3423
3424         * inspector/front-end/TimelinePanel.js:
3425         (WebInspector.TimelinePanel.prototype._getRecordDetails):
3426         (WebInspector.TimelinePanel.prototype.reset):
3427
3428 2009-11-03  Yaar Schnitman  <yaar@chromium.org>
3429
3430         Reviewed by Dimitri Glazkov.
3431
3432         Imported action and rules python files that WebCore.gyp depends on. 
3433         These files used to live in chromium.org and deal mostly with auto-generation
3434         of code by wrapping existing webkit perl scripts.
3435
3436         https://bugs.webkit.org/show_bug.cgi?id=31071
3437
3438         * WebCore.gyp/WebCore.gyp: Fixed paths in actions and rules.
3439         * WebCore.gyp/scripts/action_csspropertynames.py: Added.
3440         * WebCore.gyp/scripts/action_cssvaluekeywords.py: Added.
3441         * WebCore.gyp/scripts/action_makenames.py: Added.
3442         * WebCore.gyp/scripts/action_maketokenizer.py: Added.
3443         * WebCore.gyp/scripts/action_useragentstylesheets.py: Added.
3444         * WebCore.gyp/scripts/rule_binding.py: Added.
3445         * WebCore.gyp/scripts/rule_bison.py: Added.
3446         * WebCore.gyp/scripts/rule_gperf.py: Added.
3447
3448 2009-11-03  Bradley Green  <brg@chromium.org>
3449
3450         Reviewed by Dmitry Titov.
3451
3452         Implement window.navigator.registerProtocolHandler in webkit,
3453         https://bugs.webkit.org/b/29651
3454
3455         Also implemented its sister API window.navigator.registerContentHandler.
3456
3457         These methods are as described in the HTML5 specification which can be
3458         found here,
3459         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
3460         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registercontenthandler
3461
3462         As specified in the document, the behavior of the browser is determined
3463         by the current registered handler.  The state of a registered handler
3464         can change at any time, with the user clearing a registered handler,
3465         registering a different page as handler, or deferring the hander to the
3466         OS.  If webkit was to track the state of the currently registered
3467         handlers, it would need more APIs and complexity to keep in sync with
3468         user actions reported to webkit from the UA.  For simplicity, the state
3469         of protocol handlers should be kept isolated from webkit and webkit only
3470         notifies the UA that a page has made the call.  The UA is then
3471         responsible for correctly handling the registerProtocolHandler call and
3472         the redirects which result from registration.
3473
3474         We do however follow the specification in insuring that the reserved
3475         schemes and mimeTypes are not passed to the UA as custom handler
3476         registration tests.  We also insure that the "%s" token is present as
3477         required by the specification.
3478
3479         Updated test expectations for window.clientInformation and navigator
3480         objects.
3481
3482         Tests: fast/dom/registerContentHandler.html
3483                fast/dom/registerProtocolHandler.html
3484
3485         * page/Chrome.cpp:
3486         (WebCore::Chrome::registerProtocolHandler):
3487         (WebCore::Chrome::registerContentHandler):
3488         * page/Chrome.h:
3489         * page/ChromeClient.h:
3490         (WebCore::ChromeClient::registerProtocolHandler):
3491         (WebCore::ChromeClient::registerContentHandler):
3492         * page/Navigator.cpp:
3493         (WebCore::verifyCustomHandlerURL):
3494         (WebCore::verifyProtocolHandlerScheme):
3495         (WebCore::Navigator::registerProtocolHandler):
3496         (WebCore::verifyProtocolHandlerMimeType):
3497         (WebCore::Navigator::registerContentHandler):
3498         * page/Navigator.h:
3499         * page/Navigator.idl:
3500
3501 2009-11-03  Brady Eidson  <beidson@apple.com>
3502
3503         Reviewed by Darin Adler.
3504
3505         https://bugs.webkit.org/show_bug.cgi?id=31079 - Remove #include "Page.h" from Document.h
3506
3507         No new tests. (No change in functionality)
3508
3509         * dom/Document.cpp:
3510         (WebCore::Document::inspectorTimelineAgent): Moved from Document.h
3511         * dom/Document.h:
3512
3513         Include "Page.h" directly:
3514         * html/HTMLVideoElement.cpp:
3515         * loader/RedirectScheduler.cpp:
3516         * page/History.cpp:
3517         * rendering/MediaControlElements.cpp:
3518         * storage/StorageAreaImpl.cpp:
3519
3520 2009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
3521
3522         Reviewed by Timothy Hatcher.
3523
3524         Web Inspector: hover over JS "things" in source and see their values
3525         https://bugs.webkit.org/show_bug.cgi?id=30913
3526
3527         * inspector/front-end/SourceFrame.js:
3528
3529 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3530
3531         Reviewed by Timothy Hatcher.
3532
3533         Web Inspector: update timeline content boundaries on timer.
3534
3535         https://bugs.webkit.org/show_bug.cgi?id=31072
3536
3537         * inspector/front-end/TimelinePanel.js:
3538         (WebInspector.TimelinePanel.prototype.refresh):
3539         (WebInspector.TimelinePanel.prototype._setWindowPosition):
3540
3541 2009-11-03  Dan Bernstein  <mitz@apple.com>
3542
3543         Reviewed by Anders Carlsson and Beth Dakin.
3544
3545         https://bugs.webkit.org/show_bug.cgi?id=31070
3546         Fix <rdar://problem/7194735> Crashes at RenderText::RenderText()
3547         Fix <rdar://problem/6937089> Crashes at RenderWidget::destroy()
3548
3549         Tests: plugins/attach-during-destroy.html
3550                plugins/destroy-reentry.html
3551
3552         These crashes were caused by plug-in code running during detach(),
3553         causing re-entry into RenderWidget::destroy() in one case and a call
3554         into attach() in the other. The fix is to prevent plug-in code from
3555         being called at certain unsafe times (during attach(), detach(), and
3556         recalcStyle()) by deferring changes to the widget hierarchy.
3557
3558         * dom/Document.cpp:
3559         (WebCore::Document::recalcStyle): Suspend widget hierarchy updates
3560             during style recalculation.
3561
3562         * dom/Element.cpp:
3563         (WebCore::Element::attach): Suspend widget hierarchy updates during
3564             attach().
3565         (WebCore::Element::detach): Suspend widget hierarchy updates during
3566             detach().
3567
3568         * rendering/RenderWidget.cpp:
3569         (WebCore::widgetNewParentMap): Returns a static map of pending changes
3570             to the widget hierarchy.
3571         (WebCore::RenderWidget::suspendWidgetHierarchyUpdates): Increments the
3572             suspend count.
3573         (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): Decrements the
3574             suspend count. If the count is going to be zero, updates the widget
3575             hierarchy by executing the pending changes stored in the map.
3576         (WebCore::moveWidgetToParentSoon): Updates the widget hierarchy
3577             immediately or makes or updates an entry in the map, depending on
3578             whether updates are suspended.
3579         (WebCore::RenderWidget::destroy): Removed earlier bandaid fix for
3580             <rdar://problem/6937089>.
3581         (WebCore::RenderWidget::setWidgetGeometry): Assert that widget updates
3582             are not suspended, because this function updates the widget’s
3583             bounds, which can result in arbitrary native and JavaScript code
3584             execution. I think this assertion is true thanks to some deferred-
3585             update mechanisms that have already been deployed in other places
3586             in the code.
3587         (WebCore::RenderWidget::setWidget): Call moveWidgetToParentSoon instead
3588             of changing the widget hierarchy directly.
3589         * rendering/RenderWidget.h: Declared suspendWidgetHierarchyUpdates()
3590             and resumeWidgetHierarchyUpdates().
3591
3592 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3593
3594         Reviewed by Timothy Hatcher.
3595
3596         Web Inspector: only show timeline records that contribute
3597         to the current window.
3598
3599         https://bugs.webkit.org/show_bug.cgi?id=31069
3600
3601         * inspector/front-end/TimelinePanel.js:
3602         (WebInspector.TimelinePanel.prototype.refresh):
3603         (WebInspector.TimelineGraph):
3604         (WebInspector.TimelineGraph.prototype.refresh):
3605
3606 2009-11-03  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3607
3608         Reviewed by Timothy Hatcher.
3609
3610         Watch expression editor should stay open after Add button was clicked
3611         https://bugs.webkit.org/show_bug.cgi?id=31049
3612
3613         No new tests, was a regression, use existing manual test.
3614
3615         * inspector/front-end/WatchExpressionsSidebarPane.js:
3616         (WebInspector.WatchExpressionsSection.prototype.update):
3617         (WebInspector.WatchExpressionsSection.prototype.addExpression):
3618
3619 2009-11-03  Evan Martin  <evan@chromium.org>
3620
3621         Reviewed by Darin Adler.
3622
3623         Fix an off-by-one in the CSS lexer that causes memory corruption in
3624         hard-to-trigger circumstances.
3625
3626         https://bugs.webkit.org/show_bug.cgi?id=30827
3627
3628         Test: fast/css/end-of-buffer-crash.html
3629
3630         * css/maketokenizer: Add comments, fix off-by-one.
3631
3632 2009-11-02  Darin Adler  <darin@apple.com>
3633