Unreviewed, last Chromium build fix corresponding to revision 49113.
[WebKit-https.git] / WebCore / ChangeLog
1 2009-10-05  Julie Parent  <jparent@chromium.org>
2
3         Unreviewed, last Chromium build fix corresponding to revision 49113.
4         Add include for BeforeLoadEvent to DOMObjectsInclude.h.
5
6         * bindings/v8/DOMObjectsInclude.h:
7
8 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
9
10         Fix Windows build.
11
12         * html/HTMLMediaElement.cpp:
13
14 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
15
16         Fix the build: MediaControllerThemeQT was renamed to MediaControllerThemeQuickTime.
17
18         * rendering/RenderThemeMac.mm:
19         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
20
21 2009-10-05  Pierre d'Herbemont  <pdherbemont@webkit.org>
22
23         Reviewed by Simon Fraser
24         
25         Support fullscreen in MediaPlayer (Mac)
26         https://bugs.webkit.org/show_bug.cgi?id=26742
27
28         Add a fullscreen button to the <video> controller if the media engine,
29         and the theme have support for fullscreen, and can show appropriate controls.
30         Clicking the button calls through the ChromeClient to the WebVideoFullscreenController
31         in WebKit to do a nice animation to fullscreen, with a custom controller.
32
33         * DerivedSources.make:
34         * WebCore.Video.exp: Added.
35         New export file for when VIDEO is enabled.
36         
37         * WebCore.base.exp: Export WebCore::HTMLNames::videoTag
38         * WebCore.xcodeproj/project.pbxproj: New files
39         
40         * html/HTMLMediaElement.h:
41         * html/HTMLMediaElement.cpp:
42         (WebCore::HTMLMediaElement::HTMLMediaElement):
43         (WebCore::HTMLMediaElement::willRemove):
44         (WebCore::HTMLMediaElement::screenRect):
45         (WebCore::HTMLMediaElement::enterFullscreen):
46         (WebCore::HTMLMediaElement::exitFullscreen):
47         (WebCore::HTMLMediaElement::platformMedia):
48         Add fullscreen logic. platformMedia returns a pointer to platform-specific playback data
49         used for fullscreen.
50         
51         * html/HTMLVideoElement.h:
52         * html/HTMLVideoElement.cpp:
53         (WebCore::HTMLVideoElement::supportsFullscreen): Check with both the player and the ChromeClient
54         to see if it's possile to enter fullscreen for this element.
55         
56         * page/ChromeClient.h:
57         (WebCore::ChromeClient::supportsFullscreenForNode):
58         (WebCore::ChromeClient::enterFullscreenForNode):
59         (WebCore::ChromeClient::exitFullscreenForNode):
60         New methods
61         
62         * platform/graphics/MediaPlayer.h:
63         * platform/graphics/MediaPlayer.cpp:
64         (WebCore::NullMediaPlayerPrivate::platformMedia):
65         (WebCore::MediaPlayer::platformMedia):
66         * platform/graphics/MediaPlayerPrivate.h:
67         (WebCore::MediaPlayerPrivateInterface::platformMedia):
68         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
69         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
70         (WebCore::MediaPlayerPrivate::platformMedia):
71         (WebCore::MediaPlayerPrivate::supportsFullscreen):
72         New methods to return platform-specific playback data for fullscreen.
73         
74         * rendering/MediaControlElements.cpp:
75         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
76         Hook up the fullscreen button.
77         * rendering/RenderThemeMac.h:
78         * rendering/RenderThemeMac.mm:
79         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
80         Allow the RenderThemeMac to make a decision about the availability of fullscreen based
81         on the QuickTime version, since this affects what controls are availabl.e
82
83 2009-10-05  Kevin Decker  <kdecker@apple.com>
84
85         Export a few more methods from Settings.h
86         
87         Rubberstamped by Jon Honeycutt.
88         
89         * WebCore.base.exp:
90
91 2009-10-05  Dmitry Titov  <dimich@chromium.org>
92
93         Reviewed by Darin Adler.
94
95         1-char fix for obviously reverse condition.
96         https://bugs.webkit.org/show_bug.cgi?id=30100
97         No test since the only difference is a timing of GC.
98
99         * bindings/js/ScriptCachedFrameData.cpp:
100         (WebCore::ScriptCachedFrameData::clear): Revert condition. Almost a typo.
101
102 2009-09-30  Kenneth Russell  <kbr@google.com>
103
104         Reviewed by Darin Fisher.
105
106         Update platform-specific #ifdefs in GraphicsContext3D.h for the
107         Chromium port.
108         https://bugs.webkit.org/show_bug.cgi?id=29936
109
110         * platform/graphics/GraphicsContext3D.h:
111         Changed #if PLATFORM(SKIA) to #if PLATFORM(CHROMIUM).
112
113 2009-10-05  Dan Bernstein  <mitz@apple.com>
114
115         Reviewed by Darin Adler.
116
117         REGRESSION (r47440): Inserting text in the middle of content in a scrolled textfield results in painting bugs
118         <rdar://problem/7269108>
119         https://bugs.webkit.org/show_bug.cgi?id=29982
120
121         Test: fast/repaint/line-in-scrolled-clipped-block.html
122
123         * rendering/RenderBlock.cpp:
124         (WebCore::RenderBlock::layoutBlock): Use the unclipped overflow rect
125         (including layout overflow) for the repaint rect calculation.
126
127 2009-10-05  Drew Wilson  <atwilson@google.com>
128
129         Reviewed by David Levin.
130
131         Chromium wants to turn off SharedWorkers at runtime
132         https://bugs.webkit.org/show_bug.cgi?id=29757
133
134         * bindings/js/JSDOMWindowCustom.cpp:
135         (WebCore::JSDOMWindow::sharedWorker):
136         Now returns jsUndefined if isAvailable() returns false, to allow SharedWorkers to be disabled at runtime.
137         * workers/DefaultSharedWorkerRepository.cpp:
138         (WebCore::SharedWorkerRepository::isAvailable):
139         Made SharedWorkers available by default.
140         * workers/SharedWorkerRepository.h:
141         Added definition for SharedWorkerRepository::isAvailable().
142
143 2009-10-05  Hironori Bono  <hbono@chromium.org>
144
145         Reviewed by Eric Seidel.
146
147         A super quick fix for Bug 28710.
148
149         https://bugs.webkit.org/show_bug.cgi?id=28710
150
151         This change just resets the style sent to addStyleMarkup() to avoid an assertion error
152         and creates an empty style when computedStyleAtPosition is 0 to avoid a crash.
153         (This change is nothing but a better-than-crash change.)
154
155         Tests: editing/selection/select-crash-001.html
156                editing/selection/select-crash-002.html
157
158         * editing/ApplyStyleCommand.cpp:
159         (WebCore::editingStyleAtPosition): Resets the style sent to addStyleMarkup() if it is not valid.
160         * editing/markup.cpp:
161         (WebCore::createMarkup): Creates an empty style if computedStyleAtPosition is 0.
162
163 2009-10-05  Sam Weinig  <sam@webkit.org>
164
165         Reviewed by Mark Rowe.
166
167         Silence duplicate errors logged for missing getComputedStyle
168         implementations. Improves the error message as well.
169
170         * css/CSSComputedStyleDeclaration.cpp:
171         (WebCore::logUnimplementedPropertyID):
172         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
173
174 2009-10-05  Julie Parent  <jparent@chromium.org>
175
176         Unreviewed, Chromium build fix #3.  Add V8BeforeLoadEvent.[cc|h] to derived sources.
177
178         * bindings/v8/DerivedSourcesAllInOne.cpp:
179         * bindings/v8/V8Index.cpp:
180
181 2009-10-05  Mark Rowe  <mrowe@apple.com>
182
183         Try and fix the GTK build.
184
185         * GNUmakefile.am:
186
187 2009-10-05  Julie Parent  <jparent@chromium.org>
188
189         Unreviewed, Chromium build fix #2.  Add new BEFORELOADEVENT to V8ClassIndex.
190
191         * bindings/v8/V8Index.h:
192
193 2009-10-05  Julie Parent  <jparent@chromium.org>
194
195         Unreviewed, Chromium build fix.  Missing "," after entry for BeforeLoadEvent.idl. 
196
197         * WebCore.gypi:
198
199 2009-10-05  Dave Hyatt  <hyatt@apple.com>
200
201         Reviewed by Sam Weinig.
202
203         Add a beforeload event that will be fired before subresources load. (It isn't fired yet.)  The event
204         has one field, the URL that is going to be requested.  Setting preventDefault will stop the load
205         from occurring.
206
207         * DerivedSources.cpp:
208         * DerivedSources.make:
209         * WebCore.gypi:
210         * WebCore.vcproj/WebCore.vcproj:
211         * WebCore.xcodeproj/project.pbxproj:
212         * dom/BeforeLoadEvent.h: Added.
213         (WebCore::BeforeLoadEvent::create):
214         (WebCore::BeforeLoadEvent::initBeforeLoadEvent):
215         (WebCore::BeforeLoadEvent::url):
216         (WebCore::BeforeLoadEvent::BeforeLoadEvent):
217         * dom/BeforeLoadEvent.idl: Added.
218         * dom/EventNames.h:
219         * page/DOMWindow.idl:
220
221 2009-10-05  Priit Laes  <plaes@plaes.org>
222
223         Reviewed by Gustavo Noronha.
224
225         Add Gentoo-specific paths for searching browser plugins.
226         https://bugs.webkit.org/show_bug.cgi?id=30088
227
228         * plugins/PluginDatabase.cpp:
229         (WebCore::PluginDatabase::defaultPluginDirectories):
230
231 2009-10-02  Chris Marrin  <cmarrin@apple.com>
232
233         Reviewed by Adele Peterson.
234
235         Add functionality to pause/throttle CSS transitions/animations in a WebView
236         https://bugs.webkit.org/show_bug.cgi?id=29942
237
238         Exporting call from AnimationController
239
240         * WebCore.base.exp:
241
242 2009-10-05  Kevin Decker  <kdecker@apple.com>
243
244         Rubberstamped by Anders Carlsson.
245         
246         * WebCore.base.exp: Update export of HaltablePlugin/PluginHalterClient.
247         * WebCore.xcodeproj/project.pbxproj: Likewise.
248
249 2009-10-05  Eric Seidel  <eric@webkit.org>
250
251         No review, rolling out r49104.
252         http://trac.webkit.org/changeset/49104
253
254         * html/HTMLInputElement.cpp:
255         * html/HTMLInputElement.h:
256         * html/HTMLInputElement.idl:
257         * html/ValidityState.cpp:
258         * html/ValidityState.h:
259         (WebCore::ValidityState::rangeUnderflow):
260         (WebCore::ValidityState::rangeOverflow):
261         * rendering/RenderSlider.cpp:
262         (WebCore::SliderRange::SliderRange):
263         (WebCore::SliderRange::valueFromElement):
264
265 2009-10-05  Kent Tamura  <tkent@chromium.org>
266
267         Reviewed by Eric Seidel.
268
269         Update style immediately when validation-related values are updated.
270         https://bugs.webkit.org/show_bug.cgi?id=28868
271
272         In order to apply :valid, :invalid, :optional or :required lively,
273           - call setNeedsStyleRecalc() when properties which can change
274             willValidate state are updated, and
275              (Parent form element, name, disabled, readonly)
276           - call updateValidity() when properties which can change validity
277             state are updated. (value, pattern, required)
278
279         Tests: fast/forms/input-live-pseudo-selectors.html
280                fast/forms/textarea-live-pseudo-selectors.html
281
282         * html/HTMLFormControlElement.cpp:
283         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
284         (WebCore::HTMLFormControlElement::parseMappedAttribute):
285         (WebCore::HTMLFormControlElement::required):
286         (WebCore::HTMLFormControlElement::updateValidity):
287         * html/HTMLFormControlElement.h:
288         * html/HTMLInputElement.cpp:
289         (WebCore::HTMLInputElement::setInputType):
290         (WebCore::HTMLInputElement::parseMappedAttribute):
291         (WebCore::HTMLInputElement::setValue):
292         (WebCore::HTMLInputElement::setValueFromRenderer):
293         (WebCore::HTMLInputElement::setFileListFromRenderer):
294         * html/HTMLTextAreaElement.cpp:
295         (WebCore::HTMLTextAreaElement::setValue):
296         * rendering/RenderTextControlMultiLine.cpp:
297         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
298
299 2009-10-05  Kent Tamura  <tkent@chromium.org>
300
301         Reviewed by Darin Adler.
302
303         Implement min/max attributes, ValidityState.rangeUnderflow and
304         ValidityState.rangeOverflow for <input type=number> and <input type=range>
305         https://bugs.webkit.org/show_bug.cgi?id=29069
306
307         Tests: fast/forms/ValidityState-rangeOverflow-number.html
308                fast/forms/ValidityState-rangeOverflow-range.html
309                fast/forms/ValidityState-rangeUnderflow-number.html
310                fast/forms/ValidityState-rangeUnderflow-range.html
311                fast/forms/input-minmax.html
312
313         * html/HTMLInputElement.cpp:
314         (WebCore::HTMLInputElement::rangeUnderflow):
315         (WebCore::HTMLInputElement::rangeOverflow):
316         (WebCore::HTMLInputElement::rangeMinimum):
317         (WebCore::HTMLInputElement::rangeMaximum):
318         * html/HTMLInputElement.h:
319         * html/HTMLInputElement.idl:
320         * html/ValidityState.cpp:
321         (WebCore::ValidityState::rangeUnderflow):
322         (WebCore::ValidityState::rangeOverflow):
323         * html/ValidityState.h:
324         * rendering/RenderSlider.cpp:
325         (WebCore::SliderRange::SliderRange):
326         (WebCore::SliderRange::valueFromElement):
327
328 2009-10-05  Kent Tamura  <tkent@chromium.org>
329
330         Reviewed by Eric Seidel.
331
332         Introduces
333          - new CSS pseudo selector: "-webkit-input-list-button"
334          - new CSS apperance type: "list-button"
335          - new ControlPart value: "ListButtonPart"
336         for the UI of the list attribute of the input element, and adds
337         implementation to draw ListButtonPart on Mac.
338         The code is guarded by ENABLE(DATALIST).
339
340         https://bugs.webkit.org/show_bug.cgi?id=27794
341
342         Test: platform/mac/fast/forms/input-list-button-size.html
343
344         * css/CSSPrimitiveValueMappings.h:
345         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
346         * css/CSSSelector.cpp:
347         (WebCore::CSSSelector::extractPseudoType):
348         * css/CSSSelector.h:
349         (WebCore::CSSSelector::):
350         * css/CSSStyleSelector.cpp:
351         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
352         * css/CSSValueKeywords.in:
353         * css/html.css:
354         * html/HTMLInputElement.cpp:
355         * platform/ThemeTypes.h:
356         (WebCore::):
357         * platform/mac/ThemeMac.mm:
358         (WebCore::listButtonSizes):
359         (WebCore::button):
360         (WebCore::paintButton):
361         (WebCore::ThemeMac::controlSize):
362         (WebCore::ThemeMac::minimumControlSize):
363         (WebCore::ThemeMac::controlBorder):
364         (WebCore::ThemeMac::paint):
365         * rendering/RenderTheme.cpp:
366         (WebCore::RenderTheme::adjustStyle):
367         (WebCore::RenderTheme::paint):
368         (WebCore::RenderTheme::paintBorderOnly):
369         (WebCore::RenderTheme::paintDecorations):
370         * rendering/RenderThemeMac.mm:
371         (WebCore::RenderThemeMac::adjustRepaintRect):
372         * rendering/style/RenderStyleConstants.h:
373         (WebCore::):
374
375 2009-10-05  Brian Weinstein  <bweinstein@apple.com>
376
377         Reviewed by Timothy Hatcher.
378
379         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30065>
380         nodeTitleInfo should be placed in ElementsTreeOutline.
381         
382         Move nodeTitleInfo into ElementsTreeOutline.js from utilities.js.
383
384         * inspector/front-end/ElementsTreeOutline.js:
385         (WebInspector.ElementsTreeElement):
386         (WebInspector.ElementsTreeElement.prototype._updateTitle):
387         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
388         * inspector/front-end/utilities.js:
389
390 2009-10-02  Yael Aharon  <yael.aharon@nokia.com>
391
392         Reviewed by Simon Hausmann.
393
394         [Qt] Inform the application when a new request is created
395         https://bugs.webkit.org/show_bug.cgi?id=29975
396
397         Emit a signal each time a request is created, with the request and the frame
398         that created it.
399
400         * platform/network/qt/QNetworkReplyHandler.cpp:
401         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
402         (WebCore::QNetworkReplyHandler::start):
403
404 2009-10-05  Ben Murdoch  <benm@google.com>
405
406         Reviewed by Darin Adler.
407
408         Add an ASSERT in updateGuidVersionMap.
409         https://bugs.webkit.org/show_bug.cgi?id=30077
410
411         * storage/Database.cpp:
412         (WebCore::updateGuidVersionMap): ASSERT that the guidMutex() is locked.
413
414 2009-10-05  Nate Chapin  <japhet@chromium.org>
415
416         Reviewed by Eric Seidel.
417
418         Allow V8 to throw an exception in _NPN_SetException without worrying about context
419         if we don't have enough information to find the correct context.
420
421         https://bugs.webkit.org/show_bug.cgi?id=30026
422
423         Part of the fix for Chromium's failure of LayouTests/plugins/netscape-throw-exception.html.
424
425         * bindings/v8/NPV8Object.cpp: 
426         (_NPN_SetException): Don't suppress the exception if we can't find the relevant context.
427
428 2009-10-05  Mikhail Naganov  <mnaganov@chromium.org>
429
430         Reviewed by Timothy Hatcher.
431
432         Place "Close" button in docked mode on the same side as the window "Close" button in detached mode.
433
434         https://bugs.webkit.org/show_bug.cgi?id=29961
435
436         * inspector/front-end/inspector.css:
437         * inspector/front-end/inspector.html:
438         * inspector/front-end/inspector.js:
439         (WebInspector.loaded):
440
441 2009-10-05  J-P Nurmi  <jpnurmi@gmail.com>
442
443         Reviewed by Simon Hausmann.
444
445         [Qt] Added pure virtual QWebPageClient::pluginParent()
446
447         https://bugs.webkit.org/show_bug.cgi?id=29710
448
449         * platform/qt/QWebPageClient.h:
450
451 2009-10-05  Jakub Wieczorek  <faw217@gmail.com>
452
453         Reviewed by Tor Arne Vestbø.
454
455         [Qt] windowsKeyCodeForKeyEvent() returns a wrong value for the F10 key.
456         https://bugs.webkit.org/show_bug.cgi?id=30042
457
458         * platform/qt/PlatformKeyboardEventQt.cpp:
459         (WebCore::windowsKeyCodeForKeyEvent):
460
461 2009-10-05  Fumitoshi Ukai  <ukai@chromium.org>
462
463         Unreviewed build fix for ENABLE(WEB_SOCKETS) and v8.
464
465         V8ObjectEventListener.h has been removed at r48978
466
467         * bindings/v8/custom/V8WebSocketCustom.cpp:
468
469 2009-10-04  Pavel Feldman  <pfeldman@chromium.org>
470
471         Reviewed by Timothy Hatcher.
472
473         Web Inspector console stops working while JS in IFRAME is paused.
474
475         https://bugs.webkit.org/show_bug.cgi?id=29958
476
477         * inspector/front-end/InjectedScript.js:
478         (InjectedScript._evaluateOn):
479         (InjectedScript.addInspectedNode):
480         (InjectedScript._ensureCommandLineAPIInstalled):
481
482 2009-10-04  Pavel Feldman  <pfeldman@chromium.org>
483
484         Reviewed by Timothy Hatcher.
485
486         Web Inspector: Introduce inspected object groups for console
487         and watch evaluation results so that they could be released
488         explicitly.
489
490         https://bugs.webkit.org/show_bug.cgi?id=29891
491
492         * bindings/js/JSInspectorBackendCustom.cpp:
493         (WebCore::JSInspectorBackend::wrapObject):
494         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
495         (WebCore::CALLBACK_FUNC_DECL):
496         * inspector/InspectorBackend.cpp:
497         (WebCore::InspectorBackend::wrapObject):
498         (WebCore::InspectorBackend::releaseWrapperObjectGroup):
499         * inspector/InspectorBackend.h:
500         * inspector/InspectorBackend.idl:
501         * inspector/InspectorController.cpp:
502         (WebCore::InspectorController::clearConsoleMessages):
503         (WebCore::InspectorController::resetScriptObjects):
504         (WebCore::InspectorController::wrapObject):
505         (WebCore::InspectorController::unwrapObject):
506         (WebCore::InspectorController::releaseWrapperObjectGroup):
507         * inspector/InspectorController.h:
508         * inspector/InspectorFrontend.cpp:
509         (WebCore::InspectorFrontend::addMessageToConsole):
510         * inspector/front-end/ConsoleView.js:
511         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
512         (WebInspector.ConsoleView.prototype.doEvalInWindow):
513         (WebInspector.ConsoleView.prototype._enterKeyPressed):
514         * inspector/front-end/InjectedScript.js:
515         (InjectedScript.evaluate):
516         (InjectedScript._evaluateAndWrap):
517         (InjectedScript.evaluateInCallFrame):
518         * inspector/front-end/ScriptsPanel.js:
519         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
520         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
521         * inspector/front-end/WatchExpressionsSidebarPane.js:
522         (WebInspector.WatchExpressionsSidebarPane):
523         (WebInspector.WatchExpressionsSection.prototype.update):
524
525 2009-10-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
526
527         Reviewed by Eric Carlson.
528
529         Move mediaControls extras for the Qt port into WebCore/css like other ports
530
531         https://bugs.webkit.org/show_bug.cgi?id=30013
532
533         * WebCore.pro:
534         * WebCore.qrc:
535         * css/mediaControlsQt.css: Renamed from WebCore/css/qt/mediaControls-extras.css.
536         * platform/qt/RenderThemeQt.cpp:
537         (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
538
539 2009-10-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
540
541         Reviewed by Eric Carlson.
542
543         Rename WebCore/css/mediaControlsQT.css and MediaControllerThemeQT
544
545         https://bugs.webkit.org/show_bug.cgi?id=30013
546
547         The QT suffix has been expanded to QuickTime, to not cause confusion
548         and name-crashes with similar files in the Qt port.
549
550         * DerivedSources.make:
551         * WebCore.xcodeproj/project.pbxproj:
552         * css/mediaControlsQuickTime.css: Renamed from WebCore/css/mediaControlsQT.css.
553         * rendering/RenderThemeMac.mm:
554         (WebCore::):
555         (WebCore::mediaControllerTheme):
556         (WebCore::RenderThemeMac::adjustSliderThumbSize):
557         (WebCore::getUnzoomedRectAndAdjustCurrentContext):
558         (WebCore::RenderThemeMac::extraMediaControlsStyleSheet):
559
560 2009-10-04  Brian Weinstein  <bweinstein@apple.com>
561
562         Reviewed by Timothy Hatcher.
563         
564         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30064>
565         Syntax Highlighting CSS shouldn't be duplicated.
566
567         Refactor syntax highlighting CSS into a new file, add it to the
568         projects, and have SourceFrame.js and inspector.html include the
569         new CSS file.
570
571         * WebCore.gypi:
572         * WebCore.vcproj/WebCore.vcproj:
573         * inspector/front-end/SourceFrame.js:
574         (WebInspector.SourceFrame.prototype._loaded):
575         * inspector/front-end/inspector.css:
576         * inspector/front-end/inspector.html:
577         * inspector/front-end/inspectorSyntaxHighlight.css: Added.
578         * inspector/front-end/WebKit.qrc:
579
580 2009-10-04  Brian Weinstein  <bweinstein@apple.com>
581
582         Reviewed by Timothy Hatcher.
583         
584         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30062>
585         Inspector should syntax highlight JS/CSS in elements view.
586
587         Add syntax highlighting of CSS and JavaScript tags to the elements panel.
588         Copied CSS rules from SourceFrame.js to inspector.css, and have the text nodes
589         in utilities.js call the CSS or JS Syntax highlighters if their parent is a script
590         or style tag.
591
592         * inspector/front-end/inspector.css:
593         * inspector/front-end/utilities.js:
594
595 2009-10-04  Fumitoshi Ukai  <ukai@chromium.org>
596
597         Reviewed by Eric Seidel
598
599         Enable Web Sockets in chromium build.
600         https://bugs.webkit.org/show_bug.cgi?id=29917
601
602         * WebCore.gyp/WebCore.gyp:
603
604 2009-10-04  Xan Lopez  <xlopez@igalia.com>
605
606         Reviewed by Gustova Noronha.
607
608         [GTK] performs a POST when refreshing a view that was obtained with a GET
609         https://bugs.webkit.org/show_bug.cgi?id=29761
610
611         Update the HTTP method in the request stored by willSendRequest
612         after a redirect, since it could have changed.
613
614         Test: http/tests/navigation/postredirect-reload.html
615
616         * platform/network/soup/ResourceHandleSoup.cpp:
617         (WebCore::restartedCallback):
618
619 2009-10-04  Xan Lopez  <xlopez@igalia.com>
620
621         Revert previous patch, as the newly added test breaks other tests.
622
623         * platform/network/soup/ResourceHandleSoup.cpp:
624         (WebCore::restartedCallback):
625
626 2009-10-04  Xan Lopez  <xlopez@igalia.com>
627
628         Reviewed by Gustova Noronha.
629
630         [GTK] performs a POST when refreshing a view that was obtained with a GET
631         https://bugs.webkit.org/show_bug.cgi?id=29761
632
633         Update the HTTP method in the request stored by willSendRequest
634         after a redirect, since it could have changed.
635
636         Test: http/tests/navigation/postredirect-reload.html
637
638         * platform/network/soup/ResourceHandleSoup.cpp:
639         (WebCore::restartedCallback):
640
641 2009-10-04  Vitaly Repeshko  <vitalyr@chromium.org>
642
643         Reviewed by Adam Barth.
644
645         [V8] Fixed Function leak in V8LazyEventListener.
646         (Should fix the remaning leak in
647         https://bugs.webkit.org/show_bug.cgi?id=29093).
648         V8LazyEventListeners used to create FunctionTemplates for each
649         wrapped listener which in turn created Functions that were cached
650         forever in V8 Context. Now there is at most one such Function per
651         Context.
652         https://bugs.webkit.org/show_bug.cgi?id=30060
653
654         Added new hidden property name to store toString result:
655         * bindings/v8/V8HiddenPropertyName.cpp:
656         * bindings/v8/V8HiddenPropertyName.h:
657
658         Switched to static FunctionTemplate:
659         * bindings/v8/V8LazyEventListener.cpp:
660         (WebCore::V8LazyEventListenerToString):
661         (WebCore::V8LazyEventListener::prepareListenerObject):
662
663 2009-10-03  Joseph Pecoraro  <joepeck@webkit.org>
664
665         Reviewed by Timothy Hatcher.
666
667         CSS Source View Should be Syntax Highlighted
668         https://bugs.webkit.org/show_bug.cgi?id=14359
669
670           Support for WebKit's CSS Variables @variables and var()
671
672         * inspector/front-end/SourceFrame.js:
673         (WebInspector.CSSSourceSyntaxHighligher):
674
675 2009-10-03  Joseph Pecoraro  <joepeck@webkit.org>
676
677         Reviewed by Timothy Hatcher.
678
679         Inspector should remember preferences for docked/undocked etc
680         https://bugs.webkit.org/show_bug.cgi?id=29089
681
682         * inspector/front-end/ResourcesPanel.js:
683         (WebInspector.ResourcesPanel.prototype._toggleLargerResources): toggle the preference
684         * inspector/front-end/inspector.js:
685         (WebInspector._loadPreferences): factored out loading preferences
686         (WebInspector.loaded):
687
688 2009-10-03  Joseph Pecoraro  <joepeck@webkit.org>
689
690         Reviewed by Timothy Hatcher.
691
692         CSS Source View Should be Syntax Highlighted
693         https://bugs.webkit.org/show_bug.cgi?id=14359
694
695           Trigger the Syntax Highlighter for CSS files.
696
697         * inspector/front-end/SourceFrame.js:
698         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
699         (WebInspector.SourceFrame.prototype.syntaxHighlightCSS):
700         * inspector/front-end/SourceView.js:
701         (WebInspector.SourceView.prototype._contentLoaded):
702
703           Factored out the Syntax Highlighting procedure into a "Class"
704           Added CSSSourceSyntaxHighlighter and JavaScriptSourceSyntaxHighlighter
705
706         (WebInspector.SourceSyntaxHighligher):
707         (WebInspector.SourceSyntaxHighligher.prototype.createSpan):
708         (WebInspector.SourceSyntaxHighligher.prototype.process.processChunk):
709         (WebInspector.SourceSyntaxHighligher.prototype.process):
710         (WebInspector.CSSSourceSyntaxHighligher): the CSS Highlighter
711         (WebInspector.JavaScriptSourceSyntaxHighligher): the JS Highlighter
712
713 2009-10-03  Adam Barth  <abarth@webkit.org>
714
715         Reviewed by Sam Weinig.
716
717         Factor back-forward list methods out of FrameLoader
718         https://bugs.webkit.org/show_bug.cgi?id=30037
719
720         This change moves these back-forward related methods from FrameLoader
721         to Page.  It's possible we should move these methods into some kind of
722         "page controller" object, but we can figure that out in a future patch.
723
724         * loader/FrameLoader.cpp:
725         * loader/FrameLoader.h:
726         * loader/RedirectScheduler.cpp:
727         (WebCore::RedirectScheduler::timerFired):
728         * page/ContextMenuController.cpp:
729         (WebCore::ContextMenuController::contextMenuItemSelected):
730         * page/DOMWindow.cpp:
731         (WebCore::DOMWindow::close):
732         * page/History.cpp:
733         (WebCore::History::length):
734         * page/Page.cpp:
735         (WebCore::Page::canGoBackOrForward):
736         (WebCore::Page::goBackOrForward):
737         (WebCore::Page::getHistoryLength):
738         * page/Page.h:
739         * platform/ContextMenu.cpp:
740         (WebCore::ContextMenu::populate):
741         (WebCore::ContextMenu::checkOrEnableIfNeeded):
742
743 2009-10-02  Pavel Feldman  <pfeldman@chromium.org>
744
745         Reviewed by Timothy Hatcher.
746
747         Web Inspector: prepare InspectorController for being used from layout tests.
748         This change adds evaluateForTestInFrontend method with the callback that
749         allows evaluating arbitrary code in the frontend context.
750
751         https://bugs.webkit.org/show_bug.cgi?id=30008
752
753         * WebCore.Inspector.exp:
754         * WebCore.order:
755         * inspector/InspectorBackend.cpp:
756         (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
757         * inspector/InspectorBackend.h:
758         * inspector/InspectorBackend.idl:
759         * inspector/InspectorController.cpp:
760         (WebCore::InspectorController::populateScriptObjects):
761         (WebCore::InspectorController::evaluateForTestInFrontend):
762         (WebCore::InspectorController::didEvaluateForTestInFrontend):
763         * inspector/InspectorController.h:
764         * inspector/InspectorFrontend.cpp:
765         (WebCore::InspectorFrontend::evaluateForTestInFrontend):
766         * inspector/InspectorFrontend.h:
767         * inspector/front-end/inspector.js:
768         (WebInspector.evaluateForTestInFrontend):
769
770 2009-10-02  Pavel Feldman  <pfeldman@chromium.org>
771
772         Reviewed by Timothy Hatcher.
773
774         Web Inspector: Node search mode is not getting reset on element selection.
775
776         https://bugs.webkit.org/show_bug.cgi?id=30016
777
778         * inspector/front-end/ElementsPanel.js:
779         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
780
781 2009-10-02  Brian Weinstein  <bweinstein@apple.com>
782
783         Reviewed by Timothy Hatcher.
784
785         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30036>
786         Should be able to resize Cookie Columns.
787
788         * inspector/front-end/CookieItemsView.js:
789         (WebInspector.CookieItemsView.prototype.update.callback):
790         (WebInspector.CookieItemsView.prototype.update):
791         (WebInspector.CookieItemsView.prototype.resize):
792
793 2009-09-25  Jon Honeycutt  <jhoneycutt@apple.com>
794
795         Make WebCore::PluginView participate in plug-in halting.
796
797         Reviewed by Sam Weinig.
798
799         * platform/graphics/BitmapImage.h:
800         Declare a create() function that takes an HBITMAP.
801
802         * platform/graphics/win/ImageCGWin.cpp:
803         (WebCore::BitmapImage::create):
804         Use GetObject() to fill out a DIBSECTION structure for the given
805         HBITMAP. Call CGBitmapContextCreate() to create a CG context from the
806         bits of the bitmap. Create a CG image from the context, and pass this
807         when creating a new BitmapImage.
808
809         * plugins/PluginView.cpp:
810         (WebCore::PluginView::start):
811         If we successfully started, tell our parent frame's Page.
812         (WebCore::PluginView::stop):
813         Tell our parent frame's Page that we stopped.
814         (WebCore::PluginView::node):
815
816         * plugins/PluginView.h:
817         Inherit from HaltablePlugin.
818         (WebCore::PluginView::setPlatformPluginWidget):
819         On platforms where the platform plug-in widget is the WebCore::Widget's
820         platform widget, have setPlatformPluginWidget() call
821         setPlatformWidget().
822
823         * plugins/PluginViewNone.cpp:
824         (WebCore::PluginView::halt):
825         Stubbed.
826         (WebCore::PluginView::restart):
827         Stubbed.
828
829         * plugins/gtk/PluginViewGtk.cpp:
830         (WebCore::PluginView::halt):
831         Stubbed.
832         (WebCore::PluginView::restart):
833         Stubbed.
834
835         * plugins/mac/PluginViewMac.cpp:
836         (WebCore::PluginView::halt):
837         Stubbed.
838         (WebCore::PluginView::restart):
839         Stubbed.
840
841         * plugins/qt/PluginViewQt.cpp:
842         (WebCore::PluginView::halt):
843         Stubbed.
844         (WebCore::PluginView::restart):
845         Stubbed.
846
847         * plugins/win/PluginViewWin.cpp:
848         (WebCore::PluginView::platformDestroy):
849         After destroying the window, set the platform plug-in widget to 0 to
850         ensure that Widget isn't holding a stale handle.
851         (WebCore::PluginView::halt):
852         Have our element's RenderWidget display a screenshot of the plug-in,
853         then stop the plug-in and destroy it.
854         (WebCore::PluginView::restart):
855         Clear the RenderWidget's substitute image, then start the plug-in.
856
857         * rendering/RenderWidget.cpp:
858         (WebCore::RenderWidget::showSubstituteImage):
859         Set m_substituteImage to the passed image, and repaint.
860         (WebCore::RenderWidget::paint):
861         If we have a substitute image, paint that instead of allowing the
862         widget to paint itself.
863
864         * rendering/RenderWidget.h:
865         Declare showSubstituteImage(). Added a member to store the substitute
866         image.
867
868 2009-10-02  Adam Barth  <abarth@webkit.org>
869
870         Reviewed by Darin Adler.
871
872         Move PolicyCheck out of FrameLoader.{h,cpp}
873         https://bugs.webkit.org/show_bug.cgi?id=30035
874
875         Purely code motion (and adding a destructor).
876
877         * GNUmakefile.am:
878         * WebCore.gypi:
879         * WebCore.pro:
880         * WebCore.vcproj/WebCore.vcproj:
881         * WebCore.xcodeproj/project.pbxproj:
882         * loader/FrameLoader.cpp:
883         * loader/FrameLoader.h:
884         * loader/PolicyCheck.cpp:
885         * loader/PolicyCheck.h:
886
887 2009-10-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
888
889         Reviewed by Tor Arne Vestbø.
890
891         [Qt] Add NPNVToolkit value quirk in plugins for nspluginwrapper.
892         Plugin error message was:
893         ERROR: failed to initialize brower-side RPC events listener
894         https://bugs.webkit.org/show_bug.cgi?id=25053
895
896         (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
897         (WebCore::PluginPackage::load):
898
899 2009-10-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
900
901         Reviewed by Tor Arne Vestbø.
902
903         [Qt] X sync our XEmbed container window creation before sending the
904         xid to plugins.
905         https://bugs.webkit.org/show_bug.cgi?id=25053
906
907         * plugins/qt/PluginViewQt.cpp:
908         (WebCore::PluginView::setNPWindowIfNeeded):
909
910 2009-10-02  Simon Fraser  <simon.fraser@apple.com>
911
912         Reviewed by Dan Bernstein.
913
914         Setting zero size on a container of a video element doesn't hide the controller
915         https://bugs.webkit.org/show_bug.cgi?id=30031
916         
917         Fix a logic error in enclosingCompositingLayer() when mixing normal flow and 
918         positioned layers. This resulted in enclosingCompositingLayer() giving back a different
919         answer to the logic used to actually parent compositing layers, so layer positions
920         and layer hierarchy would be out of agreement.
921         
922         Test: compositing/geometry/clipped-video-controller.html
923
924         * rendering/RenderLayer.cpp:
925         (WebCore::compositingContainer):
926         (WebCore::RenderLayer::enclosingCompositingLayer):
927         * rendering/RenderLayerCompositor.cpp:
928         (WebCore::RenderLayerCompositor::setCompositingParent):
929
930 2009-10-02  Kent Tamura  <tkent@chromium.org>
931
932         Reviewed by Eric Seidel.
933
934         - Move the following methods of HTMLInputElement and HTMLTextAreaElement
935           to HTMLTextFormControlElement.
936            setSelectionStart()
937            setSelectionEnd()
938            select()
939            setSelectionRange()
940            selectionStart()
941            selectionEnd()
942            selection()
943
944         - Introduce cachedSelectionStart() and cachedSelectionEnd().
945
946         - Unify HTMLInputElement::isTextFieldWithRenderer() and
947          HTMLTextAreaElement::rendererAfterUpdateLayout() into textRendererAfterUpdateLayout().
948         
949         - Unify a part of parseMappedAttribute() of HTMLInputElement and HTMLTextAreaElement.
950
951         https://bugs.webkit.org/show_bug.cgi?id=29782
952
953         * html/HTMLFormControlElement.cpp:
954         (WebCore::HTMLTextFormControlElement::textRendererAfterUpdateLayout):
955         (WebCore::HTMLTextFormControlElement::setSelectionStart):
956         (WebCore::HTMLTextFormControlElement::setSelectionEnd):
957         (WebCore::HTMLTextFormControlElement::select):
958         (WebCore::HTMLTextFormControlElement::setSelectionRange):
959         (WebCore::HTMLTextFormControlElement::selectionStart):
960         (WebCore::HTMLTextFormControlElement::selectionEnd):
961         (WebCore::HTMLTextFormControlElement::selection):
962         (WebCore::HTMLTextFormControlElement::parseMappedAttribute):
963         * html/HTMLFormControlElement.h:
964         * html/HTMLInputElement.cpp:
965         (WebCore::HTMLInputElement::parseMappedAttribute):
966         * html/HTMLInputElement.h:
967         (WebCore::HTMLInputElement::select):
968         (WebCore::HTMLInputElement::cachedSelectionStart):
969         (WebCore::HTMLInputElement::cachedSelectionEnd):
970         * html/HTMLTextAreaElement.cpp:
971         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
972         * html/HTMLTextAreaElement.h:
973         (WebCore::HTMLTextAreaElement::cachedSelectionStart):
974         (WebCore::HTMLTextAreaElement::cachedSelectionEnd):
975
976 2009-10-02  Vitaly Repeshko  <vitalyr@chromium.org>
977
978         Reviewed by Dimitri Glazkov.
979
980         [V8] Disconnect event listeners on navigation.
981         Fixes http://crbug.com/23597.
982         https://bugs.webkit.org/show_bug.cgi?id=30027
983
984         Added V8ListenerGuard that is shared by listeners and proxy. On
985         navigation proxy sets a flag in the guard turning off listeners.
986
987         * bindings/v8/V8AbstractEventListener.cpp:
988         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
989         * bindings/v8/V8AbstractEventListener.h:
990         (WebCore::V8ListenerGuard::create):
991         (WebCore::V8ListenerGuard::isDisconnected):
992         (WebCore::V8ListenerGuard::disconnectListeners):
993         (WebCore::V8ListenerGuard::V8ListenerGuard):
994         (WebCore::V8AbstractEventListener::disconnected):
995         * bindings/v8/V8DOMWrapper.cpp:
996         (WebCore::V8DOMWrapper::getEventListener):
997         * bindings/v8/V8EventListenerList.h:
998         (WebCore::V8EventListenerList::findOrCreateWrapper):
999         * bindings/v8/V8LazyEventListener.cpp:
1000         (WebCore::V8LazyEventListener::V8LazyEventListener):
1001         * bindings/v8/V8Proxy.cpp:
1002         (WebCore::V8Proxy::V8Proxy):
1003         (WebCore::V8Proxy::disconnectFrame):
1004         (WebCore::V8Proxy::disconnectEventListeners):
1005         (WebCore::V8Proxy::clearForNavigation):
1006         * bindings/v8/V8Proxy.h:
1007         (WebCore::V8Proxy::listenerGuard):
1008         * bindings/v8/V8WorkerContextEventListener.cpp:
1009         (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener):
1010         * bindings/v8/V8WorkerContextEventListener.h:
1011         (WebCore::V8WorkerContextEventListener::create):
1012         * bindings/v8/WorkerContextExecutionProxy.cpp:
1013         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
1014         (WebCore::WorkerContextExecutionProxy::dispose):
1015         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
1016         * bindings/v8/WorkerContextExecutionProxy.h:
1017         * bindings/v8/custom/V8CustomEventListener.cpp:
1018         (WebCore::V8EventListener::V8EventListener):
1019         * bindings/v8/custom/V8CustomEventListener.h:
1020         (WebCore::V8EventListener::create):
1021
1022 2009-10-02  Kenneth Russell  <kbr@google.com>
1023
1024         Reviewed by Dimitri Glazkov.
1025
1026         [chromium] Fix WebGL build after CustomGetter constructor changes
1027         https://bugs.webkit.org/show_bug.cgi?id=30020
1028
1029         * page/DOMWindow.idl:
1030         Changed CustomGetter to JSCCustomGetter for CanvasArray constructors.
1031
1032 2009-10-02  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
1033
1034         Reviewed by Timothy Hatcher.
1035
1036         Web Inspector: text in a "Request Payload" section disappears on selection
1037         https://bugs.webkit.org/show_bug.cgi?id=29967
1038
1039         No new tests.
1040
1041         * inspector/front-end/ResourceView.js:
1042         (WebInspector.ResourceView.prototype._refreshRequestPayload):
1043
1044 2009-10-02  Vitaly Repeshko  <vitalyr@chromium.org>
1045
1046         Reviewed by Dimitri Glazkov.
1047
1048         [V8] Recursion guard for V8Proxy::callFunction.
1049         Fixes http://crbug.com/23278.
1050         https://bugs.webkit.org/show_bug.cgi?id=29974
1051
1052         Test: fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html
1053
1054         * bindings/v8/V8Proxy.cpp:
1055         (WebCore::V8Proxy::callFunction):
1056
1057 2009-10-02  Brian Weinstein  <bweinstein@apple.com>
1058
1059         Reviewed by Jon Honeycutt.
1060
1061         Fix test breakages by adding null checks, and putting inspector code in
1062         ENABLE(INSPECTOR).
1063
1064         * dom/Document.cpp:
1065         (WebCore::Document::finishedParsing):
1066         * page/DOMWindow.cpp:
1067         (WebCore::DOMWindow::dispatchLoadEvent):
1068
1069 2009-10-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1070
1071         Reviewed by Simon Hausmann.
1072
1073         Clean up the QNetworkReplyHandler to only apply HTTP headers
1074         for protocols in the HTTP family.
1075
1076         * platform/network/qt/QNetworkReplyHandler.cpp:
1077         (WebCore::QNetworkReplyHandler::finish):
1078         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1079
1080 2009-10-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1081
1082         Reviewed by Simon Hausmann.
1083
1084         Move error check into sendResponseIfNeeded() as suggested
1085         by Eric Seidel. Also, remove some dead code.
1086
1087         * platform/network/qt/QNetworkReplyHandler.cpp:
1088         (WebCore::QNetworkReplyHandler::finish):
1089         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1090
1091 2009-10-02  Enrica Casucci  <enrica@apple.com>
1092
1093         Reviewed by Adele Peterson.
1094
1095         Assertion failure in CompositeEditCommand::moveParagraphs() and crash in Node::nodeIndex() when pasting.
1096         <rdar://problem/7148712>
1097         https://bugs.webkit.org/show_bug.cgi?id=28992
1098
1099         Test: editing/selection/replace-selection-crash.html
1100
1101         * editing/ReplaceSelectionCommand.cpp:
1102         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Handle properly the case of
1103         the destination position matching the end of the paragraph to move.
1104
1105 2009-10-02  Jeremy Orlow  <jorlow@chromium.org>
1106
1107         Reviewed by Dimitri Glazkov.
1108
1109         Implement per-storage-area quotas for LocalStorage
1110         https://bugs.webkit.org/show_bug.cgi?id=29991
1111
1112         I put 90% of the code in StorageMap since the decision to allow an update is
1113         closely tied to quota tracking.  The quota is set via a page's Settings class.
1114         Like with the local storage path and whether it's enabled, it's assumed that
1115         all pages in the same group will have the same settings.  The setting defaults
1116         to 5mb which is what the spec suggests, but it can easily be changed to
1117         anything else--including StorageMap::noQuota.  Any values in LocalStorage are
1118         grandfathered in regarudless of quota, so importItem only tracks (and will
1119         never block) imports.
1120
1121         I believe this change is a good transition to more complex quota management.
1122         For example, if we wanted to track quotas in the SQLite DB, then we'd just add
1123         a function to the StorageMap that sets the quota.  This would be fine since all
1124         use of LocalStorage is blocked on the import completing, so you'd never hit a
1125         quota error in the mean time.  Also, if embedders wanted to ask the user
1126         whether to expand the quota whenever it's hit (before deciding whether or not
1127         to raise an exception), a callback via the chrome client should be fairly easy.
1128         That said, I think it's best to add these features in steps rather than one
1129         huge patch.  (Both of these are on my TODO list, btw.)
1130
1131         Included is a layout test that verifies the behavior.  It assumes the default
1132         quota is 5mb (since that's what Settings defaults to).
1133
1134         Test: storage/domstorage/localstorage/quota.html
1135
1136         * page/PageGroup.cpp:
1137         (WebCore::PageGroup::localStorage):
1138         * page/Settings.cpp:
1139         (WebCore::Settings::Settings):
1140         (WebCore::Settings::setLocalStorageQuota):
1141         * page/Settings.h:
1142         (WebCore::Settings::localStorageQuota):
1143         * storage/StorageAreaImpl.cpp:
1144         (WebCore::StorageAreaImpl::create):
1145         (WebCore::StorageAreaImpl::StorageAreaImpl):
1146         (WebCore::StorageAreaImpl::setItem):
1147         (WebCore::StorageAreaImpl::clear):
1148         * storage/StorageAreaImpl.h:
1149         * storage/StorageMap.cpp:
1150         (WebCore::StorageMap::create):
1151         (WebCore::StorageMap::StorageMap):
1152         (WebCore::StorageMap::copy):
1153         (WebCore::StorageMap::setItem):
1154         (WebCore::StorageMap::removeItem):
1155         (WebCore::StorageMap::importItem):
1156         * storage/StorageMap.h:
1157         (WebCore::StorageMap::quota):
1158         * storage/StorageNamespace.cpp:
1159         (WebCore::StorageNamespace::localStorageNamespace):
1160         * storage/StorageNamespace.h:
1161         * storage/StorageNamespaceImpl.cpp:
1162         (WebCore::StorageNamespaceImpl::localStorageNamespace):
1163         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
1164         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
1165         (WebCore::StorageNamespaceImpl::copy):
1166         (WebCore::StorageNamespaceImpl::storageArea):
1167         * storage/StorageNamespaceImpl.h:
1168
1169 2009-10-02  Joseph Pecoraro  <joepeck@webkit.org>
1170
1171         Reviewed by Timothy Hatcher.
1172
1173         Database Inspector crashes Safari when table has more than 21 columns
1174         https://bugs.webkit.org/show_bug.cgi?id=29924
1175
1176         * inspector/front-end/StoragePanel.js:
1177         (WebInspector.StoragePanel.prototype.dataGridForResult): adjust the minimum column width percentage to be flexible for many columns.
1178
1179 2009-10-02  Brian Weinstein  <bweinstein@apple.com>
1180
1181         Reviewed by Timothy Hatcher.
1182
1183         Fixes <http://webkit.org/b/14370>.
1184         Inspector's timeline should record when certain DOM events fired.
1185         
1186         This patch adds calls into the Web Inspector when the main frame
1187         fires an load event, and when the document fires its DOMContent
1188         event. Once these values are passed in, they are sent to the Web Inspector
1189         as a timing change, and these are denoted by vertical lines in the resources
1190         panel (blue for DOM Content, red for load event).
1191
1192         * English.lproj/localizedStrings.js: Added tooltip text.
1193         * dom/Document.cpp:
1194         (WebCore::Document::finishedParsing): Added an Inspector callback for DOM Content.
1195         * inspector/InspectorController.cpp:
1196         (WebCore::InspectorController::mainResourceFiredDOMContentEvent): Tell the main resource it got the event.
1197         (WebCore::InspectorController::mainResourceFiredLoadEvent): Ditto.
1198         * inspector/InspectorController.h:
1199         * inspector/InspectorResource.cpp:
1200         (WebCore::InspectorResource::InspectorResource): Added new variables.
1201         (WebCore::InspectorResource::updateScriptObject): Send new variables to inspector.js.
1202         (WebCore::InspectorResource::markDOMContentEventTime): Send a TimingChange event.
1203         (WebCore::InspectorResource::markLoadEventTime): Ditto.
1204         * inspector/InspectorResource.h:
1205         * inspector/front-end/ResourcesPanel.js:
1206         (WebInspector.ResourcesPanel.prototype.get mainResourceLoadTime):
1207         (WebInspector.ResourcesPanel.prototype.set mainResourceLoadTime):
1208         (WebInspector.ResourcesPanel.prototype.get mainResourceDOMContentTime):
1209         (WebInspector.ResourcesPanel.prototype.set mainResourceDOMContentTime):
1210         (WebInspector.ResourcesPanel.prototype.reset):
1211         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Draw dividers for event timings.
1212         (WebInspector.ResourceTimeCalculator.prototype.computePercentageFromEventTime):
1213         * inspector/front-end/inspector.css:
1214         * inspector/front-end/inspector.js:
1215         (WebInspector.updateResource):
1216         * page/DOMWindow.cpp:
1217         (WebCore::DOMWindow::dispatchLoadEvent): Add an Inspector callback for the Load event.
1218
1219 2009-10-02  Dave Hyatt  <hyatt@apple.com>
1220
1221         Reviewed by Adam Roben.
1222
1223         Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.
1224
1225         * WebCore.base.exp:
1226         * dom/Document.cpp:
1227         (WebCore::Document::pageGroupUserSheets):
1228         * page/Frame.cpp:
1229         (WebCore::Frame::injectUserScriptsForWorld):
1230         * page/PageGroup.cpp:
1231         (WebCore::PageGroup::addUserScript):
1232         (WebCore::PageGroup::addUserStyleSheet):
1233         (WebCore::PageGroup::removeUserContentWithURLForWorld):
1234         (WebCore::PageGroup::removeUserContentForWorld):
1235         * page/PageGroup.h:
1236         * page/UserContentURLPattern.cpp:
1237         (WebCore::UserContentURLPattern::matchesPatterns):
1238         * page/UserContentURLPattern.h:
1239         * page/UserScript.h:
1240         (WebCore::UserScript::UserScript):
1241         (WebCore::UserScript::whitelist):
1242         (WebCore::UserScript::blacklist):
1243         * page/UserStyleSheet.h:
1244         (WebCore::UserStyleSheet::UserStyleSheet):
1245         (WebCore::UserStyleSheet::whitelist):
1246         (WebCore::UserStyleSheet::blacklist):
1247
1248 2009-10-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1249
1250         Reviewed by Darin Adler.
1251
1252         Build fix when SVG is not enabled
1253         https://bugs.webkit.org/show_bug.cgi?id=30011
1254
1255         Move TextRenderingMode related functions out from
1256         the ENABLE(SVG) guard.
1257
1258         * css/CSSPrimitiveValueMappings.h:
1259         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1260         (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
1261
1262 2009-10-02  Kenneth Russell  <kbr@google.com>
1263
1264         Reviewed by Oliver Hunt.
1265
1266         WebGL crashes with recent CanvasArray change
1267         https://bugs.webkit.org/show_bug.cgi?id=30018
1268
1269         Test: fast/canvas/webgl/array-unit-tests.html
1270
1271         * html/canvas/CanvasArray.cpp:
1272         (WebCore::CanvasArray::CanvasArray):
1273         Fix bug where PassRefPtr was tested after transferring value to RefPtr.
1274
1275 2009-10-02  Steve Falkenburg  <sfalken@apple.com>
1276
1277         Reviewed by Mark Rowe.
1278
1279         <https://bugs.webkit.org/show_bug.cgi?id=29989>
1280         Safari version number shouldn't be exposed in WebKit code
1281         
1282         For a WebKit version of 532.3.4:
1283         Product version is: 5.32.3.4 (was 4.0.3.0)
1284         File version is: 5.32.3.4 (was 4.532.3.4)
1285
1286         * WebCore.vcproj/QTMovieWin.rc:
1287
1288 2009-10-02  Stephen White  <senorblanco@chromium.org>
1289
1290         Reviewed by Dimitri Glazkov.
1291
1292         Enable two point radial gradients in Chromium/Skia.
1293
1294         https://bugs.webkit.org/show_bug.cgi?id=30017
1295
1296         Covered by the following tests:
1297
1298         LayoutTests/svg/W3C-SVG-1.1/pservers-grad-13-b.svg
1299         LayoutTests/fast/backgrounds/svg-as-background-3.html
1300         LayoutTests/fast/gradients/generated-gradients.html
1301         LayoutTests/fast/gradients/simple-gradients.html
1302
1303         * platform/graphics/skia/GradientSkia.cpp:
1304         (WebCore::Gradient::platformGradient):
1305
1306 2009-10-02  Norbert Leser  <norbert.leser@nokia.com>
1307
1308         Reviewed by Simon Hausmann.
1309
1310         Conditionally guard cursor code (cursor and updateCursor functions) with !QT_NO_CURSOR.
1311         Otherwise, it is inconsistent with class declaration of QCursor.
1312
1313         No new tests.
1314
1315         * platform/qt/QWebPageClient.h:
1316
1317 2009-10-02  Philippe Normand  <pnormand@igalia.com>
1318
1319         Reviewed by Gustavo Noronha.
1320
1321         [GTK] missing support for anamorphic PAR video size
1322         https://bugs.webkit.org/show_bug.cgi?id=29717
1323
1324         cleanup of caps handling in the video sink
1325
1326         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
1327         (webkit_video_sink_set_caps):
1328
1329 2009-10-02  Prasanth Ullattil  <prasanth.ullattil@nokia.com>
1330
1331         Reviewed by Simon Hausmann.
1332
1333         Fix compiler warnings about unused function arguments.
1334
1335         * bridge/qt/qt_class.h:
1336         * bridge/qt/qt_runtime.cpp:
1337         (JSC::Bindings::QtRuntimeMetaMethod::call):
1338         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1339         * dom/XMLTokenizerQt.cpp:
1340         (WebCore::XMLTokenizer::initializeParserContext):
1341         * platform/graphics/qt/FontCacheQt.cpp:
1342         (WebCore::FontCache::getTraitsInFamily):
1343         (WebCore::FontCache::getCachedFontPlatformData):
1344         * platform/graphics/qt/FontFallbackListQt.cpp:
1345         (WebCore::FontFallbackList::setPlatformFont):
1346         * platform/graphics/qt/FontQt.cpp:
1347         (WebCore::Font::offsetForPositionForComplexText):
1348         * platform/graphics/qt/GraphicsContextQt.cpp:
1349         (WebCore::GraphicsContext::drawLineForText):
1350         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1351         (WebCore::GraphicsContext::setPlatformShadow):
1352         (WebCore::GraphicsContext::setURLForRect):
1353         * platform/graphics/qt/IconQt.cpp:
1354         (WebCore::Icon::createIconForFiles):
1355         * platform/graphics/qt/ImageBufferQt.cpp:
1356         (WebCore::ImageBuffer::ImageBuffer):
1357         * platform/graphics/qt/ImageDecoderQt.cpp:
1358         (WebCore::ImageDecoderQt::frameBufferAtIndex):
1359         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1360         (WebCore::MediaPlayerPrivate::supportsType):
1361         (WebCore::MediaPlayerPrivate::setEndTime):
1362         * platform/graphics/qt/SimpleFontDataQt.cpp:
1363         (WebCore::SimpleFontData::containsCharacters):
1364         * platform/graphics/qt/StillImageQt.h:
1365         (WebCore::StillImage::destroyDecodedData):
1366         * platform/network/qt/DnsPrefetchHelper.h:
1367         (WebCore::DnsPrefetchHelper::lookedUp):
1368         * platform/qt/ContextMenuQt.cpp:
1369         (WebCore::ContextMenu::setPlatformDescription):
1370         * platform/qt/DragDataQt.cpp:
1371         (WebCore::DragData::asURL):
1372         * platform/qt/PopupMenuQt.cpp:
1373         (WebCore::PopupMenu::populate):
1374         * platform/qt/RenderThemeQt.cpp:
1375         (WebCore::RenderThemeQt::supportsFocusRing):
1376         (WebCore::RenderThemeQt::systemFont):
1377         (WebCore::RenderThemeQt::adjustButtonStyle):
1378         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
1379         (WebCore::RenderThemeQt::paintMediaSeekBackButton):
1380         (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
1381         * platform/qt/ScrollViewQt.cpp:
1382         (WebCore::ScrollView::platformAddChild):
1383         * platform/qt/SearchPopupMenuQt.cpp:
1384         (WebCore::SearchPopupMenu::saveRecentSearches):
1385         (WebCore::SearchPopupMenu::loadRecentSearches):
1386         * platform/qt/TemporaryLinkStubs.cpp:
1387         (WebCore::signedPublicKeyAndChallengeString):
1388         * platform/qt/WidgetQt.cpp:
1389         (WebCore::Widget::paint):
1390         * xml/XSLStyleSheetQt.cpp:
1391         (WebCore::XSLStyleSheet::loadChildSheet):
1392         (WebCore::XSLStyleSheet::setParentStyleSheet):
1393         * xml/XSLTProcessorQt.cpp:
1394         (WebCore::XSLTMessageHandler::handleMessage):
1395         (WebCore::XSLTProcessor::transformToString):
1396
1397 2009-10-02  Ben Murdoch  <benm@google.com>
1398
1399         Reviewed by David Kilzer.
1400
1401         Stale database version persists through browser refresh (changeVersion doesn't work)
1402         https://bugs.webkit.org/show_bug.cgi?id=27836
1403
1404         Scale the cairo surface of the video sink depending on the
1405         pixel-aspect-ratio of the video buffer to paint. Also
1406         destruct/re-create the surface when setSize() is called with a new
1407         size.
1408
1409         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1410         (WebCore::MediaPlayerPrivate::naturalSize):
1411         (WebCore::MediaPlayerPrivate::setSize):
1412         (WebCore::MediaPlayerPrivate::paint):
1413         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
1414         (webkit_video_sink_idle_func):
1415
1416 2009-10-02  Philippe Normand  <pnormand@igalia.com>
1417
1418         Reviewed by Gustavo Noronha.
1419
1420         [GTK] missing support for anamorphic PAR video size
1421         https://bugs.webkit.org/show_bug.cgi?id=29717
1422
1423         Tests: storage/change-version-handle-reuse.html
1424                storage/change-version.html
1425
1426         * bindings/v8/custom/V8DatabaseCustom.cpp:
1427         (WebCore::CALLBACK_FUNC_DECL): Implement the V8 binding for database.changeVersion().
1428         (WebCore::createTransaction): Fix a bug that was checking the wrong argument index to save the success callback.
1429         * storage/Database.cpp:
1430         (WebCore::updateGuidVersionMap): Safely update the Guid/version hash map.
1431         (WebCore::Database::~Database): Remove code that removes the database from the guid->database and guid->version maps.
1432         (WebCore::Database::setVersionInDatabase): Add a comment to explain some behaviour.
1433         (WebCore::Database::close): Move the code that updates the maps from the destructor to here.
1434         (WebCore::Database::performOpenAndVerify): Call updateGuidVersionMap instead of setting the hash map directly.
1435         (WebCore::Database::setExpectedVersion): Update the in memory guid->version map when we want to update the database version.
1436
1437 2009-10-02  Janne Koskinen <janne.p.koskinen@digia.com>
1438
1439         Reviewed by Simon Hausmann.
1440
1441         Partial WINSCW build fix.
1442
1443         Add parentheses around the function pointer declaration, similar to the
1444         second hunk in r48825.
1445
1446         * loader/CachedResourceHandle.h:
1447
1448 2009-10-02  Adam Barth  <abarth@webkit.org>
1449
1450         Unreviewed attempted build fix by Xcode magic.
1451
1452         * WebCore.xcodeproj/project.pbxproj:
1453
1454 2009-10-02  Adam Barth  <abarth@webkit.org>
1455
1456         Unreviewed build fix.  Actually add the new files.
1457
1458         * loader/RedirectScheduler.cpp: Added.
1459         (WebCore::ScheduledRedirection::):
1460         (WebCore::ScheduledRedirection::ScheduledRedirection):
1461         (WebCore::RedirectScheduler::RedirectScheduler):
1462         (WebCore::RedirectScheduler::~RedirectScheduler):
1463         (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
1464         (WebCore::RedirectScheduler::clear):
1465         (WebCore::RedirectScheduler::scheduleRedirect):
1466         (WebCore::RedirectScheduler::mustLockBackForwardList):
1467         (WebCore::RedirectScheduler::scheduleLocationChange):
1468         (WebCore::RedirectScheduler::scheduleFormSubmission):
1469         (WebCore::RedirectScheduler::scheduleRefresh):
1470         (WebCore::RedirectScheduler::locationChangePending):
1471         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
1472         (WebCore::RedirectScheduler::timerFired):
1473         (WebCore::RedirectScheduler::schedule):
1474         (WebCore::RedirectScheduler::startTimer):
1475         (WebCore::RedirectScheduler::cancel):
1476         * loader/RedirectScheduler.h: Added.
1477
1478 2009-10-01  Adam Barth  <abarth@webkit.org>
1479
1480         Reviewed by Darin Adler.
1481
1482         Move RedirectScheduler to its own file
1483         https://bugs.webkit.org/show_bug.cgi?id=29952
1484
1485         This change is purely code motion.
1486
1487         No behavior change.
1488
1489         * GNUmakefile.am:
1490         * WebCore.gypi:
1491         * WebCore.pro:
1492         * WebCore.vcproj/WebCore.vcproj:
1493         * WebCore.xcodeproj/project.pbxproj:
1494         * WebCoreSources.bkl:
1495         * loader/FrameLoader.cpp:
1496         * loader/FrameLoader.h:
1497         * loader/RedirectScheduler.cpp: Added.
1498         (WebCore::ScheduledRedirection::):
1499         (WebCore::ScheduledRedirection::ScheduledRedirection):
1500         (WebCore::RedirectScheduler::RedirectScheduler):
1501         (WebCore::RedirectScheduler::~RedirectScheduler):
1502         (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
1503         (WebCore::RedirectScheduler::clear):
1504         (WebCore::RedirectScheduler::scheduleRedirect):
1505         (WebCore::RedirectScheduler::mustLockBackForwardList):
1506         (WebCore::RedirectScheduler::scheduleLocationChange):
1507         (WebCore::RedirectScheduler::scheduleFormSubmission):
1508         (WebCore::RedirectScheduler::scheduleRefresh):
1509         (WebCore::RedirectScheduler::locationChangePending):
1510         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
1511         (WebCore::RedirectScheduler::timerFired):
1512         (WebCore::RedirectScheduler::schedule):
1513         (WebCore::RedirectScheduler::startTimer):
1514         (WebCore::RedirectScheduler::cancel):
1515         * loader/RedirectScheduler.h: Added.
1516
1517 2009-10-02  Dave MacLachlan  <dmaclach@gmail.com>
1518
1519         Reviewed by David Levin.
1520
1521         Clean up warnings in WebCore/bindings/v8/npruntime.cpp
1522         https://bugs.webkit.org/show_bug.cgi?id=29971
1523
1524         Gets rid of warnings on gcc about using anonymous namespaces 
1525           warning: 'StringKeyHashTraits' has a base
1526           'WTF::GenericHashTraits<<unnamed>::StringKey>' 
1527           whose type uses the anonymous namespace
1528         and
1529           warning: 'WTF::PairHashTraits<StringKeyHashTraits,
1530           WTF::HashTraits<PrivateIdentifier*> >' has a base
1531           'WTF::GenericHashTraits<std::pair<<unnamed>::StringKey,
1532           PrivateIdentifier*> >' whose type uses the anonymous namespace
1533
1534         No tests required.
1535
1536         * bindings/v8/npruntime.cpp:
1537
1538 2009-10-01  Mark Rowe  <mrowe@apple.com>
1539
1540         Fix the Tiger build.  Don't unconditionally enable 3D canvas as it is not supported on Tiger.
1541
1542         * Configurations/FeatureDefines.xcconfig:
1543
1544 2009-10-01  Chris Marrin  <cmarrin@apple.com>
1545
1546         Reviewed by Oliver Hunt.
1547
1548         Turn on ENABLE_3D_CANVAS in TOT
1549         https://bugs.webkit.org/show_bug.cgi?id=29906
1550
1551         Fixed a bug found when running tests with flag on
1552
1553         * Configurations/FeatureDefines.xcconfig:
1554         * WebCore.base.exp:
1555         * bindings/js/JSCanvasArrayBufferConstructor.h:
1556         (WebCore::construct):
1557         * html/HTMLCanvasElement.cpp:
1558         (WebCore::HTMLCanvasElement::getContext):
1559         * html/canvas/CanvasArray.cpp:
1560         (WebCore::CanvasArray::CanvasArray):
1561         * html/canvas/CanvasByteArray.cpp:
1562         (WebCore::CanvasByteArray::create):
1563         * html/canvas/CanvasFloatArray.cpp:
1564         (WebCore::CanvasFloatArray::create):
1565         * html/canvas/CanvasIntArray.cpp:
1566         (WebCore::CanvasIntArray::create):
1567         * html/canvas/CanvasShortArray.cpp:
1568         (WebCore::CanvasShortArray::create):
1569         * html/canvas/CanvasUnsignedByteArray.cpp:
1570         (WebCore::CanvasUnsignedByteArray::create):
1571         * html/canvas/CanvasUnsignedIntArray.cpp:
1572         (WebCore::CanvasUnsignedIntArray::create):
1573         * html/canvas/CanvasUnsignedShortArray.cpp:
1574         (WebCore::CanvasUnsignedShortArray::create):
1575         * page/Settings.cpp:
1576         (WebCore::Settings::Settings):
1577         (WebCore::Settings::setWebGLEnabled):
1578         * page/Settings.h:
1579         (WebCore::Settings::webGLEnabled):
1580
1581 2009-10-01  Beth Dakin  <bdakin@apple.com>
1582
1583         Reviewed by Dan Bernstein.
1584
1585         Fix for <rdar://problem/7264725> Re-add a vendor prefix to box-
1586         shadow (29927)
1587         -and corresponding-
1588         https://bugs.webkit.org/show_bug.cgi?id=29927
1589
1590         * css/CSSComputedStyleDeclaration.cpp:
1591         (WebCore::):
1592         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1593         * css/CSSParser.cpp:
1594         (WebCore::CSSParser::parseValue):
1595         (WebCore::ShadowParseContext::ShadowParseContext):
1596         (WebCore::ShadowParseContext::commitValue):
1597         (WebCore::ShadowParseContext::commitLength):
1598         (WebCore::ShadowParseContext::commitColor):
1599         (WebCore::cssPropertyID):
1600         * css/CSSPropertyNames.in:
1601         * css/CSSStyleSelector.cpp:
1602         (WebCore::CSSStyleSelector::applyProperty):
1603         * page/animation/AnimationBase.cpp:
1604         (WebCore::ensurePropertyMap):
1605
1606 2009-10-01  Beth Dakin  <bdakin@apple.com>
1607
1608         Rubber-stamped by Sam Weinig.
1609
1610         At bad merge at some point in the development of my patch must have 
1611         put TextRenderMode.h in a weird spot in the xcodeproj. Moving it 
1612         back where it belongs!
1613
1614         * WebCore.xcodeproj/project.pbxproj:
1615
1616 2009-09-30  Adam Barth  <abarth@webkit.org>
1617
1618         Reviewed by Darin Adler.
1619
1620         Remove FrameLoader::schedule* APIs
1621         https://bugs.webkit.org/show_bug.cgi?id=29950
1622
1623         Change clients of FrameLoader::schedule* to call redirectScheduler
1624         directly.
1625
1626         No behavior change.
1627
1628         * bindings/js/JSDOMWindowCustom.cpp:
1629         (WebCore::JSDOMWindow::setLocation):
1630         (WebCore::createWindow):
1631         (WebCore::JSDOMWindow::open):
1632         * bindings/js/JSDocumentCustom.cpp:
1633         (WebCore::JSDocument::setLocation):
1634         * bindings/js/JSLocationCustom.cpp:
1635         (WebCore::navigateIfAllowed):
1636         (WebCore::JSLocation::reload):
1637         * bindings/v8/V8Utilities.cpp:
1638         (WebCore::navigateIfAllowed):
1639         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1640         (WebCore::createWindow):
1641         (WebCore::CALLBACK_FUNC_DECL):
1642         * bindings/v8/custom/V8LocationCustom.cpp:
1643         (WebCore::CALLBACK_FUNC_DECL):
1644         * dom/Document.cpp:
1645         (WebCore::Document::implicitClose):
1646         (WebCore::Document::processHttpEquiv):
1647         * html/HTMLTokenizer.cpp:
1648         (WebCore::HTMLTokenizer::write):
1649         * loader/FrameLoader.cpp:
1650         (WebCore::FrameLoader::requestFrame):
1651         (WebCore::FrameLoader::submitForm):
1652         (WebCore::FrameLoader::receivedFirstData):
1653         * loader/FrameLoader.h:
1654         * loader/appcache/ApplicationCacheGroup.cpp:
1655         (WebCore::ApplicationCacheGroup::selectCache):
1656         * page/History.cpp:
1657         (WebCore::History::back):
1658         (WebCore::History::forward):
1659         (WebCore::History::go):
1660
1661 2009-10-01  Beth Dakin  <bdakin@apple.com>
1662
1663         Just removing a comment I accidentally committed earlier. 
1664
1665         * platform/graphics/mac/SimpleFontDataMac.mm:
1666         (WebCore::SimpleFontData::getCFStringAttributes):
1667
1668 2009-09-30  Jeremy Orlow  <jorlow@chromium.org>
1669
1670         Reviewed by Darin Adler.
1671
1672         Clean up use of const and mutable in StorageMap
1673         https://bugs.webkit.org/show_bug.cgi?id=29933
1674
1675         What's the point of having every single member variable be mutable and nearly
1676         every method be const?  Let's clean it up.
1677
1678         * storage/StorageMap.cpp:
1679         (WebCore::StorageMap::setIteratorToIndex):
1680         (WebCore::StorageMap::key):
1681         (WebCore::StorageMap::importItem):
1682         * storage/StorageMap.h:
1683
1684 2009-10-01  Beth Dakin  <bdakin@apple.com>
1685
1686         Reviewed by Dave Hyatt.
1687
1688         Fix for <rdar://problem/6934421> Support CSS for Text Kerning and 
1689         ligature
1690         -and corresponding-
1691         https://bugs.webkit.org/show_bug.cgi?id=6136
1692
1693         This patch makes the SVG CSS property text-rendering work with any 
1694         HTML, much like it does in Firefox. It accepts four possible input 
1695         values: auto, optimizeSpeed, optimizeLegibility, and 
1696         geometricPrecision. Right now, in this implementation, here is what 
1697         those values correspond to:
1698
1699         auto = optimizeSpeed = what we normally when the value's not set
1700         optimizeLegibility = geometricPrecision = ligatures + kerning
1701
1702         Add new file TextRenderingMode.h to the project files.
1703         * WebCore.vcproj/WebCore.vcproj:
1704         * WebCore.xcodeproj/project.pbxproj:
1705
1706         CSS support for the new CSSPropertyTextRendering
1707         * css/CSSComputedStyleDeclaration.cpp:
1708         (WebCore::):
1709         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1710         * css/CSSParser.cpp:
1711         (WebCore::CSSParser::parseValue):
1712         * css/CSSPrimitiveValueMappings.h:
1713         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1714         (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
1715         * css/CSSPropertyNames.in:
1716         * css/CSSStyleSelector.cpp:
1717         (WebCore::CSSStyleSelector::applyProperty):
1718         * css/CSSValueKeywords.in:
1719
1720         All the old SVG CSS support for this property can go away. When 
1721         it's used in SVG, it will just fall into the normal HTML case.
1722         * css/SVGCSSComputedStyleDeclaration.cpp:
1723         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
1724         * css/SVGCSSParser.cpp:
1725         (WebCore::CSSParser::parseSVGValue):
1726         * css/SVGCSSPropertyNames.in:
1727         * css/SVGCSSStyleSelector.cpp:
1728         (WebCore::CSSStyleSelector::applySVGProperty):
1729         * css/SVGCSSValueKeywords.in:
1730
1731         FontDescription stores the m_textRendering bit.
1732         * platform/graphics/FontDescription.h:
1733         (WebCore::FontDescription::FontDescription):
1734         (WebCore::FontDescription::textRenderingMode):
1735         (WebCore::FontDescription::setTextRenderingMode):
1736         (WebCore::FontDescription::operator==):
1737
1738         We want to fall into the complex text rendering code path if 
1739         kerning and ligatures have been enabled with this property.
1740         * platform/graphics/FontFastPath.cpp:
1741         (WebCore::Font::canUseGlyphCache):
1742
1743         Now takes a TextRenderingMode as a parameter.
1744         * platform/graphics/SimpleFontData.h:
1745
1746         New header for the enum.
1747         * platform/graphics/TextRenderingMode.h: Added.
1748         (WebCore::):
1749
1750         getCFStringAttributes() now takes a TextRenderingMode as an 
1751         attribute.
1752         * platform/graphics/mac/CoreTextController.cpp:
1753         (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
1754
1755         Enable kerning and ligatures whenever the TextRenderingMode is 
1756         OptimizeLegibility or GeometricPrecision
1757         * platform/graphics/mac/FontMacATSUI.mm:
1758         (WebCore::disableLigatures):
1759         (WebCore::initializeATSUStyle):
1760         (WebCore::ATSULayoutParameters::initialize):
1761         * platform/graphics/mac/SimpleFontDataMac.mm:
1762         (WebCore::SimpleFontData::getCFStringAttributes):
1763
1764         More SVG CSS stuff that isn't needed anymore since SVG will use the 
1765         new HTML CSS implementation.
1766         * rendering/style/SVGRenderStyle.h:
1767         (WebCore::SVGRenderStyle::InheritedFlags::operator==):
1768         (WebCore::SVGRenderStyle::setBitDefaults):
1769         * rendering/style/SVGRenderStyleDefs.h:
1770
1771 2009-10-01  Yury Semikhatsky  <yurys@chromium.org>
1772
1773         Reviewed by Timothy Hatcher.
1774
1775         Use isClosure property of scope proxy to decide whether the
1776         scope is a closure.
1777
1778         https://bugs.webkit.org/show_bug.cgi?id=29965
1779
1780         * inspector/front-end/ScopeChainSidebarPane.js:
1781         (WebInspector.ScopeChainSidebarPane.prototype.update):
1782
1783 2009-10-01  Simon Fraser  <simon.fraser@apple.com>
1784
1785         Reviewed by Dave Hyatt.
1786
1787         Odd color transitions on anchors with transition-property: all
1788         https://bugs.webkit.org/show_bug.cgi?id=29911
1789
1790         When transitioning maybe-invalid colors, if the source and destination
1791         color are both invalid, then don't animate.
1792         
1793         This fixes an issue where a child element of an element running a color
1794         transition, with -webkit-transition-property:all, would show a color change.
1795         This happened because the "maybe invalid color" logic copied the color style
1796         into -webkit-text-fill-color for both endpoints, causing -webkit-text-fill-color
1797         to animate while the transition ran, and to then to disappear when the transition
1798         finished.
1799         
1800         Test: transitions/color-transition-all.html
1801
1802         * page/animation/AnimationBase.cpp:
1803         (WebCore::PropertyWrapperMaybeInvalidColor::equals):
1804         (WebCore::PropertyWrapperMaybeInvalidColor::blend):
1805
1806 2009-10-01  Victor Wang  <victorw@chromium.org>
1807
1808         Reviewed by Oliver Hunt.
1809
1810         Allow dragging a node who has child nodes.
1811
1812         https://bugs.webkit.org/show_bug.cgi?id=28632
1813
1814         Test: fast/events/drag-parent-node.html
1815
1816         * page/EventHandler.cpp:
1817         (WebCore::EventHandler::shouldDragAutoNode):
1818
1819 2009-10-01  Philippe Normand  <pnormand@igalia.com>
1820
1821         Reviewed by Gustavo Noronha.
1822
1823         [GTK] media player: better mute support
1824         https://bugs.webkit.org/show_bug.cgi?id=29960
1825
1826         Handle volume and mute state with the two corresponding properties
1827         of playbin2.
1828
1829         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1830         (WebCore::MediaPlayerPrivate::setMuted):
1831         (WebCore::MediaPlayerPrivate::setVolume):
1832
1833 2009-10-01  Philippe Normand  <pnormand@igalia.com>
1834
1835         Reviewed by Gustavo Noronha.
1836
1837         [GTK] video sink pad template colorspace is wrong
1838         https://bugs.webkit.org/show_bug.cgi?id=29953
1839
1840         Set sink pad template colorspace depending on byte order.
1841
1842         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
1843         (webkit_video_sink_idle_func):
1844
1845 2009-10-01  Vitaly Repeshko  <vitalyr@chromium.org>
1846
1847         Reviewed by Dimitri Glazkov.
1848
1849         [V8] Refactored V8 event listeners:
1850         (This change should fix http://crbug.com/21079 and
1851         https://bugs.webkit.org/show_bug.cgi?id=29093.)
1852          o All listeners use weak handles to JS objects to avoid creating
1853            cycles and leaking memory.
1854          o "Object" variants of listeners removed.
1855          o All event accessor callbacks are generated.
1856          o Custom event accessors removed.
1857          o All wrappers have hidden dependencies on their listeners to
1858            prevent listeners from being collected.
1859          o All variats of getEventListener function grouped in V8DOMWrapper.
1860          o Pointers to C++ EventListener wrappers are stored in JS objects
1861            instead of event listener lists.
1862         https://bugs.webkit.org/show_bug.cgi?id=29825
1863
1864         * WebCore.gypi: Removed "Object" listeners.
1865         * bindings/scripts/CodeGeneratorV8.pm: Now handles event accessors.
1866         * bindings/v8/DOMObjectsInclude.h:
1867
1868         V8AbstractEventListener manages weak JS handle:
1869         * bindings/v8/V8AbstractEventListener.cpp:
1870         (WebCore::weakEventListenerCallback):
1871         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
1872         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
1873         (WebCore::V8AbstractEventListener::handleEvent):
1874         (WebCore::V8AbstractEventListener::disposeListenerObject):
1875         (WebCore::V8AbstractEventListener::setListenerObject):
1876         * bindings/v8/V8AbstractEventListener.h:
1877         (WebCore::V8AbstractEventListener::cast):
1878         (WebCore::V8AbstractEventListener::isLazy):
1879         (WebCore::V8AbstractEventListener::getListenerObject):
1880         (WebCore::V8AbstractEventListener::getExistingListenerObject):
1881         (WebCore::V8AbstractEventListener::hasExistingListenerObject):
1882         (WebCore::V8AbstractEventListener::disconnectFrame):
1883         (WebCore::V8AbstractEventListener::disconnected):
1884         (WebCore::V8AbstractEventListener::prepareListenerObject):
1885         (WebCore::V8AbstractEventListener::lineNumber):
1886         (WebCore::V8AbstractEventListener::virtualisAttribute):
1887
1888         Grouped getEventListener functions:
1889         * bindings/v8/V8DOMWrapper.cpp:
1890         (WebCore::V8DOMWrapper::getTemplate):
1891         (WebCore::V8DOMWrapper::getEventListener):
1892         * bindings/v8/V8DOMWrapper.h:
1893
1894         Removed most event listener objects bookkeeping:
1895         * bindings/v8/V8EventListenerList.cpp:
1896         * bindings/v8/V8EventListenerList.h:
1897         (WebCore::V8EventListenerList::findWrapper):
1898         (WebCore::V8EventListenerList::clearWrapper):
1899         (WebCore::V8EventListenerList::doFindWrapper):
1900         (WebCore::V8EventListenerList::getHiddenProperty):
1901         (WebCore::V8EventListenerList::findOrCreateWrapper):
1902
1903         Added hidden properties for storing EventListener wrappers:
1904         * bindings/v8/V8HiddenPropertyName.cpp:
1905         (WebCore::V8HiddenPropertyName::listener):
1906         (WebCore::V8HiddenPropertyName::attributeListener):
1907         * bindings/v8/V8HiddenPropertyName.h:
1908
1909         * bindings/v8/V8LazyEventListener.cpp:
1910         (WebCore::V8LazyEventListener::V8LazyEventListener):
1911         (WebCore::V8LazyEventListener::callListenerFunction):
1912         (WebCore::V8LazyEventListener::prepareListenerObject):
1913         * bindings/v8/V8LazyEventListener.h:
1914         (WebCore::V8LazyEventListener::isLazy):
1915         * bindings/v8/V8ObjectEventListener.cpp: Removed.
1916         * bindings/v8/V8ObjectEventListener.h: Removed.
1917         * bindings/v8/V8Proxy.cpp:
1918         (WebCore::V8Proxy::disconnectFrame):
1919         (WebCore::V8Proxy::disconnectEventListeners):
1920         * bindings/v8/V8Proxy.h:
1921         * bindings/v8/V8WorkerContextEventListener.cpp:
1922         (WebCore::V8WorkerContextEventListener::reportError):
1923         (WebCore::V8WorkerContextEventListener::getReceiverObject):
1924         * bindings/v8/V8WorkerContextEventListener.h:
1925         * bindings/v8/V8WorkerContextObjectEventListener.cpp: Removed.
1926         * bindings/v8/V8WorkerContextObjectEventListener.h: Removed.
1927         * bindings/v8/WorkerContextExecutionProxy.cpp:
1928         (WebCore::WorkerContextExecutionProxy::dispose):
1929         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1930         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
1931         * bindings/v8/WorkerContextExecutionProxy.h:
1932         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
1933         (WebCore::CALLBACK_FUNC_DECL):
1934         * bindings/v8/custom/V8CustomBinding.h:
1935         * bindings/v8/custom/V8CustomEventListener.cpp:
1936         (WebCore::V8EventListener::V8EventListener):
1937         (WebCore::V8EventListener::getListenerFunction):
1938         (WebCore::V8EventListener::callListenerFunction):
1939         * bindings/v8/custom/V8CustomEventListener.h:
1940         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
1941         (WebCore::CALLBACK_FUNC_DECL):
1942         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1943         (WebCore::CALLBACK_FUNC_DECL):
1944         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1945         * bindings/v8/custom/V8MessagePortCustom.cpp:
1946         (WebCore::getEventListener):
1947         (WebCore::CALLBACK_FUNC_DECL):
1948         * bindings/v8/custom/V8NodeCustom.cpp:
1949         (WebCore::CALLBACK_FUNC_DECL):
1950         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1951         (WebCore::CALLBACK_FUNC_DECL):
1952         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
1953         (WebCore::CALLBACK_FUNC_DECL):
1954         * bindings/v8/custom/V8WebSocketCustom.cpp:
1955         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1956         (WebCore::CALLBACK_FUNC_DECL):
1957         * bindings/v8/custom/V8WorkerCustom.cpp:
1958         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1959         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1960         (WebCore::CALLBACK_FUNC_DECL):
1961         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
1962
1963 2009-10-01  Alexis Menard  <alexis.menard@nokia.com>
1964
1965         Reviewed by Tor Arne Vestbø.
1966
1967         Rename QWebGraphicsItem to QGraphicsWebView
1968
1969         * WebCore.pro:
1970
1971 2009-10-01  Dumitru Daniliuc  <dumi@chromium.org>
1972
1973         Reviewed by Dimitri Glazkov.
1974
1975         Read-only transactions do not change file sizes and therefore
1976         should not trigger quota updates.
1977
1978         https://bugs.webkit.org/show_bug.cgi?id=29945
1979
1980         * storage/SQLTransaction.cpp:
1981         (WebCore::SQLTransaction::openTransactionAndPreflight):
1982         (WebCore::SQLTransaction::runStatements):
1983
1984 2009-09-30  Timothy Hatcher  <timothy@apple.com>
1985
1986         Fix list box scrolling by correctly overriding the scroll()
1987         function on RenderBox.
1988
1989         <rdar://problem/7255440> REGRESSION (r48683): Mousewheel scrolling
1990         of listboxes is broken (29756)
1991
1992         Reviewed by Dan Bernstein.
1993
1994         * rendering/RenderListBox.cpp:
1995         (WebCore::RenderListBox::scroll):
1996         * rendering/RenderListBox.h:
1997         * rendering/RenderTextControlSingleLine.cpp:
1998         (WebCore::RenderTextControlSingleLine::scroll):
1999         * rendering/RenderTextControlSingleLine.h:
2000
2001 2009-10-01  Yury Semikhatsky  <yurys@chromium.org>
2002
2003         Reviewed by Timothy Hatcher.
2004
2005         Make a copy of listeners array before dispatching an event in
2006         WebInspector.Object.prototype.dispatchEventToListeners. Otherwise if current
2007         listener removes itself from the array next listener will be skipped.
2008
2009         https://bugs.webkit.org/show_bug.cgi?id=29920
2010
2011         * inspector/front-end/Object.js:
2012         (WebInspector.Object.prototype.dispatchEventToListeners): make a copy of listeners array before dispatching an event
2013
2014 2009-10-01  Martin Robinson  <martin.james.robinson@gmail.com>
2015
2016         Reviewed by Xan Lopez.
2017
2018         [GTK] GtkIMContext filtering interferes with DOM key events
2019         https://bugs.webkit.org/show_bug.cgi?id=28733
2020
2021         Ensure that keyboard events filtered by the GtkIMContext still create
2022         the proper DOM events.
2023
2024         No tests added. Instead previously skipped tests have been enabled.
2025
2026         * platform/gtk/KeyEventGtk.cpp:
2027         (WebCore::keyIdentifierForGdkKeyCode):
2028         (WebCore::singleCharacterString):
2029
2030 2009-10-01  Philippe Normand  <pnormand@igalia.com>
2031
2032         Reviewed by Xan Lopez.
2033
2034         [GTK] data: uri support in media player
2035         https://bugs.webkit.org/show_bug.cgi?id=29842
2036
2037         New GStreamer element to handle data: uris. For now only base64
2038         encoded data is supported. Decoded data is handed over to
2039         giostreamsrc.
2040
2041         * GNUmakefile.am:
2042         * platform/graphics/gtk/DataSourceGStreamer.cpp: Added.
2043         (_do_init):
2044         (webkit_data_src_base_init):
2045         (webkit_data_src_class_init):
2046         (webkit_data_src_reset):
2047         (webkit_data_src_init):
2048         (webkit_data_src_finalize):
2049         (webkit_data_src_uri_get_type):
2050         (webkit_data_src_uri_get_protocols):
2051         (webkit_data_src_uri_get_uri):
2052         (webkit_data_src_uri_set_uri):
2053         (webkit_data_src_uri_handler_init):
2054         * platform/graphics/gtk/DataSourceGStreamer.h: Added.
2055         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2056         (WebCore::do_gst_init):
2057         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2058         (WebCore::MediaPlayerPrivate::mimeTypeCache):
2059
2060 2009-09-30  Daniel Bates  <dbates@webkit.org>
2061
2062         Reviewed by Adam Barth.
2063
2064         https://bugs.webkit.org/show_bug.cgi?id=29944
2065         
2066         Reduces false positives in the XSSAuditor by explicitly allowing requests
2067         that do not contain illegal URI characters.
2068         
2069         As a side effect of this change, the tests property-inject.html, 
2070         property-escape-noquotes.html, and property-escape-noquotes-tab-slash-chars.html 
2071         fail because these attacks do not contain any illegal URI characters and 
2072         thus are now allowed by the XSSAuditor, where previously they weren't. A future
2073         change may reinstate this functionality.
2074
2075         Tests: http/tests/security/xssAuditor/script-tag-safe2.html
2076                http/tests/security/xssAuditor/script-tag-safe3.html
2077
2078         * page/XSSAuditor.cpp:
2079         (WebCore::isIllegalURICharacter): Added method.
2080         (WebCore::XSSAuditor::canEvaluate):
2081         (WebCore::XSSAuditor::canCreateInlineEventListener):
2082         (WebCore::XSSAuditor::findInRequest): Added parameter 
2083         allowRequestIfNoIllegalURICharacters.
2084         * page/XSSAuditor.h:
2085
2086 2009-09-30  Oliver Hunt  <oliver@apple.com>
2087
2088         Reviewed by Maciej Stachowiak.
2089
2090         reproducible freeze and crash on closing form popup at bosch-home.nl
2091         https://bugs.webkit.org/show_bug.cgi?id=28948
2092
2093         showModalDialog calls getDirect on what is actually a window shell,
2094         so ends up not getting a value (since no value can ever be placed
2095         directly on the shell), which leads to incorrect behaviour.
2096
2097         We use a manual test rather than automatic as it was not
2098         possible to get a modal run loop to work inside DRT.
2099
2100         * bindings/js/JSDOMWindowCustom.cpp:
2101         (WebCore::JSDOMWindow::showModalDialog):
2102         * manual-tests/showModalDialog-returnValue.html: manual testcase.
2103
2104 2009-09-30  Kent Tamura  <tkent@chromium.org>
2105
2106         Reviewed by Darin Adler.
2107
2108         Adds ValidityState.tooLong support for <input> and <textarea>.
2109
2110         Introduces tooLong() in HTMLFormControlElement and it always returns false.
2111         HTMLInputElement and HTMLTextAreaElement overrides it and checks the text
2112         length and maxLength.  tooLong() should work only for `dirty' values.
2113         So, introduces m_isDirty flag for HTMLTextAreaElement, and
2114         !m_data.value().isNull() works as a dirty flag for HTMLInputElement.
2115
2116         Renames parameter names of setMaxLength().
2117
2118         https://bugs.webkit.org/show_bug.cgi?id=27454
2119
2120         Tests: fast/forms/ValidityState-tooLong-input.html
2121                fast/forms/ValidityState-tooLong-textarea.html
2122
2123         * html/HTMLFormControlElement.h:
2124         (WebCore::HTMLFormControlElement::tooLong):
2125         * html/HTMLInputElement.cpp:
2126         (WebCore::HTMLInputElement::tooLong):
2127         (WebCore::HTMLInputElement::setMaxLength):
2128         * html/HTMLInputElement.h:
2129         * html/HTMLTextAreaElement.cpp:
2130         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
2131         (WebCore::HTMLTextAreaElement::reset):
2132         (WebCore::HTMLTextAreaElement::updateValue):
2133         (WebCore::HTMLTextAreaElement::setMaxLength):
2134         (WebCore::HTMLTextAreaElement::tooLong):
2135         * html/HTMLTextAreaElement.h:
2136         * html/ValidityState.h:
2137         (WebCore::ValidityState::tooLong):
2138
2139 2009-09-30  Adam Barth  <abarth@webkit.org>
2140
2141         Reviewed by Maciej Stachowiak.
2142
2143         Factor RedirectScheduler out of FrameLoader
2144         https://bugs.webkit.org/show_bug.cgi?id=29948
2145
2146         This change introduces a new sub-object of Frame, redirectScheduler.
2147         The redirectScheduler is responsible for scheduling redirects.
2148
2149         This change leaves the code for the redirectScheduler in
2150         FrameLoader.cpp.  A future change will move the class into its own
2151         file.
2152
2153         No behavior change (hopefully!).
2154
2155         * loader/FrameLoader.cpp:
2156         (WebCore::RedirectScheduler::RedirectScheduler):
2157         (WebCore::RedirectScheduler::~RedirectScheduler):
2158         (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
2159         (WebCore::RedirectScheduler::clear):
2160         (WebCore::FrameLoader::FrameLoader):
2161         (WebCore::FrameLoader::setDefersLoading):
2162         (WebCore::FrameLoader::stopLoading):
2163         (WebCore::FrameLoader::didOpenURL):
2164         (WebCore::FrameLoader::didExplicitOpen):
2165         (WebCore::FrameLoader::cancelAndClear):
2166         (WebCore::FrameLoader::clear):
2167         (WebCore::FrameLoader::checkCompleted):
2168         (WebCore::FrameLoader::isScheduledLocationChangePending):
2169         (WebCore::FrameLoader::scheduleHTTPRedirection):
2170         (WebCore::RedirectScheduler::scheduleRedirect):
2171         (WebCore::RedirectScheduler::mustLockBackForwardList):
2172         (WebCore::FrameLoader::scheduleLocationChange):
2173         (WebCore::RedirectScheduler::scheduleLocationChange):
2174         (WebCore::FrameLoader::scheduleFormSubmission):
2175         (WebCore::RedirectScheduler::scheduleFormSubmission):
2176         (WebCore::FrameLoader::scheduleRefresh):
2177         (WebCore::RedirectScheduler::scheduleRefresh):
2178         (WebCore::RedirectScheduler::locationChangePending):
2179         (WebCore::FrameLoader::scheduleHistoryNavigation):
2180         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
2181         (WebCore::RedirectScheduler::timerFired):
2182         (WebCore::FrameLoader::provisionalLoadStarted):
2183         (WebCore::RedirectScheduler::schedule):
2184         (WebCore::RedirectScheduler::startTimer):
2185         (WebCore::RedirectScheduler::cancel):
2186         (WebCore::FrameLoader::completed):
2187         (WebCore::FrameLoader::open):
2188         * loader/FrameLoader.h:
2189         (WebCore::FrameLoader::committedFirstRealDocumentLoad):
2190         * page/Frame.cpp:
2191         (WebCore::Frame::Frame):
2192         (WebCore::Frame::redirectScheduler):
2193         * page/Frame.h:
2194
2195 2009-09-30  Maciej Stachowiak  <mjs@apple.com>
2196
2197         Build fix, not reviewed.
2198
2199         More Windows build fixes for https://bugs.webkit.org/show_bug.cgi?id=29943
2200
2201         * platform/network/cf/ResourceHandleCFNet.cpp:
2202         (WebCore::willSendRequest):
2203
2204 2009-09-30  Maciej Stachowiak  <mjs@apple.com>
2205
2206         Build fix, not reviewed.
2207
2208         Fix windows build for fix for https://bugs.webkit.org/show_bug.cgi?id=29943
2209
2210         * platform/network/cf/ResourceHandleCFNet.cpp:
2211         (WebCore::willSendRequest):
2212
2213 2009-09-30  Dimitri Glazkov  <dglazkov@chromium.org>
2214
2215         Reviewed by Darin Fisher.
2216
2217         [V8] HTMLAudioElement, HTMLImageElement, and HTMLOptionElement are constructable, but they shouldn't be.
2218         Only Audio, Image, and Option should be constructable.
2219         https://bugs.webkit.org/show_bug.cgi?id=29940
2220
2221         Test: fast/dom/dom-constructor.html
2222
2223         * WebCore.gypi: Added new files to project.
2224         * bindings/scripts/CodeGeneratorV8.pm: Modified to generate custom constructors.
2225         * bindings/v8/V8DOMWrapper.cpp:
2226         (WebCore::V8DOMWrapper::getTemplate): Removed handling of HTMLImageElement, HTMLOptionElement
2227           and HTMLAudioElement construction.
2228         * bindings/v8/V8HTMLAudioElementConstructor.h: Added.
2229         * bindings/v8/V8HTMLImageElementConstructor.h: Added.
2230         * bindings/v8/V8HTMLOptionElementConstructor.h: Added.
2231         * bindings/v8/V8Index.cpp: Added new headers.
2232         * bindings/v8/V8Index.h: Added Audio, Image and Option decls.
2233         * bindings/v8/custom/V8CustomBinding.h: Ditto.
2234         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2235         (WebCore::ACCESSOR_GETTER): Added custom constructors.
2236         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
2237         (WebCore::V8HTMLImageElementConstructor::GetTemplate): Added custom template creator.
2238         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
2239         (WebCore::V8HTMLOptionElementConstructor::GetTemplate): Ditto.
2240         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2241         (WebCore::V8HTMLImageElementConstructor::GetTemplate): Ditto.
2242
2243 2009-09-30  Maciej Stachowiak  <mjs@apple.com>
2244
2245         Reviewed by Brady Eidson.
2246
2247         307 redirects should pass along http body and Content-Type header
2248         https://bugs.webkit.org/show_bug.cgi?id=29943
2249
2250         Follow-up fix for:
2251         <rdar://problem/3802660> SAP: 307 (Temporary Redirect) responses should use POST, not GET
2252         
2253         Test: http/tests/loading/resources/redirect-methods-result.php
2254
2255         * platform/network/cf/ResourceHandleCFNet.cpp:
2256         (WebCore::willSendRequest): Pass along http body and Content-Type header.
2257         * platform/network/mac/ResourceHandleMac.mm:
2258         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): ditto
2259
2260 2009-09-30  Geoffrey Garen  <ggaren@apple.com>
2261
2262         Reviewed by Mark Rowe.
2263
2264         Fixed https://bugs.webkit.org/show_bug.cgi?id=29941
2265         REGRESSION (r48882-r48888): Many memory leaks on SnowLeopard leaks bot
2266
2267         Forgot to implement a destructor for JSDOMWindowBaseData, so it was
2268         leaking its RefPtr data member.
2269
2270         * bindings/js/JSDOMWindowBase.cpp:
2271         (WebCore::JSDOMWindowBase::destroyJSDOMWindowBaseData):
2272         * bindings/js/JSDOMWindowBase.h:
2273         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData::JSDOMWindowBaseData):
2274
2275 2009-09-30  Dave Hyatt  <hyatt@apple.com>
2276
2277         Reviewed by Tim Hatcher.
2278
2279         Make sure the removal of user stylesheets results in all of the WebViews being updated to
2280         reflect the changes.
2281
2282         * page/PageGroup.cpp:
2283         (WebCore::PageGroup::removeUserContentWithURLForWorld):
2284         (WebCore::PageGroup::removeUserContentForWorld):
2285
2286 2009-09-30  Dan Bernstein  <mitz@apple.com>
2287
2288         Reviewed by Sam Weinig.
2289
2290         REGRESSION(r47440): drop down menus at americanexpress.com disappear on mouse out
2291         https://bugs.webkit.org/show_bug.cgi?id=29209
2292
2293         Test: fast/inline/relative-positioned-overflow.html
2294
2295         * rendering/InlineFlowBox.cpp:
2296         (WebCore::InlineFlowBox::computeVerticalOverflow): Add self-painting
2297         inlines to overflow to ensure that they are included in hit-testing.
2298
2299 2009-09-30  Simon Fraser  <simon.fraser@apple.com>
2300
2301         Reviewed by Mark Rowe.
2302
2303         transforms/3d tests are not run in Release builds
2304         https://bugs.webkit.org/show_bug.cgi?id=29827
2305
2306         Make sure we export the WebCoreHas3DRendering symbol in Release builds,
2307         because this symbols is used by run-webkit-tests (via 'nm') to detect whether
2308         WebCore was built with ENABLE_3D_RENDERING turned on.
2309
2310         * DerivedSources.make:
2311         * WebCore.3DRendering.exp: Added.
2312         * WebCore.xcodeproj/project.pbxproj:
2313
2314 2009-09-30  Jeremy Orlow  <jorlow@chromium.org>
2315
2316         Build fix for QT.  Didn't know WebCore.pro existed.
2317
2318         * WebCore.pro:
2319
2320 2009-09-30  Dave Hyatt  <hyatt@apple.com>
2321
2322         Reviewed by Adam Roben.
2323
2324         Add a method for removal of user scripts and stylesheets by URL from a specific world.
2325
2326         * page/PageGroup.cpp:
2327         (WebCore::PageGroup::removeUserContentURLForWorld):
2328         * page/PageGroup.h:
2329
2330 2009-09-30  Chris Hawk  <hawk@chromium.org>
2331
2332         Reviewed by Dimitri Glazkov.
2333
2334         Fix for conditionals in the WebCore gyp file, which contained two separate
2335         'conditions' values for the webcore target. The first entry was ignored,
2336         resulting in some missine defines.
2337         https://bugs.webkit.org/show_bug.cgi?id=29907
2338
2339         * WebCore.gyp/WebCore.gyp:
2340
2341 2009-09-21  Jeremy Orlow  <jorlow@chromium.org>
2342
2343         Reviewed by Adam Barth.
2344
2345         DOM Storage needs to be more careful about where "ThreadSafe" objects are destroyed.
2346         https://bugs.webkit.org/show_bug.cgi?id=29265
2347
2348         DOM Storage needs to be more careful about where "ThreadSafe" objects are
2349         destroyed.  With the current code, there actually isn't a race condition, but
2350         it sure would be easy for someone to introduce one.  A bunch of
2351         ThreadSafeShared objects have RefPtrs to objects that are NOT ThreadSafeShared
2352         objects.  If it were possible any of these objects' destructors to be fired off
2353         the main thread, then the you'd have a race condition.  The code should be more
2354         clear and self-documenting about how things related to each other.
2355
2356         Since the lifetime of a LocalStorageTask is bounded by the LocalStorageThread
2357         which is bounded by the StorageSyncManager, StorageAreaImpl, and
2358         StorageAreaSync, there's no reason for LocalStorageTask to store anything other
2359         than pointers.  By breaking this dependency, we can eliminate the risk.
2360
2361         Note that we _could_ have LocalStorageThread's task queue just store
2362         LocalStorageTask*'s rather than RefPtr<LocalStorageTask>s but then we'd need to
2363         manually take care of deleting.  It'd probably also be possible to change
2364         LocalStorageThread around so that it needn't hold onto a reference of itself
2365         and have a more deterministic shutdown, but my initial attempts to do so
2366         failed, and I decided it wasn't worth changing.  The queue is killed before
2367         hand, so the thread is 100% impotent before the main thread continues anyway.
2368
2369         The constructors and destructors of StorageSyncManager, StorageAreaImpl, and
2370         StorageAreaSync now have ASSERTs to verify they're running on the main thread. 
2371         I'm fairly positive that it'd be impossible to hit these asserts and the fact
2372         that these classes are no longer ThreadSafeShared should make it clear how
2373         they're meant to be used, but I think it's worth it to be extra sure.  Of
2374         course, ideally, we'd have such an assert every time a ref is incremented or
2375         decremented.
2376
2377         Behavior should be unchanged and this is just an internal code cleanup, so no
2378         new tests.
2379
2380         * storage/LocalStorageTask.cpp:
2381         (WebCore::LocalStorageTask::LocalStorageTask):
2382         (WebCore::LocalStorageTask::performTask):
2383         * storage/LocalStorageTask.h:
2384         (WebCore::LocalStorageTask::createImport):
2385         (WebCore::LocalStorageTask::createSync):
2386         (WebCore::LocalStorageTask::createTerminate):
2387         * storage/LocalStorageThread.cpp:
2388         (WebCore::LocalStorageThread::scheduleImport):
2389         (WebCore::LocalStorageThread::scheduleSync):
2390         * storage/LocalStorageThread.h:
2391         * storage/StorageArea.h:
2392         * storage/StorageAreaImpl.cpp:
2393         (WebCore::StorageAreaImpl::~StorageAreaImpl):
2394         (WebCore::StorageAreaImpl::StorageAreaImpl):
2395         * storage/StorageAreaSync.cpp:
2396         (WebCore::StorageAreaSync::StorageAreaSync):
2397         (WebCore::StorageAreaSync::~StorageAreaSync):
2398         * storage/StorageSyncManager.cpp:
2399         (WebCore::StorageSyncManager::StorageSyncManager):
2400         (WebCore::StorageSyncManager::~StorageSyncManager):
2401         (WebCore::StorageSyncManager::scheduleImport):
2402         (WebCore::StorageSyncManager::scheduleSync):
2403         * storage/StorageSyncManager.h:
2404
2405 2009-09-28  Jeremy Orlow  <jorlow@chromium.org>
2406
2407         Reviewed by Darin Fisher.
2408
2409         Chromium needs to be able to override the way storage events are delivered
2410         https://bugs.webkit.org/show_bug.cgi?id=29655
2411
2412         Chromium needs to be able to override the way storage events are delivered.
2413         This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be
2414         faster (no vtables and extra allocation) and somewhat cleaner (no dependency
2415         injection).  This is necessary because Chromium needs to transport events across
2416         a process barrier and then dispatch them without use of a Frame*.
2417
2418         Behavior should not change with this, so no updates to tests.
2419
2420         * GNUmakefile.am:
2421         * WebCore.gypi:
2422         * WebCore.vcproj/WebCore.vcproj:
2423         * WebCore.xcodeproj/project.pbxproj:
2424         * WebCoreSources.bkl:
2425         * storage/StorageAreaImpl.cpp:
2426         (WebCore::StorageAreaImpl::setItem):
2427         (WebCore::StorageAreaImpl::removeItem):
2428         (WebCore::StorageAreaImpl::clear):
2429         * storage/StorageAreaImpl.h:
2430         * storage/StorageEventDispatcher.cpp: Copied from WebCore/storage/StorageAreaImpl.cpp.
2431         (WebCore::StorageEventDispatcher::dispatch):
2432         * storage/StorageEventDispatcher.h: Added.  (Well, technically in the other half of this patch.)
2433
2434 2009-09-30  Jian Li  <jianli@chromium.org>
2435
2436         Reviewed by Darin Adler.
2437
2438         Need to check NULL frame in EventHandler::updateDragAndDrop.
2439         https://bugs.webkit.org/show_bug.cgi?id=29929
2440
2441         Test: http/tests/misc/drag-over-iframe-invalid-source-crash.html
2442
2443         * page/EventHandler.cpp:
2444         (WebCore::EventHandler::updateDragAndDrop):
2445
2446 2009-09-29  Simon Fraser  <simon.fraser@apple.com>
2447
2448         Reviewed by Dan Bernstein.
2449
2450         ASSERTION FAILED: !repaintContainer || repaintContainer == this
2451         https://bugs.webkit.org/show_bug.cgi?id=29755
2452         
2453         Generalize the fix for this bug to account for cases where there may be multiple
2454         containing blocks between the repaint container, and the container of the element
2455         being repainted.
2456
2457         Test: compositing/repaint/opacity-between-absolute2.html
2458
2459         * rendering/RenderBox.cpp:
2460         (WebCore::RenderBox::mapLocalToContainer):
2461         Call offsetFromAncestorContainer() to get the correct offset.
2462         
2463         (WebCore::RenderBox::computeRectForRepaint): Ditto
2464         * rendering/RenderInline.cpp:
2465         (WebCore::RenderInline::computeRectForRepaint): Ditto.
2466         
2467         * rendering/RenderObject.h:
2468         * rendering/RenderObject.cpp:
2469         (WebCore::RenderObject::offsetFromAncestorContainer):
2470         New method that computes an offset from some object in the ancestor container() chain.
2471
2472 2009-09-30  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
2473
2474         Reviewed by Simon Hausmann.
2475
2476         [Qt] Fix TextCodecQt::decode method after r48752 to return a non-null string if the length of the input is 0.
2477         This fixes https://bugs.webkit.org/show_bug.cgi?id=29736.
2478
2479         * platform/text/qt/TextCodecQt.cpp:
2480         (WebCore::TextCodecQt::decode):
2481
2482 2009-09-29  Dave Hyatt  <hyatt@apple.com>
2483
2484         Reviewed by Jon Honeycutt.
2485
2486         Fix a couple of bugs with patterns.  Move the setting of the document URL to before the style
2487         selector gets constructed so that pattern match testing gets the correct URL.
2488
2489         * loader/FrameLoader.cpp:
2490         (WebCore::FrameLoader::begin):
2491         * page/UserContentURLPattern.cpp:
2492         (WebCore::UserContentURLPattern::parse):
2493
2494 2009-09-29  Alexey Proskuryakov  <ap@apple.com>
2495
2496         Rubber-stamped by Brady Eidson.
2497
2498         Assertion failure in http/tests/xmlhttprequest/failed-auth.html.
2499
2500         I couldn't find out why this only started to happen now, but it was incorrect to check
2501         persistence of a credential returned by CredentialStorage::get() without checking that it
2502         was non-null. When there is no credential for the protection space in storage, get()
2503         returns a new object, and Credentil constructor doesn't initialize m_persistence.
2504
2505         * platform/network/mac/ResourceHandleMac.mm:
2506         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Moved the
2507         assertion after credential null check.
2508         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Added the same persistence
2509         assertion, matching sync code (and CF one, as well).
2510
2511 2009-09-29  Yong Li  <yong.li@torchmobile.com>
2512
2513         Reviewed by Darin Adler.
2514
2515         Add an ASSERT for UTF8Encoding().isValid()
2516         https://bugs.webkit.org/show_bug.cgi?id=29908
2517
2518         * platform/text/TextEncoding.cpp:
2519         (WebCore::UTF8Encoding):
2520
2521 2009-09-29  Dave Hyatt  <hyatt@apple.com>
2522
2523         Reviewed by Jon Honeycutt.
2524
2525         https://bugs.webkit.org/show_bug.cgi?id=29892
2526         Add support for whitelist patterns to control conditional injection of user scripts and
2527         user stylesheets.
2528
2529         No new tests. Not testable until WebKit portion is added in followup patch.
2530
2531         * GNUmakefile.am:
2532         * WebCore.gypi:
2533         * WebCore.pro:
2534         * WebCore.vcproj/WebCore.vcproj:
2535         * WebCore.xcodeproj/project.pbxproj:
2536         * dom/Document.cpp:
2537         (WebCore::Document::pageGroupUserSheets):
2538         * page/Frame.cpp:
2539         (WebCore::Frame::injectUserScriptsForWorld):
2540         * page/UserContentURLPattern.cpp: Added.
2541         (WebCore::UserContentURLPattern::matchesPatterns):
2542         (WebCore::UserContentURLPattern::parse):
2543         (WebCore::UserContentURLPattern::matches):
2544         (WebCore::UserContentURLPattern::matchesHost):
2545         (WebCore::MatchTester::MatchTester):
2546         (WebCore::MatchTester::testStringFinished):
2547         (WebCore::MatchTester::patternStringFinished):
2548         (WebCore::MatchTester::eatWildcard):
2549         (WebCore::MatchTester::eatSameChars):
2550         (WebCore::MatchTester::test):
2551         (WebCore::UserContentURLPattern::matchesPath):
2552         * page/UserContentURLPattern.h: Added.
2553         (WebCore::UserContentURLPattern::UserContentURLPattern):
2554         (WebCore::UserContentURLPattern::scheme):
2555         (WebCore::UserContentURLPattern::host):
2556         (WebCore::UserContentURLPattern::path):
2557         (WebCore::UserContentURLPattern::matchSubdomains):
2558
2559 2009-09-29  Enrica Casucci  <enrica@apple.com>
2560
2561         Reviewed by Adele Peterson.
2562
2563         Reproducible crash pressing return inside quoted content
2564         at WebCore::BreakBlockquoteCommand::doApply.
2565         <rdar://problem/7085453>
2566         In some case, like the one provided in the test case, m_downStreamEnd
2567         refers to a node that gets deleted when executing the DeleteSelectionCommand.
2568         We shouldn't use m_downStreamEnd to recalculate the new m_endPosition when
2569         pruning is needed, because it may be point to a node that has been deleted, but
2570         rather rely on removeNode in CompositeEditCommand to update m_endPosition correctly.
2571
2572         Test: editing/selection/blockquote-crash.html
2573
2574         * editing/BreakBlockquoteCommand.cpp:
2575         (WebCore::BreakBlockquoteCommand::doApply): Added check for invalid position
2576         to avoid dereferencing a null node pointer.
2577         * editing/DeleteSelectionCommand.cpp:
2578         (WebCore::DeleteSelectionCommand::mergeParagraphs): Don't reset m_endPosition
2579         using the value in m_downStreamEnd when it is necessary to prune the start block.
2580         
2581 2009-09-29  Alexey Proskuryakov  <ap@apple.com>
2582
2583         Reviewed by Brady Eidson.
2584
2585         Basic authentication credentials are not sent automatically to top resources
2586         https://bugs.webkit.org/show_bug.cgi?id=29901
2587
2588         No new tests - I don't want to pollute root directory of http tests to check for this rather
2589         minor issue.
2590
2591         * platform/network/CredentialStorage.cpp:
2592         (WebCore::CredentialStorage::set): Changed to always preserve leading slash.
2593         (WebCore::CredentialStorage::getDefaultAuthenticationCredential): Made breaking out of the
2594         loop more explicit.
2595
2596 2009-09-29  Pavel Feldman  <pfeldman@chromium.org>
2597
2598         Reviewed by Oliver Hunt.
2599
2600         Web Inspector REGRESSION(r47820-r47822): Profiles aren't
2601         added to the inspector unless the inspector is already open
2602         when the profile completes.
2603
2604         https://bugs.webkit.org/show_bug.cgi?id=29897
2605
2606         * inspector/front-end/ProfilesPanel.js:
2607         (WebInspector.ProfilesPanel.prototype._populateProfiles):
2608
2609 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2610
2611         Rubberstamped by David Hyatt.
2612
2613         Fix to logic of earlier commit 48902.
2614
2615         When merging two if's before committing, I forgot to invert the
2616         bool check.
2617
2618         * platform/network/qt/QNetworkReplyHandler.cpp:
2619         (WebCore::ignoreHttpError):
2620
2621 2009-09-29  Stephen White  <senorblanco@chromium.org>
2622
2623         Unreviewed, build fix.
2624
2625         Fixing Chromium build, following r48884.
2626
2627         [https://bugs.webkit.org/show_bug.cgi?id=29894]
2628
2629         * bindings/v8/V8AbstractEventListener.cpp:
2630         (WebCore::V8AbstractEventListener::handleEvent):
2631         * bindings/v8/V8AbstractEventListener.h:
2632         * bindings/v8/V8WorkerContextEventListener.cpp:
2633         (WebCore::V8WorkerContextEventListener::handleEvent):
2634         * bindings/v8/V8WorkerContextEventListener.h:
2635
2636 2009-09-29  Kent Tamura  <tkent@chromium.org>
2637
2638         Reviewed by Darin Adler.
2639
2640         Follows HTML5's maxLength change in September 2009.
2641         - Change HTMLTextAreaElement.maxLength type to signed.
2642         - HTMLTextAreaElement.maxLength returns -1 if maxlength= attribute is missing.
2643         - HTMLTextAreaElement.maxLength and HTMLInputElement.maxLength
2644           throw INDEX_SIZE_ERR for setting negative values.
2645         https://bugs.webkit.org/show_bug.cgi?id=29796
2646
2647         * html/HTMLInputElement.cpp:
2648         (WebCore::HTMLInputElement::setMaxLength):
2649         * html/HTMLInputElement.h:
2650         * html/HTMLInputElement.idl:
2651         * html/HTMLTextAreaElement.cpp:
2652         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
2653         (WebCore::HTMLTextAreaElement::maxLength):
2654         (WebCore::HTMLTextAreaElement::setMaxLength):
2655         * html/HTMLTextAreaElement.h:
2656         * html/HTMLTextAreaElement.idl:
2657
2658 2009-09-29  Dimitri Glazkov  <dglazkov@chromium.org>
2659
2660         No review, rolling out r48894, because review discussion was not complete.
2661         http://trac.webkit.org/changeset/48894
2662
2663         * platform/sql/SQLiteTransaction.cpp:
2664         (WebCore::SQLiteTransaction::begin):
2665
2666 2009-09-29  Dirk Schulze  <krit@webkit.org>
2667
2668         Reviewed by Nikolas Zimmermann.
2669
2670         SVG Filter feComposite implementation is missing
2671         [https://bugs.webkit.org/show_bug.cgi?id=28362]
2672
2673         feComposite implementation for SVG.
2674
2675         Test: svg/filters/feComposite.svg
2676
2677         * platform/graphics/filters/FEComposite.cpp:
2678         (WebCore::arithmetic):
2679         (WebCore::FEComposite::apply):
2680
2681 2009-09-29  Dumitru Daniliuc  <dumi@chromium.org>
2682
2683         Reviewed by Dimitri Glazkov.
2684
2685         Starting all read-only transactions with an explicit BEGIN
2686         DEFERRED command instead of BEGIN, since some ports (chromium)
2687         might compile their own SQLite library and set BEGIN to BEGIN
2688         IMMEDIATE by default; which would result in a deadlock in case of
2689         two concurrent read-only transactions on the same DB, and would
2690         unnecessarily delay other potential transactions to the same DB.
2691
2692         https://bugs.webkit.org/show_bug.cgi?id=29729
2693
2694         * platform/sql/SQLiteTransaction.cpp:
2695         (WebCore::SQLiteTransaction::begin):
2696
2697 2009-09-29  Kenneth Russell  <kbr@google.com>
2698
2699         Reviewed by Dimitri Glazkov.
2700
2701         Add support for run-time flag for 3D canvas
2702         https://bugs.webkit.org/show_bug.cgi?id=29826
2703
2704         * html/HTMLCanvasElement.cpp:
2705         (WebCore::HTMLCanvasElement::getContext): Check page settings for
2706         experimental WebGL flag before returning 3D graphics context.
2707         * page/Settings.cpp:
2708         (WebCore::Settings::Settings): Initialize new flag to false.
2709         (WebCore::Settings::setExperimentalWebGLEnabled):
2710         * page/Settings.h: Set new flag.
2711         (WebCore::Settings::experimentalWebGLEnabled): Return new flag.
2712
2713 2009-09-29  Jeremy Orlow  <jorlow@chromium.org>
2714
2715         Reviewed by Darin Fisher.
2716
2717         Chromium needs to be able to override the way storage events are delivered - part 1
2718         https://bugs.webkit.org/show_bug.cgi?id=29889
2719
2720         Chromium needs to be able to override the way storage events are delivered.
2721         This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be
2722         faster (no vtables and extra allocation) and somewhat cleaner (no dependency
2723         injection).  This is necessary because Chromium needs to transport events across
2724         a process barrier and then dispatch them without use of a Frame*.
2725
2726         This patch should be a no-op for all ports other than Chromium.
2727
2728         * WebCore.gypi:
2729         * storage/StorageEventDispatcher.h: Added.
2730
2731 2009-09-29  Oliver Hunt  <oliver@apple.com>
2732
2733         Reviewed by NOBODY (missed file).
2734
2735         Adding file missed in previous commit.
2736
2737         * manual-tests/gtk/resources/long_cell.cur: Copied from WebCore/dom/PositionCreationFunctions.h.
2738
2739 2009-09-29  Dimitri Glazkov  <dglazkov@chromium.org>
2740
2741         Reviewed by Darin Fisher.
2742
2743         [V8] Correct an issue with XMLHttpRequest attribute event listeners never being cleared.
2744         https://bugs.webkit.org/show_bug.cgi?id=29888
2745
2746         Test: LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
2747
2748         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2749         (WebCore::getEventListener): Added isAttribute parameter.
2750         (WebCore::ACCESSOR_SETTER): Made all event listener setters create attribute listeners.
2751         (WebCore::CALLBACK_FUNC_DECL): Made addEventListener create object listener.
2752
2753 2009-09-22  Martin Robinson  <martin.james.robinson@gmail.com>
2754
2755         Reviewed by Eric Seidel.
2756
2757         Fix corruption for non-square images.
2758
2759         [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
2760         https://bugs.webkit.org/show_bug.cgi?id=29654
2761
2762         Added an additional manual-test for this issue to the existing Gtk
2763         cursor image test.
2764
2765         * manual-tests/gtk/cursor-image.html:
2766         * manual-tests/gtk/resources/long_cell.cur: Added.
2767         * platform/graphics/gtk/ImageGtk.cpp:
2768         (WebCore::BitmapImage::getGdkPixbuf):
2769
2770 2009-09-29  Alexey Proskuryakov  <ap@apple.com>
2771
2772         Reviewed by Timothy Hatcher.
2773
2774         Build fix - pass a proper ScriptExecutipnContext to getEventListenerHandlerBody()
2775
2776         * bindings/js/ScriptEventListener.cpp:
2777         (WebCore::getEventListenerHandlerBody):
2778         * bindings/js/ScriptEventListener.h:
2779         * bindings/v8/ScriptEventListener.cpp:
2780         (WebCore::getEventListenerHandlerBody):
2781         * bindings/v8/ScriptEventListener.h:
2782         * inspector/InspectorDOMAgent.cpp:
2783         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
2784
2785 2009-09-29  Nate Chapin  <japhet@chromium.org>
2786
2787         Reviewed by Eric Seidel.
2788
2789         Ensure that we don't scroll lock to an anchor node after a
2790         user-initiated scroll, even if that scroll doesn't propagate
2791         all the way up to FrameView.
2792
2793         Test: fast/events/node-event-anchor-lock.html
2794
2795         * page/EventHandler.cpp: Call setFrameWasScrolledByUser() when a scroll is handled by a node rather than a frame.
2796         (WebCore::EventHandler::scrollOverflow):
2797         (WebCore::EventHandler::handleWheelEvent):
2798         (WebCore::EventHandler::sendScrollEvent): Use setFrameWasScrolledByUser();
2799         (WebCore::EventHandler::setFrameWasScrolledByUser): Split out of sendScrollEvent();
2800         (WebCore::EventHandler::passMousePressEventToScrollbar):
2801         * page/EventHandler.h: Declare setFrameWasScrolledByUser().
2802
2803 2009-09-28  Alexey Proskuryakov  <ap@apple.com>
2804
2805         Reviewed by Darin Adler and Sam Weinig.
2806
2807         Onclick not fired for an element copied with cloneContents() or cloneNode()
2808         https://bugs.webkit.org/show_bug.cgi?id=25130
2809
2810         The change here is that JS event listeners don't keep a reference to a global object from
2811         where they were created, and instead take it as a parameter when parsing source code. Also,
2812         the listener creation won't fail just because it happens for an element in a frameless
2813         document.
2814         Thus, moving nodes between documents no longer results in having incorrect registered
2815         lazy event listeners on them.
2816
2817         Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html
2818                fast/events/attribute-listener-cloned-from-frameless-doc-context.html
2819                fast/events/attribute-listener-cloned-from-frameless-doc.xhtml
2820                fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html
2821                fast/events/attribute-listener-extracted-from-frameless-doc-context.html
2822
2823         * bindings/js/JSEventListener.cpp:
2824         (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject.
2825         (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for
2826         getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner.
2827         (WebCore::JSEventListener::markJSFunction): Don't mark the global object.
2828         (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext.
2829         (WebCore::JSEventListener::reportError): Ditto.
2830
2831         * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference
2832         to JSDOMGlobalObject.
2833
2834         * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener
2835         creation was split between this function and ScriptEventListener; moved it here, as JS
2836         global object can be different now.
2837
2838         * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL,
2839         which can not be determined at parsing time.
2840
2841         * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code
2842         for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests
2843         expect that errors are logged at document parsing time, and because I don't know what other
2844         side effects moving it vould have.
2845
2846         * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext,
2847         because JSC needs a global context here.
2848
2849         * bindings/js/JSAbstractWorkerCustom.cpp:
2850         (WebCore::JSAbstractWorker::addEventListener):
2851         (WebCore::JSAbstractWorker::removeEventListener):
2852         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2853         (WebCore::JSDOMApplicationCache::addEventListener):
2854         (WebCore::JSDOMApplicationCache::removeEventListener):
2855         * bindings/js/JSDOMGlobalObject.cpp:
2856         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
2857         * bindings/js/JSDOMWindowCustom.cpp:
2858         (WebCore::JSDOMWindow::addEventListener):
2859         (WebCore::JSDOMWindow::removeEventListener):
2860         * bindings/js/JSEventSourceCustom.cpp:
2861         (WebCore::JSEventSource::addEventListener):
2862         (WebCore::JSEventSource::removeEventListener):
2863         * bindings/js/JSMessagePortCustom.cpp:
2864         (WebCore::JSMessagePort::addEventListener):
2865         (WebCore::JSMessagePort::removeEventListener):
2866         * bindings/js/JSNodeCustom.cpp:
2867         (WebCore::JSNode::addEventListener):
2868         (WebCore::JSNode::removeEventListener):
2869         * bindings/js/JSSVGElementInstanceCustom.cpp:
2870         (WebCore::JSSVGElementInstance::addEventListener):
2871         (WebCore::JSSVGElementInstance::removeEventListener):
2872         * bindings/js/JSWorkerContextCustom.cpp:
2873         (WebCore::JSWorkerContext::addEventListener):
2874         (WebCore::JSWorkerContext::removeEventListener):
2875         * bindings/js/JSXMLHttpRequestCustom.cpp:
2876         (WebCore::JSXMLHttpRequest::addEventListener):
2877         (WebCore::JSXMLHttpRequest::removeEventListener):
2878         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2879         (WebCore::JSXMLHttpRequestUpload::addEventListener):
2880         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2881         * bindings/objc/ObjCEventListener.h:
2882         * bindings/objc/ObjCEventListener.mm:
2883         (WebCore::ObjCEventListener::handleEvent):
2884         * bindings/scripts/CodeGeneratorJS.pm:
2885         * dom/EventTarget.cpp:
2886         (WebCore::EventTarget::fireEventListeners):
2887         * inspector/InspectorDOMAgent.cpp:
2888         (WebCore::InspectorDOMAgent::handleEvent):
2889         * inspector/InspectorDOMAgent.h:
2890         * inspector/InspectorDOMStorageResource.cpp:
2891         (WebCore::InspectorDOMStorageResource::handleEvent):
2892         * inspector/InspectorDOMStorageResource.h:
2893         * loader/ImageDocument.cpp:
2894         (WebCore::ImageEventListener::handleEvent):
2895         * svg/animation/SVGSMILElement.cpp:
2896         (WebCore::ConditionEventListener::handleEvent):
2897         * workers/WorkerContext.cpp:
2898         (WebCore::WorkerContext::reportException):
2899         Don't pass global object to JSEventListener::create(), which no longer needs it.
2900         Note that some of these functions still have an early return for null global object, which
2901         can probably be removed in a later patch.
2902         Pass ScriptExecutionContext to EventListener methods that now need it.
2903
2904         * bindings/scripts/CodeGeneratorCOM.pm: Don't force EventTarget implementation on Node -
2905         it doesn't work yet (it didn't quite work before this patch, too, because it assumed that
2906         any object implementing EventTarget COM interface originated from WebCore).
2907
2908         * dom/EventListener.idl: Just like in ObjC, EventListener should be a pure interface in
2909         COM bindings.
2910
2911 2009-09-28  Geoffrey Garen  <ggaren@apple.com>
2912
2913         Reviewed by Sam Weinig.
2914
2915         Removed virtual destructor from JSGlobalObjectData to eliminate pointer
2916         fix-ups when accessing JSGlobalObject::d.
2917         
2918         Replaced with an explicit destructor function pointer.
2919
2920         * bindings/js/JSDOMGlobalObject.cpp:
2921         (WebCore::JSDOMGlobalObject::destroyJSDOMGlobalObjectData):
2922         * bindings/js/JSDOMGlobalObject.h:
2923         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
2924
2925 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2926
2927         Reviewed by Simon Hausmann.
2928
2929         Don't rely on QNetworkReply::NetworkError codes, but
2930         on HTTP error codes instead.
2931
2932         * platform/network/qt/QNetworkReplyHandler.cpp:
2933         (WebCore::ignoreHttpError):
2934         (WebCore::QNetworkReplyHandler::finish):
2935
2936 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2937
2938         Reviewed by Simon Hausmann.
2939
2940         Use const references when using Qt's foreach.
2941
2942         * platform/network/qt/QNetworkReplyHandler.cpp:
2943         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2944
2945 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2946
2947         Reviewed by Simon Hausmann.
2948
2949         Fix handling of QNetworkReply errors.
2950
2951         In the QNetworkReplyHandler::finish() a response was sent even when
2952         the reply contained an error. This resulted in a sendResponseIfNeeded()
2953         calling didReceiveResponse on the client, leading to the destruction
2954         of the m_resourceHandle, discontinuing further processing in finish(),
2955         and thus not calling didFail on the client.
2956
2957         Instead it continued as everything went fine, and
2958         FrameLoaderClientQt::dispatchDecidePolicyForMIMEType() changed the
2959         policy to PolicyDownload due to not being able to show the non existing
2960         MIMEType. As the download also obviously fails, it ended up with a
2961         policy change error.
2962
2963         * platform/network/qt/QNetworkReplyHandler.cpp:
2964         (WebCore::QNetworkReplyHandler::finish):
2965
2966 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2967
2968         Reviewed by Simon Hausmann.
2969
2970         The code for showing error pages when the response was
2971         a 401/403/404, was not actually doing so. This patch
2972         fixes that.
2973
2974         * platform/network/qt/QNetworkReplyHandler.cpp:
2975         (WebCore::QNetworkReplyHandler::finish):
2976
2977 2009-09-28  Alexey Proskuryakov  <ap@apple.com>
2978
2979         Reviewed by Brady Eidson.
2980
2981         <rdar://problem/7259965> REGRESSION: http/tests/xmlhttprequest/cross-origin-authorization.html
2982         is failing/crashing intermittently
2983         https://bugs.webkit.org/show_bug.cgi?id=29322
2984
2985         This was caused by CStringBuffer::encodeBase64() returning a buffer that wasn't zero terminated.
2986         The code had other issues as well, so I removed it altogether:
2987         - it claimed to avoid some buffer copies, but it didn't;
2988         - and I don't think that base64 encoding should be part of CString interface.
2989
2990         * platform/network/mac/ResourceHandleMac.mm:
2991         (WebCore::encodeBasicAuthorization): Encode username and password using Base64.h directly.
2992         (WebCore::ResourceHandle::start): Use encodeBasicAuthorization().
2993         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto.
2994         (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Extended logging
2995         to synchronous case.
2996         (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Ditto.
2997         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto.
2998         (-[WebCoreSynchronousLoader connection:didReceiveResponse:]): Ditto.
2999         (-[WebCoreSynchronousLoader connection:didReceiveData:]): Ditto.
3000         (-[WebCoreSynchronousLoader connectionDidFinishLoading:]): Ditto.
3001         (-[WebCoreSynchronousLoader connection:didFailWithError:]): Ditto.
3002
3003         * platform/network/cf/ResourceHandleCFNet.cpp: Matched Mac changes.
3004
3005         * platform/text/CString.cpp:
3006         * platform/text/CString.h:
3007         (WebCore::CStringBuffer::create):
3008         (WebCore::CStringBuffer::CStringBuffer):
3009         Removed code that was added for Base64 in r48363.
3010
3011 2009-09-29  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
3012
3013         Reviewed by Simon Hausmann.
3014
3015         Fix typo in Localizations.cpp
3016
3017         https://bugs.webkit.org/show_bug.cgi?id=29872
3018
3019         * platform/qt/Localizations.cpp:
3020         (WebCore::localizedMediaControlElementHelpText):
3021
3022 2009-09-29  Simon Hausmann  <simon.hausmann@nokia.com>
3023
3024         Reviewed by Tor Arne Vestbø.
3025
3026         Make the XSLT conditional in DOMWindow.idl's xsltProcessor
3027         attribute conditional in the generated files, similar to
3028         r44116.
3029
3030         * page/DOMWindow.idl:
3031
3032 2009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3033
3034         Reviewed by Simon Hausmann and Tor Arne Vestbø.
3035
3036         Use the ResourceError as it is supposed to and handle
3037         not HTTP errors from QNetworkReply.
3038
3039         Thanks to Adam Roben for his input.
3040
3041         * platform/network/qt/QNetworkReplyHandler.cpp:
3042         (WebCore::QNetworkReplyHandler::finish):
3043
3044 2009-09-29  Pavel Feldman  <pfeldman@chromium.org>
3045
3046         Reviewed by Timothy Hatcher.
3047
3048         Web Inspector: Encapsulate JS listeners specifics into ScriptEventListener.
3049
3050         https://bugs.webkit.org/show_bug.cgi?id=29816
3051
3052         * bindings/js/ScriptEventListener.cpp:
3053         (WebCore::getEventListenerHandlerBody):
3054         * bindings/js/ScriptEventListener.h:
3055         * bindings/v8/ScriptEventListener.cpp:
3056         (WebCore::getEventListenerHandlerBody):
3057         * bindings/v8/ScriptEventListener.h:
3058         * inspector/InspectorDOMAgent.cpp:
3059         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3060
3061 2009-09-29  Xan Lopez  <xlopez@igalia.com>
3062
3063         Unreviewed attempt to fix the build.
3064
3065         * page/Settings.cpp:
3066         (WebCore::Settings::Settings):
3067
3068 2009-09-28  Fumitoshi Ukai  <ukai@chromium.org>
3069
3070         Reviewed by Eric Seidel.
3071
3072         Add experimentalWebSocketsEnabled in Settings.
3073         https://bugs.webkit.org/show_bug.cgi?id=28941
3074
3075         * WebCore.base.exp:
3076         * bindings/js/JSDOMWindowCustom.cpp:
3077         (WebCore::JSDOMWindow::webSocket):
3078         * bindings/v8/V8DOMWrapper.cpp:
3079         (WebCore::V8DOMWrapper::getConstructor):
3080         * bindings/v8/custom/V8WebSocketCustom.cpp:
3081         * page/Settings.cpp:
3082         (WebCore::Settings::Settings):
3083         (WebCore::Settings::setExperimentalWebSocketsEnabled):
3084         * page/Settings.h:
3085         (WebCore::Settings::experimentalWebSocketsEnabled):
3086         
3087 2009-09-11  Fumitoshi Ukai  <ukai@chromium.org>
3088
3089         Reviewed by Adam Barth.
3090
3091         Add platform code to support WebSocket for chromium.
3092         https://bugs.webkit.org/show_bug.cgi?id=29171
3093
3094         To build within chromium tree, it requires a patch in bug 29174.
3095         Real implementation will be landed in chromium tree.
3096
3097         * WebCore.gypi:
3098         * platform/network/chromium/SocketStreamError.h: Added.
3099         (WebCore::SocketStreamError::SocketStreamError):
3100         * platform/network/chromium/SocketStreamHandle.h: Added.
3101         (WebCore::SocketStreamHandle::create):
3102
3103 2009-09-28  Dan Bernstein  <mitz@apple.com>
3104
3105         Reviewed by Sam Weinig.
3106
3107         <rdar://problem/7157288> Crash in RenderStyle::computedLineHeight()
3108         when Times New Roman is not installed
3109
3110         * platform/graphics/win/FontCacheWin.cpp:
3111         (WebCore::FontCache::getLastResortFallbackFont): If Times New Roman is
3112         not available, use the Windows default GUI font.
3113
3114 2009-09-28  Jian Li  <jianli@chromium.org>
3115
3116         Reviewed by David Levin.
3117
3118         Do not add platform-specific methods to cross-platform header
3119         FileSystem.h per Darin's feedback for 29109.
3120         https://bugs.webkit.org/show_bug.cgi?id=29830
3121
3122         * platform/FileSystem.h:
3123         * platform/chromium/DragDataChromium.cpp:
3124         (WebCore::DragData::asURL):
3125         * platform/chromium/FileSystemChromium.cpp:
3126
3127 2009-09-28  Dumitru Daniliuc  <dumi@chromium.org>
3128
3129         Reviewed by Dimitri Glazkov.
3130
3131         Register Chromium's VFSs with a proper sqlite3_io_methods
3132         finder. This should only affect the POSIX implementation. The
3133         Windows change is included for consistency and in case sqlite
3134         starts using something similar in its Windows VFS in the future.
3135
3136         https://bugs.webkit.org/show_bug.cgi?id=29743
3137
3138         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
3139         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
3140         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
3141         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
3142
3143 2009-09-28  Nate Chapin  <japhet@chromium.org>
3144
3145         Reviewed by Adam Barth.
3146
3147         Change the V8 bindings' handling of window.toString(),
3148         so we return [object DOMWindow] (like JSC), not [object global].
3149
3150         https://bugs.webkit.org/show_bug.cgi?id=29742
3151
3152         This will fix a couple of Chromium port test failures and enable us to
3153         use the default expectations for a bunch more.
3154
3155         * bindings/v8/custom/V8DOMWindowCustom.cpp: Use the DOMWindow wrapper instead
3156         of the global object wrapper when it's available in the DOMWindow toString callback.
3157
3158 2009-09-28  Nate Chapin  <japhet@chromium.org>
3159
3160         Rubber stamped by David Levin.
3161
3162         Chromium build fix, add back in #include of V8Proxy.h in V8WebKitPointConstructor.cpp.
3163
3164         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Re-include V8Proxy.h.
3165
3166 2009-09-28  Geoffrey Garen  <ggaren@apple.com>
3167
3168         Reviewed by Darin Adler.
3169
3170         NotNullPassRefPtr: smart pointer optimized for passing references that are not null
3171         https://bugs.webkit.org/show_bug.cgi?id=29822
3172         
3173         Added NotNullPassRefPtr, and deployed it in all places that initialize
3174         JavaScript objects.
3175
3176         * bindings/js/DOMObjectWithSVGContext.h:
3177         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
3178         * bindings/js/JSDOMBinding.cpp:
3179         (WebCore::cacheDOMStructure):
3180         * bindings/js/JSDOMBinding.h:
3181         (WebCore::DOMObject::DOMObject):
3182         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
3183         (WebCore::DOMConstructorObject::DOMConstructorObject):
3184         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
3185         * bindings/js/JSDOMGlobalObject.cpp:
3186         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
3187         * bindings/js/JSDOMGlobalObject.h:
3188         * bindings/js/JSDOMWindowBase.cpp:
3189         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3190         * bindings/js/JSDOMWindowBase.h:
3191         * bindings/js/JSHTMLAllCollection.h:
3192         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
3193         * bindings/js/JSInspectedObjectWrapper.cpp:
3194         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
3195         * bindings/js/JSInspectedObjectWrapper.h:
3196         * bindings/js/JSInspectorCallbackWrapper.cpp:
3197         (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
3198         * bindings/js/JSInspectorCallbackWrapper.h:
3199         * bindings/js/JSQuarantinedObjectWrapper.cpp:
3200         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
3201         * bindings/js/JSQuarantinedObjectWrapper.h:
3202         * bindings/js/JSWorkerContextBase.cpp:
3203         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
3204         * bindings/js/JSWorkerContextBase.h:
3205         * bindings/scripts/CodeGeneratorJS.pm:
3206         * bridge/runtime_object.cpp:
3207         (JSC::RuntimeObjectImp::RuntimeObjectImp):
3208         * bridge/runtime_object.h:
3209
3210 2009-09-28  Nate Chapin  <japhet@chromium.org>
3211
3212         Reviewed by Dimitri Glazkov.
3213
3214         Allow V8 to handle x/y parameters in a WebKitPoint constructor.
3215         https://bugs.webkit.org/show_bug.cgi?id=29823
3216
3217         Fixes V8's handling of LayoutTests/fast/dom/Window/webkitConvertPoint.html
3218
3219         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Allow for x/y parameters in constructor.
3220
3221 2009-09-28  Mark Rowe  <mrowe@apple.com>
3222
3223         Fix the build by doing something approximating reasonableness in the Xcode project.
3224
3225         * WebCore.xcodeproj/project.pbxproj:
3226
3227 2009-09-28  Simon Hausmann  <hausmann@webkit.org>
3228
3229         Prospective Tiger build fix.
3230
3231         * WebCore.xcodeproj/project.pbxproj: Try to use unique IDs for the new files.
3232
3233 2009-09-28  Pavel Feldman  <pfeldman@chromium.org>
3234
3235         Reviewed by Timothy Hatcher.
3236
3237         Web Inspector: Add explicit frontend event for commit load.
3238
3239         https://bugs.webkit.org/show_bug.cgi?id=29814
3240
3241         * inspector/InspectorController.cpp:
3242         (WebCore::InspectorController::didCommitLoad):
3243         * inspector/InspectorFrontend.cpp:
3244         (WebCore::InspectorFrontend::didCommitLoad):
3245         * inspector/InspectorFrontend.h:
3246         * inspector/front-end/DOMAgent.js:
3247         (WebInspector.DOMAgent.prototype._setDocument):
3248         * inspector/front-end/inspector.js:
3249         (WebInspector.addResource):
3250         (WebInspector.didCommitLoad):
3251
3252 2009-09-28  Yaar Schnitman  <yaar@chromium.org>
3253
3254         Reviewed by Dimitri Glazkov.
3255
3256         Chromium port - recognize we are being built independently
3257         of chromium and look for dependencies under webkit/chromium rather
3258         than chromium/src.
3259
3260         https://bugs.webkit.org/show_bug.cgi?id=29722
3261
3262         * WebCore.gyp/WebCore.gyp: See above. Also removed a few files from
3263           the sources list, since they are not supposed to be built here.
3264
3265 2009-09-28  Jakub Wieczorek  <faw217@gmail.com>
3266
3267         Reviewed by Simon Hausmann.
3268
3269         [Qt] Implement XSLT support with QtXmlPatterns.
3270         https://bugs.webkit.org/show_bug.cgi?id=28303
3271
3272         * GNUmakefile.am:
3273         * WebCore.gypi:
3274         * WebCore.pro:
3275         * WebCore.vcproj/WebCore.vcproj:
3276         * WebCoreSources.bkl:
3277         * dom/Document.cpp:
3278         (WebCore::Document::Document):
3279         (WebCore::Document::~Document):
3280         (WebCore::Document::setTransformSource):
3281         * dom/Document.h:
3282         (WebCore::Document::transformSource):
3283         * dom/TransformSource.h: Added.
3284         (WebCore::TransformSource::platformSource):
3285         * dom/TransformSourceLibxslt.cpp: Added.
3286         (WebCore::TransformSource::TransformSource): Wraps a libxml2 document.
3287         (WebCore::TransformSource::~TransformSource):
3288         * dom/TransformSourceQt.cpp: Added.
3289         (WebCore::TransformSource::TransformSource): Wraps a plain string.
3290         (WebCore::TransformSource::~TransformSource):
3291         * dom/XMLTokenizerLibxml2.cpp:
3292         (WebCore::XMLTokenizer::doEnd):
3293         * dom/XMLTokenizerQt.cpp:
3294         (WebCore::XMLTokenizer::doEnd):
3295         (WebCore::XMLTokenizer::parseProcessingInstruction):
3296         * xml/XSLStyleSheet.h:
3297         (WebCore::XSLStyleSheet::sheetString):
3298         * xml/XSLStyleSheetLibxslt.cpp:
3299         (WebCore::XSLStyleSheet::document):
3300         * xml/XSLStyleSheetQt.cpp: Added.
3301         * xml/XSLTProcessor.h:
3302         * xml/XSLTProcessorLibxslt.cpp:
3303         (WebCore::xmlDocPtrFromNode):
3304         * xml/XSLTProcessorQt.cpp: Added.
3305         (WebCore::XSLTMessageHandler::XSLTMessageHandler): A subclass of QAbstractMessageHandler.
3306         (WebCore::XSLTMessageHandler::handleMessage): Forwards all processor messages to the Console.
3307         (WebCore::XSLTProcessor::transformToString): Uses QXmlQuery.
3308
3309 2009-09-28  Andrew Scherkus  <scherkus@chromium.org>
3310
3311         Reviewed by Eric Carlson.
3312
3313         Delegate implementation of rendererIsNeeded() for media control elements to RenderTheme.
3314
3315         https://bugs.webkit.org/show_bug.cgi?id=28689
3316
3317         Covered by LayoutTests/media/video-no-audio.html
3318
3319         * rendering/MediaControlElements.cpp: Removed subclass implementations of rendererIsNeeded().
3320         (WebCore::MediaControlElement::rendererIsNeeded): Include calling shouldRenderMediaControlPart().
3321         (WebCore::MediaControlInputElement::rendererIsNeeded): Include calling shouldRenderMediaControlPart().
3322         * rendering/MediaControlElements.h:
3323         * rendering/RenderTheme.cpp:
3324         (WebCore::RenderTheme::shouldRenderMediaControlPart): New method.  Contains logic moved from subclass implementations of rendererIsNeeded().
3325         * rendering/RenderTheme.h:
3326         * rendering/RenderThemeChromiumSkia.cpp:
3327         (WebCore::RenderThemeChromiumSkia::shouldRenderMediaControlPart): Override to always render mute button.
3328         * rendering/RenderThemeChromiumSkia.h:
3329
3330 2009-09-28  Jian Li  <jianli@chromium.org>
3331
3332         Reviewed by David Levin.
3333
3334         [chromium] DragData::asURL should return file URL.
3335         https://bugs.webkit.org/show_bug.cgi?id=29109
3336
3337         Tested by LayoutTests/fast/events/drag-to-navigate.html.
3338
3339         * platform/FileSystem.h:
3340         * platform/chromium/ChromiumBridge.h:
3341         * platform/chromium/DragDataChromium.cpp:
3342         (WebCore::DragData::asURL):
3343         * platform/chromium/FileSystemChromium.cpp:
3344         (WebCore::getAbsolutePath):
3345         (WebCore::isDirectory):
3346         (WebCore::filePathToURL):
3347
3348 2009-09-28  Dimitri Glazkov  <dglazkov@chromium.org>
3349
3350         Reviewed by David Levin.
3351
3352         [V8] Add a special case to handle index arguments, because we need to be
3353         able to see if they're < 0.
3354         https://bugs.webkit.org/show_bug.cgi?id=29810
3355
3356         Test: LayoutTests/dom/html/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.html
3357
3358         * bindings/scripts/CodeGeneratorV8.pm: Added special case (matching CodeGeneratorJS.pm)
3359           for index arguments.
3360
3361 2009-09-28  Dan Bernstein  <mitz@apple.com>
3362
3363         Reviewed by Darin Adler.
3364
3365         Extend the MediaWiki/KHTMLFixes.css workaround to cover older MediaWiki versions
3366         https://bugs.webkit.org/show_bug.cgi?id=29792
3367
3368         * html/HTMLLinkElement.cpp:
3369         (WebCore::HTMLLinkElement::setCSSStyleSheet): If site specific hacks are
3370         enabled, check if the linked style sheet is one of two versions of the
3371         MediaWiki KHTMLFixes.css. If so, remove the offending rule.
3372
3373 2009-09-28  Dimitri Glazkov  <dglazkov@chromium.org>
3374
3375         Reviewed by Adam Barth.
3376
3377         [V8] Fix an error in type logic in CodeGeneratorV8.pm, where
3378         unsigned ints are accidentally used as signed.
3379         https://bugs.webkit.org/show_bug.cgi?id=29810
3380
3381         Test: LayoutTests/fast/forms/textarea-maxlength.html
3382
3383         * bindings/scripts/CodeGeneratorV8.pm: Made sure "unsigned long" in IDL is
3384           properly generates on "unsigned" return value.
3385
3386 2009-09-28  Jakub Wieczorek  <faw217@gmail.com>
3387
3388         Reviewed by Simon Hausmann.
3389
3390         Rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp.
3391         https://bugs.webkit.org/show_bug.cgi?id=28303
3392
3393         In preparation for adding XSLT support with QtXmlPatterns to the Qt
3394         port, rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp as we will
3395         have our own implementation which most likely will not share any code
3396         with the current one.
3397
3398         Additionally, fix some coding style issues.
3399
3400         * GNUmakefile.am:
3401         * WebCore.gypi:
3402         * WebCore.vcproj/WebCore.vcproj:
3403         * WebCore.xcodeproj/project.pbxproj:
3404         * WebCoreSources.bkl:
3405         * xml/XSLStyleSheet.cpp: Renamed to XSLStyleSheetLibxslt.cpp.
3406         * xml/XSLStyleSheetLibxslt.cpp: Added.
3407
3408 2009-09-28  Simon Hausmann  <simon.hausmann@nokia.com>
3409
3410         Prospective build fix for r48812.
3411
3412         Forgot to remove the inline reset() implementation when reverting the indentation
3413         changes in the file.
3414
3415         * xml/XSLTProcessor.h:
3416
3417 2009-09-28  Pavel Feldman  <pfeldman@chromium.org>
3418
3419         Reviewed by nobody (trivial follow up fix), Joseph Pecoraro LGTM-ed.
3420
3421         Web Inspector: Follow up to r48809.
3422         InspectorController.wrapObject should only be called on the inspectable page side.
3423
3424         https://bugs.webkit.org/show_bug.cgi?id=17429
3425
3426         * inspector/front-end/EventListenersSidebarPane.js:
3427         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
3428         (WebInspector.EventListenersSidebarPane.prototype.update):
3429         (WebInspector.EventListenersSection):
3430         (WebInspector.EventListenersSection.prototype.update):
3431         (WebInspector.EventListenerBar):
3432         (WebInspector.EventListenerBar.prototype.update):
3433
3434 2009-09-28  Jakub Wieczorek  <faw217@gmail.com>
3435
3436         Reviewed by Simon Hausmann.
3437
3438         Move the libxslt specific part of XSLTProcessor to a separate file.
3439         https://bugs.webkit.org/show_bug.cgi?id=28303
3440
3441         In preparation for adding XSLT support with QtXmlPatterns to the Qt
3442         port, move the libxslt part of the XSLTProcessor implementation into
3443         another file and leave the part that can be reused and shared.
3444
3445         Additionally, fix some coding style issues.
3446
3447         * GNUmakefile.am:
3448         * WebCore.gypi:
3449         * WebCore.vcproj/WebCore.vcproj:
3450         * WebCore.xcodeproj/project.pbxproj:
3451         * WebCoreSources.bkl:
3452         * xml/XSLTProcessor.cpp:
3453         (WebCore::XSLTProcessor::createDocumentFromSource): Remove trailing whitespaces.
3454         (WebCore::createFragmentFromSource): Remove trailing whitespaces.
3455         (WebCore::XSLTProcessor::transformToFragment): Remove trailing whitespaces.
3456         (WebCore::XSLTProcessor::reset): Moved out of the class definition.
3457         * xml/XSLTProcessorLibxslt.cpp: Added.
3458         (WebCore::XSLTProcessor::genericErrorFunc): Moved.
3459         (WebCore::XSLTProcessor::parseErrorFunc): Moved.
3460         (WebCore::docLoaderFunc): Moved.
3461         (WebCore::setXSLTLoadCallBack): Moved.
3462         (WebCore::writeToVector): Moved.
3463         (WebCore::saveResultToString): Moved.
3464         (WebCore::xsltParamArrayFromParameterMap): Moved.
3465         (WebCore::freeXsltParamArray): Moved.
3466         (WebCore::xsltStylesheetPointer): Moved.
3467         (WebCore::xmlDocPtrFromNode): Moved.
3468         (WebCore::resultMIMEType): Moved.
3469         (WebCore::XSLTProcessor::transformToString): Moved.
3470
3471 2009-09-28  Charles Wei  <charles.wei@torchmobile.com.cn>
3472
3473         Reviewed by Nikolas Zimmermann.
3474
3475         Fix the crash of SVG that crashes when use a non-exist symbol
3476         https://bugs.webkit.org/show_bug.cgi?id=27693
3477
3478         Test: svg/custom/use-non-existing-symbol-crash.svg
3479
3480         * svg/SVGUseElement.cpp:
3481         (WebCore::shadowTreeContainsChangedNodes):
3482
3483 2009-09-28  Joseph Pecoraro  <joepeck@webkit.org>
3484
3485         Reviewed by Timothy Hatcher.
3486
3487         Inspector Should Show Event Listeners/Handlers Registered on each Node
3488         https://bugs.webkit.org/show_bug.cgi?id=17429
3489         
3490           Extracted a method from dispatchEvent to get the event ancestor chain
3491         
3492         * dom/Node.cpp:
3493         (WebCore::Node::eventAncestors): the extracted method
3494         (WebCore::Node::dispatchGenericEvent): use eventAncestors
3495         * dom/Node.h:
3496
3497           Asynchronous Flow For the Inspector, Backend -> DOM Agent -> Frontend
3498           The DOMAgent's getEventListenersForNode handles the logic of finding
3499           all the relevant listeners in the event flow.
3500
3501         * inspector/InspectorBackend.cpp:
3502         (WebCore::InspectorBackend::getEventListenersForNode):
3503         * inspector/InspectorBackend.h:
3504         * inspector/InspectorBackend.idl:
3505         * inspector/InspectorDOMAgent.cpp:
3506         (WebCore::InspectorDOMAgent::getEventListenersForNode):
3507         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3508         (WebCore::InspectorDOMAgent::buildObjectForNode): added localName
3509         * inspector/InspectorDOMAgent.h:
3510         (WebCore::EventListenerInfo::EventListenerInfo):
3511         * inspector/InspectorFrontend.cpp:
3512         (WebCore::InspectorFrontend::didGetEventListenersForNode):
3513         * inspector/InspectorFrontend.h:
3514         (WebCore::InspectorFrontend::scriptState):
3515         * inspector/front-end/DOMAgent.js: added localName to WebInspector.DOMNode from payload
3516         (WebInspector.EventListeners.getEventListenersForNodeAsync.mycallback):
3517         (WebInspector.EventListeners.getEventListenersForNodeAsync):
3518
3519           New Sidebar Pane in the Element's Panel
3520           Includes Gear Menu for filtering the Event Listeners on the
3521           "Selected Node Only" or "All Nodes"
3522
3523         * inspector/front-end/ElementsPanel.js: Handles refreshing the Pane when necessary
3524         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
3525         (WebInspector.ElementsPanel):
3526         (WebInspector.ElementsPanel.prototype.updateEventListeners):
3527         * inspector/front-end/EventListenersSidebarPane.js: Added. 
3528         (WebInspector.EventListenersSidebarPane): The 1st level in the Pane
3529         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
3530         (WebInspector.EventListenersSidebarPane.prototype.update):
3531         (WebInspector.EventListenersSection): The 2nd level in the Pane
3532         (WebInspector.EventListenersSection.prototype.update): filters on Preference
3533         (WebInspector.EventListenersSection.prototype.addListener):
3534         (WebInspector.EventListenerBar): The 3rd level in the Pane
3535         (WebInspector.EventListenerBar.prototype._getNodeDisplayName):
3536         (WebInspector.EventListenerBar.prototype._getFunctionDisplayName):
3537         (WebInspector.EventListenersSidebarPane.prototype._changeSetting): For the Gear Menu
3538         
3539           Consolidated "appropriateSelectorForNode"
3540
3541         * inspector/front-end/StylesSidebarPane.js:
3542         * inspector/front-end/utilities.js:
3543
3544           Miscellaneous Updates
3545
3546         * English.lproj/localizedStrings.js: "Event Listeners", "No Event Listeners", "Selected Node Only", "All Nodes"
3547         * WebCore.gypi: included the new inspector files
3548         * WebCore.vcproj/WebCore.vcproj: included source files that were missing
3549         * inspector/front-end/Images/grayConnectorPoint.png: Added. Thanks to Timothy Hatcher.
3550         * inspector/front-end/Images/whiteConnectorPoint.png: Added. Thanks to Timothy Hatcher.
3551         * inspector/front-end/inspector.js: Preferences for the Gear Menu Event Listeners filter
3552         * inspector/front-end/inspector.css: reused as much as possible
3553         * inspector/front-end/inspector.html: include the new script
3554         * inspector/front-end/WebKit.qrc: included the new inspector files
3555
3556 2009-09-27  Sam Weinig  <sam@webkit.org>
3557
3558         Reviewed by Dan Bernstein.
3559
3560         Fix for https://bugs.webkit.org/show_bug.cgi?id=29760
3561         Implement CSSOM Range.getClientRects/getBoundingClientRect 
3562
3563         Tests: fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport.html
3564                fast/dom/Range/getBoundingClientRect.html
3565                fast/dom/Range/getClientRects.html
3566
3567         * dom/Range.cpp:
3568         (WebCore::Range::getClientRects):
3569         (WebCore::Range::getBoundingClientRect):
3570         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoom):
3571         (WebCore::Range::getBorderAndTextQuads):
3572         * dom/Range.h:
3573         * dom/Range.idl:
3574         Implement Range.getClientRects/getBoundingClientRect.
3575
3576         * dom/Element.cpp:
3577         * rendering/RenderObject.h: 
3578         (WebCore::adjustForAbsoluteZoom):
3579         (WebCore::adjustIntRectForAbsoluteZoom):
3580         (WebCore::adjustFloatPointForAbsoluteZoom):
3581         (WebCore::adjustFloatQuadForAbsoluteZoom):
3582         Move point/quad adjustment methods from Element.cpp to RenderObject.h
3583         so that Range.cpp can use them as well.
3584
3585 2009-09-27  Simon Hausmann  <hausmann@webkit.org>
3586
3587         Unreviewed fix for WebInspector with Qt build.
3588
3589         Simply re-generate the Qt resource file by running
3590         WebKitTools/Scripts/generate-qt-inspector-resource
3591
3592         * inspector/front-end/WebKit.qrc:
3593
3594 2009-09-27  Pavel Feldman  <pfeldman@chromium.org>
3595
3596         Reviewed by nobody (trivial ChangeLog fix).
3597
3598         Restore WebCore/ChangeLog truncated in r48778.
3599
3600 2009-09-27  Pavel Feldman  <pfeldman@chromium.org>
3601
3602         Reviewed by Timothy Hatcher.
3603
3604         Web Inspector: DOM store is being unbound twice, leading to assertion failure.
3605
3606         https://bugs.webkit.org/show_bug.cgi?id=29770
3607
3608         * inspector/InspectorController.cpp:
3609         (WebCore::InspectorController::didOpenDatabase):
3610         (WebCore::InspectorController::didUseDOMStorage):
3611         * inspector/InspectorDOMStorageResource.cpp:
3612         (WebCore::InspectorDOMStorageResource::unbind):
3613
3614 2009-09-26  Pavel Feldman  <pfeldman@chromium.org>
3615
3616         Reviewed by Timothy Hatcher.
3617
3618         Web Inspector: Do not track DOM changes while inspector window is closed.
3619
3620         https://bugs.webkit.org/show_bug.cgi?id=29769
3621
3622         * inspector/InspectorController.cpp: