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