1 2009-10-05 Julie Parent <jparent@chromium.org>
3 Unreviewed, last Chromium build fix corresponding to revision 49113.
4 Add include for BeforeLoadEvent to DOMObjectsInclude.h.
6 * bindings/v8/DOMObjectsInclude.h:
8 2009-10-05 Simon Fraser <simon.fraser@apple.com>
12 * html/HTMLMediaElement.cpp:
14 2009-10-05 Simon Fraser <simon.fraser@apple.com>
16 Fix the build: MediaControllerThemeQT was renamed to MediaControllerThemeQuickTime.
18 * rendering/RenderThemeMac.mm:
19 (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
21 2009-10-05 Pierre d'Herbemont <pdherbemont@webkit.org>
23 Reviewed by Simon Fraser
25 Support fullscreen in MediaPlayer (Mac)
26 https://bugs.webkit.org/show_bug.cgi?id=26742
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.
33 * DerivedSources.make:
34 * WebCore.Video.exp: Added.
35 New export file for when VIDEO is enabled.
37 * WebCore.base.exp: Export WebCore::HTMLNames::videoTag
38 * WebCore.xcodeproj/project.pbxproj: New files
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
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.
56 * page/ChromeClient.h:
57 (WebCore::ChromeClient::supportsFullscreenForNode):
58 (WebCore::ChromeClient::enterFullscreenForNode):
59 (WebCore::ChromeClient::exitFullscreenForNode):
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.
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
83 2009-10-05 Kevin Decker <kdecker@apple.com>
85 Export a few more methods from Settings.h
87 Rubberstamped by Jon Honeycutt.
91 2009-10-05 Dmitry Titov <dimich@chromium.org>
93 Reviewed by Darin Adler.
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.
99 * bindings/js/ScriptCachedFrameData.cpp:
100 (WebCore::ScriptCachedFrameData::clear): Revert condition. Almost a typo.
102 2009-09-30 Kenneth Russell <kbr@google.com>
104 Reviewed by Darin Fisher.
106 Update platform-specific #ifdefs in GraphicsContext3D.h for the
108 https://bugs.webkit.org/show_bug.cgi?id=29936
110 * platform/graphics/GraphicsContext3D.h:
111 Changed #if PLATFORM(SKIA) to #if PLATFORM(CHROMIUM).
113 2009-10-05 Dan Bernstein <mitz@apple.com>
115 Reviewed by Darin Adler.
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
121 Test: fast/repaint/line-in-scrolled-clipped-block.html
123 * rendering/RenderBlock.cpp:
124 (WebCore::RenderBlock::layoutBlock): Use the unclipped overflow rect
125 (including layout overflow) for the repaint rect calculation.
127 2009-10-05 Drew Wilson <atwilson@google.com>
129 Reviewed by David Levin.
131 Chromium wants to turn off SharedWorkers at runtime
132 https://bugs.webkit.org/show_bug.cgi?id=29757
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().
143 2009-10-05 Hironori Bono <hbono@chromium.org>
145 Reviewed by Eric Seidel.
147 A super quick fix for Bug 28710.
149 https://bugs.webkit.org/show_bug.cgi?id=28710
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.)
155 Tests: editing/selection/select-crash-001.html
156 editing/selection/select-crash-002.html
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.
163 2009-10-05 Sam Weinig <sam@webkit.org>
165 Reviewed by Mark Rowe.
167 Silence duplicate errors logged for missing getComputedStyle
168 implementations. Improves the error message as well.
170 * css/CSSComputedStyleDeclaration.cpp:
171 (WebCore::logUnimplementedPropertyID):
172 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
174 2009-10-05 Julie Parent <jparent@chromium.org>
176 Unreviewed, Chromium build fix #3. Add V8BeforeLoadEvent.[cc|h] to derived sources.
178 * bindings/v8/DerivedSourcesAllInOne.cpp:
179 * bindings/v8/V8Index.cpp:
181 2009-10-05 Mark Rowe <mrowe@apple.com>
183 Try and fix the GTK build.
187 2009-10-05 Julie Parent <jparent@chromium.org>
189 Unreviewed, Chromium build fix #2. Add new BEFORELOADEVENT to V8ClassIndex.
191 * bindings/v8/V8Index.h:
193 2009-10-05 Julie Parent <jparent@chromium.org>
195 Unreviewed, Chromium build fix. Missing "," after entry for BeforeLoadEvent.idl.
199 2009-10-05 Dave Hyatt <hyatt@apple.com>
201 Reviewed by Sam Weinig.
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
207 * DerivedSources.cpp:
208 * DerivedSources.make:
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.
219 * page/DOMWindow.idl:
221 2009-10-05 Priit Laes <plaes@plaes.org>
223 Reviewed by Gustavo Noronha.
225 Add Gentoo-specific paths for searching browser plugins.
226 https://bugs.webkit.org/show_bug.cgi?id=30088
228 * plugins/PluginDatabase.cpp:
229 (WebCore::PluginDatabase::defaultPluginDirectories):
231 2009-10-02 Chris Marrin <cmarrin@apple.com>
233 Reviewed by Adele Peterson.
235 Add functionality to pause/throttle CSS transitions/animations in a WebView
236 https://bugs.webkit.org/show_bug.cgi?id=29942
238 Exporting call from AnimationController
242 2009-10-05 Kevin Decker <kdecker@apple.com>
244 Rubberstamped by Anders Carlsson.
246 * WebCore.base.exp: Update export of HaltablePlugin/PluginHalterClient.
247 * WebCore.xcodeproj/project.pbxproj: Likewise.
249 2009-10-05 Eric Seidel <eric@webkit.org>
251 No review, rolling out r49104.
252 http://trac.webkit.org/changeset/49104
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):
265 2009-10-05 Kent Tamura <tkent@chromium.org>
267 Reviewed by Eric Seidel.
269 Update style immediately when validation-related values are updated.
270 https://bugs.webkit.org/show_bug.cgi?id=28868
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)
279 Tests: fast/forms/input-live-pseudo-selectors.html
280 fast/forms/textarea-live-pseudo-selectors.html
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):
299 2009-10-05 Kent Tamura <tkent@chromium.org>
301 Reviewed by Darin Adler.
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
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
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):
328 2009-10-05 Kent Tamura <tkent@chromium.org>
330 Reviewed by Eric Seidel.
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).
340 https://bugs.webkit.org/show_bug.cgi?id=27794
342 Test: platform/mac/fast/forms/input-list-button-size.html
344 * css/CSSPrimitiveValueMappings.h:
345 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
346 * css/CSSSelector.cpp:
347 (WebCore::CSSSelector::extractPseudoType):
349 (WebCore::CSSSelector::):
350 * css/CSSStyleSelector.cpp:
351 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
352 * css/CSSValueKeywords.in:
354 * html/HTMLInputElement.cpp:
355 * platform/ThemeTypes.h:
357 * platform/mac/ThemeMac.mm:
358 (WebCore::listButtonSizes):
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:
375 2009-10-05 Brian Weinstein <bweinstein@apple.com>
377 Reviewed by Timothy Hatcher.
379 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30065>
380 nodeTitleInfo should be placed in ElementsTreeOutline.
382 Move nodeTitleInfo into ElementsTreeOutline.js from utilities.js.
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:
390 2009-10-02 Yael Aharon <yael.aharon@nokia.com>
392 Reviewed by Simon Hausmann.
394 [Qt] Inform the application when a new request is created
395 https://bugs.webkit.org/show_bug.cgi?id=29975
397 Emit a signal each time a request is created, with the request and the frame
400 * platform/network/qt/QNetworkReplyHandler.cpp:
401 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
402 (WebCore::QNetworkReplyHandler::start):
404 2009-10-05 Ben Murdoch <benm@google.com>
406 Reviewed by Darin Adler.
408 Add an ASSERT in updateGuidVersionMap.
409 https://bugs.webkit.org/show_bug.cgi?id=30077
411 * storage/Database.cpp:
412 (WebCore::updateGuidVersionMap): ASSERT that the guidMutex() is locked.
414 2009-10-05 Nate Chapin <japhet@chromium.org>
416 Reviewed by Eric Seidel.
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.
421 https://bugs.webkit.org/show_bug.cgi?id=30026
423 Part of the fix for Chromium's failure of LayouTests/plugins/netscape-throw-exception.html.
425 * bindings/v8/NPV8Object.cpp:
426 (_NPN_SetException): Don't suppress the exception if we can't find the relevant context.
428 2009-10-05 Mikhail Naganov <mnaganov@chromium.org>
430 Reviewed by Timothy Hatcher.
432 Place "Close" button in docked mode on the same side as the window "Close" button in detached mode.
434 https://bugs.webkit.org/show_bug.cgi?id=29961
436 * inspector/front-end/inspector.css:
437 * inspector/front-end/inspector.html:
438 * inspector/front-end/inspector.js:
439 (WebInspector.loaded):
441 2009-10-05 J-P Nurmi <jpnurmi@gmail.com>
443 Reviewed by Simon Hausmann.
445 [Qt] Added pure virtual QWebPageClient::pluginParent()
447 https://bugs.webkit.org/show_bug.cgi?id=29710
449 * platform/qt/QWebPageClient.h:
451 2009-10-05 Jakub Wieczorek <faw217@gmail.com>
453 Reviewed by Tor Arne Vestbø.
455 [Qt] windowsKeyCodeForKeyEvent() returns a wrong value for the F10 key.
456 https://bugs.webkit.org/show_bug.cgi?id=30042
458 * platform/qt/PlatformKeyboardEventQt.cpp:
459 (WebCore::windowsKeyCodeForKeyEvent):
461 2009-10-05 Fumitoshi Ukai <ukai@chromium.org>
463 Unreviewed build fix for ENABLE(WEB_SOCKETS) and v8.
465 V8ObjectEventListener.h has been removed at r48978
467 * bindings/v8/custom/V8WebSocketCustom.cpp:
469 2009-10-04 Pavel Feldman <pfeldman@chromium.org>
471 Reviewed by Timothy Hatcher.
473 Web Inspector console stops working while JS in IFRAME is paused.
475 https://bugs.webkit.org/show_bug.cgi?id=29958
477 * inspector/front-end/InjectedScript.js:
478 (InjectedScript._evaluateOn):
479 (InjectedScript.addInspectedNode):
480 (InjectedScript._ensureCommandLineAPIInstalled):
482 2009-10-04 Pavel Feldman <pfeldman@chromium.org>
484 Reviewed by Timothy Hatcher.
486 Web Inspector: Introduce inspected object groups for console
487 and watch evaluation results so that they could be released
490 https://bugs.webkit.org/show_bug.cgi?id=29891
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):
525 2009-10-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
527 Reviewed by Eric Carlson.
529 Move mediaControls extras for the Qt port into WebCore/css like other ports
531 https://bugs.webkit.org/show_bug.cgi?id=30013
535 * css/mediaControlsQt.css: Renamed from WebCore/css/qt/mediaControls-extras.css.
536 * platform/qt/RenderThemeQt.cpp:
537 (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
539 2009-10-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
541 Reviewed by Eric Carlson.
543 Rename WebCore/css/mediaControlsQT.css and MediaControllerThemeQT
545 https://bugs.webkit.org/show_bug.cgi?id=30013
547 The QT suffix has been expanded to QuickTime, to not cause confusion
548 and name-crashes with similar files in the Qt port.
550 * DerivedSources.make:
551 * WebCore.xcodeproj/project.pbxproj:
552 * css/mediaControlsQuickTime.css: Renamed from WebCore/css/mediaControlsQT.css.
553 * rendering/RenderThemeMac.mm:
555 (WebCore::mediaControllerTheme):
556 (WebCore::RenderThemeMac::adjustSliderThumbSize):
557 (WebCore::getUnzoomedRectAndAdjustCurrentContext):
558 (WebCore::RenderThemeMac::extraMediaControlsStyleSheet):
560 2009-10-04 Brian Weinstein <bweinstein@apple.com>
562 Reviewed by Timothy Hatcher.
564 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30064>
565 Syntax Highlighting CSS shouldn't be duplicated.
567 Refactor syntax highlighting CSS into a new file, add it to the
568 projects, and have SourceFrame.js and inspector.html include the
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:
580 2009-10-04 Brian Weinstein <bweinstein@apple.com>
582 Reviewed by Timothy Hatcher.
584 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30062>
585 Inspector should syntax highlight JS/CSS in elements view.
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
592 * inspector/front-end/inspector.css:
593 * inspector/front-end/utilities.js:
595 2009-10-04 Fumitoshi Ukai <ukai@chromium.org>
597 Reviewed by Eric Seidel
599 Enable Web Sockets in chromium build.
600 https://bugs.webkit.org/show_bug.cgi?id=29917
602 * WebCore.gyp/WebCore.gyp:
604 2009-10-04 Xan Lopez <xlopez@igalia.com>
606 Reviewed by Gustova Noronha.
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
611 Update the HTTP method in the request stored by willSendRequest
612 after a redirect, since it could have changed.
614 Test: http/tests/navigation/postredirect-reload.html
616 * platform/network/soup/ResourceHandleSoup.cpp:
617 (WebCore::restartedCallback):
619 2009-10-04 Xan Lopez <xlopez@igalia.com>
621 Revert previous patch, as the newly added test breaks other tests.
623 * platform/network/soup/ResourceHandleSoup.cpp:
624 (WebCore::restartedCallback):
626 2009-10-04 Xan Lopez <xlopez@igalia.com>
628 Reviewed by Gustova Noronha.
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
633 Update the HTTP method in the request stored by willSendRequest
634 after a redirect, since it could have changed.
636 Test: http/tests/navigation/postredirect-reload.html
638 * platform/network/soup/ResourceHandleSoup.cpp:
639 (WebCore::restartedCallback):
641 2009-10-04 Vitaly Repeshko <vitalyr@chromium.org>
643 Reviewed by Adam Barth.
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
652 https://bugs.webkit.org/show_bug.cgi?id=30060
654 Added new hidden property name to store toString result:
655 * bindings/v8/V8HiddenPropertyName.cpp:
656 * bindings/v8/V8HiddenPropertyName.h:
658 Switched to static FunctionTemplate:
659 * bindings/v8/V8LazyEventListener.cpp:
660 (WebCore::V8LazyEventListenerToString):
661 (WebCore::V8LazyEventListener::prepareListenerObject):
663 2009-10-03 Joseph Pecoraro <joepeck@webkit.org>
665 Reviewed by Timothy Hatcher.
667 CSS Source View Should be Syntax Highlighted
668 https://bugs.webkit.org/show_bug.cgi?id=14359
670 Support for WebKit's CSS Variables @variables and var()
672 * inspector/front-end/SourceFrame.js:
673 (WebInspector.CSSSourceSyntaxHighligher):
675 2009-10-03 Joseph Pecoraro <joepeck@webkit.org>
677 Reviewed by Timothy Hatcher.
679 Inspector should remember preferences for docked/undocked etc
680 https://bugs.webkit.org/show_bug.cgi?id=29089
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):
688 2009-10-03 Joseph Pecoraro <joepeck@webkit.org>
690 Reviewed by Timothy Hatcher.
692 CSS Source View Should be Syntax Highlighted
693 https://bugs.webkit.org/show_bug.cgi?id=14359
695 Trigger the Syntax Highlighter for CSS files.
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):
703 Factored out the Syntax Highlighting procedure into a "Class"
704 Added CSSSourceSyntaxHighlighter and JavaScriptSourceSyntaxHighlighter
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
713 2009-10-03 Adam Barth <abarth@webkit.org>
715 Reviewed by Sam Weinig.
717 Factor back-forward list methods out of FrameLoader
718 https://bugs.webkit.org/show_bug.cgi?id=30037
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.
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):
733 (WebCore::History::length):
735 (WebCore::Page::canGoBackOrForward):
736 (WebCore::Page::goBackOrForward):
737 (WebCore::Page::getHistoryLength):
739 * platform/ContextMenu.cpp:
740 (WebCore::ContextMenu::populate):
741 (WebCore::ContextMenu::checkOrEnableIfNeeded):
743 2009-10-02 Pavel Feldman <pfeldman@chromium.org>
745 Reviewed by Timothy Hatcher.
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.
751 https://bugs.webkit.org/show_bug.cgi?id=30008
753 * WebCore.Inspector.exp:
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):
770 2009-10-02 Pavel Feldman <pfeldman@chromium.org>
772 Reviewed by Timothy Hatcher.
774 Web Inspector: Node search mode is not getting reset on element selection.
776 https://bugs.webkit.org/show_bug.cgi?id=30016
778 * inspector/front-end/ElementsPanel.js:
779 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
781 2009-10-02 Brian Weinstein <bweinstein@apple.com>
783 Reviewed by Timothy Hatcher.
785 Fixes <https://bugs.webkit.org/show_bug.cgi?id=30036>
786 Should be able to resize Cookie Columns.
788 * inspector/front-end/CookieItemsView.js:
789 (WebInspector.CookieItemsView.prototype.update.callback):
790 (WebInspector.CookieItemsView.prototype.update):
791 (WebInspector.CookieItemsView.prototype.resize):
793 2009-09-25 Jon Honeycutt <jhoneycutt@apple.com>
795 Make WebCore::PluginView participate in plug-in halting.
797 Reviewed by Sam Weinig.
799 * platform/graphics/BitmapImage.h:
800 Declare a create() function that takes an HBITMAP.
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.
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):
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
823 * plugins/PluginViewNone.cpp:
824 (WebCore::PluginView::halt):
826 (WebCore::PluginView::restart):
829 * plugins/gtk/PluginViewGtk.cpp:
830 (WebCore::PluginView::halt):
832 (WebCore::PluginView::restart):
835 * plugins/mac/PluginViewMac.cpp:
836 (WebCore::PluginView::halt):
838 (WebCore::PluginView::restart):
841 * plugins/qt/PluginViewQt.cpp:
842 (WebCore::PluginView::halt):
844 (WebCore::PluginView::restart):
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.
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.
864 * rendering/RenderWidget.h:
865 Declare showSubstituteImage(). Added a member to store the substitute
868 2009-10-02 Adam Barth <abarth@webkit.org>
870 Reviewed by Darin Adler.
872 Move PolicyCheck out of FrameLoader.{h,cpp}
873 https://bugs.webkit.org/show_bug.cgi?id=30035
875 Purely code motion (and adding a destructor).
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:
887 2009-10-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
889 Reviewed by Tor Arne Vestbø.
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
896 (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
897 (WebCore::PluginPackage::load):
899 2009-10-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
901 Reviewed by Tor Arne Vestbø.
903 [Qt] X sync our XEmbed container window creation before sending the
905 https://bugs.webkit.org/show_bug.cgi?id=25053
907 * plugins/qt/PluginViewQt.cpp:
908 (WebCore::PluginView::setNPWindowIfNeeded):
910 2009-10-02 Simon Fraser <simon.fraser@apple.com>
912 Reviewed by Dan Bernstein.
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
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.
922 Test: compositing/geometry/clipped-video-controller.html
924 * rendering/RenderLayer.cpp:
925 (WebCore::compositingContainer):
926 (WebCore::RenderLayer::enclosingCompositingLayer):
927 * rendering/RenderLayerCompositor.cpp:
928 (WebCore::RenderLayerCompositor::setCompositingParent):
930 2009-10-02 Kent Tamura <tkent@chromium.org>
932 Reviewed by Eric Seidel.
934 - Move the following methods of HTMLInputElement and HTMLTextAreaElement
935 to HTMLTextFormControlElement.
944 - Introduce cachedSelectionStart() and cachedSelectionEnd().
946 - Unify HTMLInputElement::isTextFieldWithRenderer() and
947 HTMLTextAreaElement::rendererAfterUpdateLayout() into textRendererAfterUpdateLayout().
949 - Unify a part of parseMappedAttribute() of HTMLInputElement and HTMLTextAreaElement.
951 https://bugs.webkit.org/show_bug.cgi?id=29782
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):
976 2009-10-02 Vitaly Repeshko <vitalyr@chromium.org>
978 Reviewed by Dimitri Glazkov.
980 [V8] Disconnect event listeners on navigation.
981 Fixes http://crbug.com/23597.
982 https://bugs.webkit.org/show_bug.cgi?id=30027
984 Added V8ListenerGuard that is shared by listeners and proxy. On
985 navigation proxy sets a flag in the guard turning off listeners.
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):
1022 2009-10-02 Kenneth Russell <kbr@google.com>
1024 Reviewed by Dimitri Glazkov.
1026 [chromium] Fix WebGL build after CustomGetter constructor changes
1027 https://bugs.webkit.org/show_bug.cgi?id=30020
1029 * page/DOMWindow.idl:
1030 Changed CustomGetter to JSCCustomGetter for CanvasArray constructors.
1032 2009-10-02 Patrick Mueller <Patrick_Mueller@us.ibm.com>
1034 Reviewed by Timothy Hatcher.
1036 Web Inspector: text in a "Request Payload" section disappears on selection
1037 https://bugs.webkit.org/show_bug.cgi?id=29967
1041 * inspector/front-end/ResourceView.js:
1042 (WebInspector.ResourceView.prototype._refreshRequestPayload):
1044 2009-10-02 Vitaly Repeshko <vitalyr@chromium.org>
1046 Reviewed by Dimitri Glazkov.
1048 [V8] Recursion guard for V8Proxy::callFunction.
1049 Fixes http://crbug.com/23278.
1050 https://bugs.webkit.org/show_bug.cgi?id=29974
1052 Test: fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html
1054 * bindings/v8/V8Proxy.cpp:
1055 (WebCore::V8Proxy::callFunction):
1057 2009-10-02 Brian Weinstein <bweinstein@apple.com>
1059 Reviewed by Jon Honeycutt.
1061 Fix test breakages by adding null checks, and putting inspector code in
1065 (WebCore::Document::finishedParsing):
1066 * page/DOMWindow.cpp:
1067 (WebCore::DOMWindow::dispatchLoadEvent):
1069 2009-10-02 Kenneth Rohde Christiansen <kenneth@webkit.org>
1071 Reviewed by Simon Hausmann.
1073 Clean up the QNetworkReplyHandler to only apply HTTP headers
1074 for protocols in the HTTP family.
1076 * platform/network/qt/QNetworkReplyHandler.cpp:
1077 (WebCore::QNetworkReplyHandler::finish):
1078 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1080 2009-10-02 Kenneth Rohde Christiansen <kenneth@webkit.org>
1082 Reviewed by Simon Hausmann.
1084 Move error check into sendResponseIfNeeded() as suggested
1085 by Eric Seidel. Also, remove some dead code.
1087 * platform/network/qt/QNetworkReplyHandler.cpp:
1088 (WebCore::QNetworkReplyHandler::finish):
1089 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1091 2009-10-02 Enrica Casucci <enrica@apple.com>
1093 Reviewed by Adele Peterson.
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
1099 Test: editing/selection/replace-selection-crash.html
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.
1105 2009-10-02 Jeremy Orlow <jorlow@chromium.org>
1107 Reviewed by Dimitri Glazkov.
1109 Implement per-storage-area quotas for LocalStorage
1110 https://bugs.webkit.org/show_bug.cgi?id=29991
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.
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.)
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).
1134 Test: storage/domstorage/localstorage/quota.html
1136 * page/PageGroup.cpp:
1137 (WebCore::PageGroup::localStorage):
1138 * page/Settings.cpp:
1139 (WebCore::Settings::Settings):
1140 (WebCore::Settings::setLocalStorageQuota):
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:
1169 2009-10-02 Joseph Pecoraro <joepeck@webkit.org>
1171 Reviewed by Timothy Hatcher.
1173 Database Inspector crashes Safari when table has more than 21 columns
1174 https://bugs.webkit.org/show_bug.cgi?id=29924
1176 * inspector/front-end/StoragePanel.js:
1177 (WebInspector.StoragePanel.prototype.dataGridForResult): adjust the minimum column width percentage to be flexible for many columns.
1179 2009-10-02 Brian Weinstein <bweinstein@apple.com>
1181 Reviewed by Timothy Hatcher.
1183 Fixes <http://webkit.org/b/14370>.
1184 Inspector's timeline should record when certain DOM events fired.
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).
1192 * English.lproj/localizedStrings.js: Added tooltip text.
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.
1219 2009-10-02 Dave Hyatt <hyatt@apple.com>
1221 Reviewed by Adam Roben.
1223 Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.
1227 (WebCore::Document::pageGroupUserSheets):
1229 (WebCore::Frame::injectUserScriptsForWorld):
1230 * page/PageGroup.cpp:
1231 (WebCore::PageGroup::addUserScript):
1232 (WebCore::PageGroup::addUserStyleSheet):
1233 (WebCore::PageGroup::removeUserContentWithURLForWorld):
1234 (WebCore::PageGroup::removeUserContentForWorld):
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):
1248 2009-10-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1250 Reviewed by Darin Adler.
1252 Build fix when SVG is not enabled
1253 https://bugs.webkit.org/show_bug.cgi?id=30011
1255 Move TextRenderingMode related functions out from
1256 the ENABLE(SVG) guard.
1258 * css/CSSPrimitiveValueMappings.h:
1259 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1260 (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
1262 2009-10-02 Kenneth Russell <kbr@google.com>
1264 Reviewed by Oliver Hunt.
1266 WebGL crashes with recent CanvasArray change
1267 https://bugs.webkit.org/show_bug.cgi?id=30018
1269 Test: fast/canvas/webgl/array-unit-tests.html
1271 * html/canvas/CanvasArray.cpp:
1272 (WebCore::CanvasArray::CanvasArray):
1273 Fix bug where PassRefPtr was tested after transferring value to RefPtr.
1275 2009-10-02 Steve Falkenburg <sfalken@apple.com>
1277 Reviewed by Mark Rowe.
1279 <https://bugs.webkit.org/show_bug.cgi?id=29989>
1280 Safari version number shouldn't be exposed in WebKit code
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)
1286 * WebCore.vcproj/QTMovieWin.rc:
1288 2009-10-02 Stephen White <senorblanco@chromium.org>
1290 Reviewed by Dimitri Glazkov.
1292 Enable two point radial gradients in Chromium/Skia.
1294 https://bugs.webkit.org/show_bug.cgi?id=30017
1296 Covered by the following tests:
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
1303 * platform/graphics/skia/GradientSkia.cpp:
1304 (WebCore::Gradient::platformGradient):
1306 2009-10-02 Norbert Leser <norbert.leser@nokia.com>
1308 Reviewed by Simon Hausmann.
1310 Conditionally guard cursor code (cursor and updateCursor functions) with !QT_NO_CURSOR.
1311 Otherwise, it is inconsistent with class declaration of QCursor.
1315 * platform/qt/QWebPageClient.h:
1317 2009-10-02 Philippe Normand <pnormand@igalia.com>
1319 Reviewed by Gustavo Noronha.
1321 [GTK] missing support for anamorphic PAR video size
1322 https://bugs.webkit.org/show_bug.cgi?id=29717
1324 cleanup of caps handling in the video sink
1326 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
1327 (webkit_video_sink_set_caps):
1329 2009-10-02 Prasanth Ullattil <prasanth.ullattil@nokia.com>
1331 Reviewed by Simon Hausmann.
1333 Fix compiler warnings about unused function arguments.
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):
1397 2009-10-02 Ben Murdoch <benm@google.com>
1399 Reviewed by David Kilzer.
1401 Stale database version persists through browser refresh (changeVersion doesn't work)
1402 https://bugs.webkit.org/show_bug.cgi?id=27836
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
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):
1416 2009-10-02 Philippe Normand <pnormand@igalia.com>
1418 Reviewed by Gustavo Noronha.
1420 [GTK] missing support for anamorphic PAR video size
1421 https://bugs.webkit.org/show_bug.cgi?id=29717
1423 Tests: storage/change-version-handle-reuse.html
1424 storage/change-version.html
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.
1437 2009-10-02 Janne Koskinen <janne.p.koskinen@digia.com>
1439 Reviewed by Simon Hausmann.
1441 Partial WINSCW build fix.
1443 Add parentheses around the function pointer declaration, similar to the
1444 second hunk in r48825.
1446 * loader/CachedResourceHandle.h:
1448 2009-10-02 Adam Barth <abarth@webkit.org>
1450 Unreviewed attempted build fix by Xcode magic.
1452 * WebCore.xcodeproj/project.pbxproj:
1454 2009-10-02 Adam Barth <abarth@webkit.org>
1456 Unreviewed build fix. Actually add the new files.
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.
1478 2009-10-01 Adam Barth <abarth@webkit.org>
1480 Reviewed by Darin Adler.
1482 Move RedirectScheduler to its own file
1483 https://bugs.webkit.org/show_bug.cgi?id=29952
1485 This change is purely code motion.
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.
1517 2009-10-02 Dave MacLachlan <dmaclach@gmail.com>
1519 Reviewed by David Levin.
1521 Clean up warnings in WebCore/bindings/v8/npruntime.cpp
1522 https://bugs.webkit.org/show_bug.cgi?id=29971
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
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
1536 * bindings/v8/npruntime.cpp:
1538 2009-10-01 Mark Rowe <mrowe@apple.com>
1540 Fix the Tiger build. Don't unconditionally enable 3D canvas as it is not supported on Tiger.
1542 * Configurations/FeatureDefines.xcconfig:
1544 2009-10-01 Chris Marrin <cmarrin@apple.com>
1546 Reviewed by Oliver Hunt.
1548 Turn on ENABLE_3D_CANVAS in TOT
1549 https://bugs.webkit.org/show_bug.cgi?id=29906
1551 Fixed a bug found when running tests with flag on
1553 * Configurations/FeatureDefines.xcconfig:
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):
1579 (WebCore::Settings::webGLEnabled):
1581 2009-10-01 Beth Dakin <bdakin@apple.com>
1583 Reviewed by Dan Bernstein.
1585 Fix for <rdar://problem/7264725> Re-add a vendor prefix to box-
1588 https://bugs.webkit.org/show_bug.cgi?id=29927
1590 * css/CSSComputedStyleDeclaration.cpp:
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):
1606 2009-10-01 Beth Dakin <bdakin@apple.com>
1608 Rubber-stamped by Sam Weinig.
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!
1614 * WebCore.xcodeproj/project.pbxproj:
1616 2009-09-30 Adam Barth <abarth@webkit.org>
1618 Reviewed by Darin Adler.
1620 Remove FrameLoader::schedule* APIs
1621 https://bugs.webkit.org/show_bug.cgi?id=29950
1623 Change clients of FrameLoader::schedule* to call redirectScheduler
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):
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):
1657 (WebCore::History::back):
1658 (WebCore::History::forward):
1659 (WebCore::History::go):
1661 2009-10-01 Beth Dakin <bdakin@apple.com>
1663 Just removing a comment I accidentally committed earlier.
1665 * platform/graphics/mac/SimpleFontDataMac.mm:
1666 (WebCore::SimpleFontData::getCFStringAttributes):
1668 2009-09-30 Jeremy Orlow <jorlow@chromium.org>
1670 Reviewed by Darin Adler.
1672 Clean up use of const and mutable in StorageMap
1673 https://bugs.webkit.org/show_bug.cgi?id=29933
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.
1678 * storage/StorageMap.cpp:
1679 (WebCore::StorageMap::setIteratorToIndex):
1680 (WebCore::StorageMap::key):
1681 (WebCore::StorageMap::importItem):
1682 * storage/StorageMap.h:
1684 2009-10-01 Beth Dakin <bdakin@apple.com>
1686 Reviewed by Dave Hyatt.
1688 Fix for <rdar://problem/6934421> Support CSS for Text Kerning and
1691 https://bugs.webkit.org/show_bug.cgi?id=6136
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:
1699 auto = optimizeSpeed = what we normally when the value's not set
1700 optimizeLegibility = geometricPrecision = ligatures + kerning
1702 Add new file TextRenderingMode.h to the project files.
1703 * WebCore.vcproj/WebCore.vcproj:
1704 * WebCore.xcodeproj/project.pbxproj:
1706 CSS support for the new CSSPropertyTextRendering
1707 * css/CSSComputedStyleDeclaration.cpp:
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:
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:
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==):
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):
1743 Now takes a TextRenderingMode as a parameter.
1744 * platform/graphics/SimpleFontData.h:
1746 New header for the enum.
1747 * platform/graphics/TextRenderingMode.h: Added.
1750 getCFStringAttributes() now takes a TextRenderingMode as an
1752 * platform/graphics/mac/CoreTextController.cpp:
1753 (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
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):
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:
1771 2009-10-01 Yury Semikhatsky <yurys@chromium.org>
1773 Reviewed by Timothy Hatcher.
1775 Use isClosure property of scope proxy to decide whether the
1778 https://bugs.webkit.org/show_bug.cgi?id=29965
1780 * inspector/front-end/ScopeChainSidebarPane.js:
1781 (WebInspector.ScopeChainSidebarPane.prototype.update):
1783 2009-10-01 Simon Fraser <simon.fraser@apple.com>
1785 Reviewed by Dave Hyatt.
1787 Odd color transitions on anchors with transition-property: all
1788 https://bugs.webkit.org/show_bug.cgi?id=29911
1790 When transitioning maybe-invalid colors, if the source and destination
1791 color are both invalid, then don't animate.
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
1800 Test: transitions/color-transition-all.html
1802 * page/animation/AnimationBase.cpp:
1803 (WebCore::PropertyWrapperMaybeInvalidColor::equals):
1804 (WebCore::PropertyWrapperMaybeInvalidColor::blend):
1806 2009-10-01 Victor Wang <victorw@chromium.org>
1808 Reviewed by Oliver Hunt.
1810 Allow dragging a node who has child nodes.
1812 https://bugs.webkit.org/show_bug.cgi?id=28632
1814 Test: fast/events/drag-parent-node.html
1816 * page/EventHandler.cpp:
1817 (WebCore::EventHandler::shouldDragAutoNode):
1819 2009-10-01 Philippe Normand <pnormand@igalia.com>
1821 Reviewed by Gustavo Noronha.
1823 [GTK] media player: better mute support
1824 https://bugs.webkit.org/show_bug.cgi?id=29960
1826 Handle volume and mute state with the two corresponding properties
1829 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1830 (WebCore::MediaPlayerPrivate::setMuted):
1831 (WebCore::MediaPlayerPrivate::setVolume):
1833 2009-10-01 Philippe Normand <pnormand@igalia.com>
1835 Reviewed by Gustavo Noronha.
1837 [GTK] video sink pad template colorspace is wrong
1838 https://bugs.webkit.org/show_bug.cgi?id=29953
1840 Set sink pad template colorspace depending on byte order.
1842 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
1843 (webkit_video_sink_idle_func):
1845 2009-10-01 Vitaly Repeshko <vitalyr@chromium.org>
1847 Reviewed by Dimitri Glazkov.
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
1864 * WebCore.gypi: Removed "Object" listeners.
1865 * bindings/scripts/CodeGeneratorV8.pm: Now handles event accessors.
1866 * bindings/v8/DOMObjectsInclude.h:
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):
1888 Grouped getEventListener functions:
1889 * bindings/v8/V8DOMWrapper.cpp:
1890 (WebCore::V8DOMWrapper::getTemplate):
1891 (WebCore::V8DOMWrapper::getEventListener):
1892 * bindings/v8/V8DOMWrapper.h:
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):
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:
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:
1963 2009-10-01 Alexis Menard <alexis.menard@nokia.com>
1965 Reviewed by Tor Arne Vestbø.
1967 Rename QWebGraphicsItem to QGraphicsWebView
1971 2009-10-01 Dumitru Daniliuc <dumi@chromium.org>
1973 Reviewed by Dimitri Glazkov.
1975 Read-only transactions do not change file sizes and therefore
1976 should not trigger quota updates.
1978 https://bugs.webkit.org/show_bug.cgi?id=29945
1980 * storage/SQLTransaction.cpp:
1981 (WebCore::SQLTransaction::openTransactionAndPreflight):
1982 (WebCore::SQLTransaction::runStatements):
1984 2009-09-30 Timothy Hatcher <timothy@apple.com>
1986 Fix list box scrolling by correctly overriding the scroll()
1987 function on RenderBox.
1989 <rdar://problem/7255440> REGRESSION (r48683): Mousewheel scrolling
1990 of listboxes is broken (29756)
1992 Reviewed by Dan Bernstein.
1994 * rendering/RenderListBox.cpp:
1995 (WebCore::RenderListBox::scroll):
1996 * rendering/RenderListBox.h:
1997 * rendering/RenderTextControlSingleLine.cpp:
1998 (WebCore::RenderTextControlSingleLine::scroll):
1999 * rendering/RenderTextControlSingleLine.h:
2001 2009-10-01 Yury Semikhatsky <yurys@chromium.org>
2003 Reviewed by Timothy Hatcher.
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.
2009 https://bugs.webkit.org/show_bug.cgi?id=29920
2011 * inspector/front-end/Object.js:
2012 (WebInspector.Object.prototype.dispatchEventToListeners): make a copy of listeners array before dispatching an event
2014 2009-10-01 Martin Robinson <martin.james.robinson@gmail.com>
2016 Reviewed by Xan Lopez.
2018 [GTK] GtkIMContext filtering interferes with DOM key events
2019 https://bugs.webkit.org/show_bug.cgi?id=28733
2021 Ensure that keyboard events filtered by the GtkIMContext still create
2022 the proper DOM events.
2024 No tests added. Instead previously skipped tests have been enabled.
2026 * platform/gtk/KeyEventGtk.cpp:
2027 (WebCore::keyIdentifierForGdkKeyCode):
2028 (WebCore::singleCharacterString):
2030 2009-10-01 Philippe Normand <pnormand@igalia.com>
2032 Reviewed by Xan Lopez.
2034 [GTK] data: uri support in media player
2035 https://bugs.webkit.org/show_bug.cgi?id=29842
2037 New GStreamer element to handle data: uris. For now only base64
2038 encoded data is supported. Decoded data is handed over to
2042 * platform/graphics/gtk/DataSourceGStreamer.cpp: Added.
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):
2060 2009-09-30 Daniel Bates <dbates@webkit.org>
2062 Reviewed by Adam Barth.
2064 https://bugs.webkit.org/show_bug.cgi?id=29944
2066 Reduces false positives in the XSSAuditor by explicitly allowing requests
2067 that do not contain illegal URI characters.
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.
2075 Tests: http/tests/security/xssAuditor/script-tag-safe2.html
2076 http/tests/security/xssAuditor/script-tag-safe3.html
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:
2086 2009-09-30 Oliver Hunt <oliver@apple.com>
2088 Reviewed by Maciej Stachowiak.
2090 reproducible freeze and crash on closing form popup at bosch-home.nl
2091 https://bugs.webkit.org/show_bug.cgi?id=28948
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.
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.
2100 * bindings/js/JSDOMWindowCustom.cpp:
2101 (WebCore::JSDOMWindow::showModalDialog):
2102 * manual-tests/showModalDialog-returnValue.html: manual testcase.
2104 2009-09-30 Kent Tamura <tkent@chromium.org>
2106 Reviewed by Darin Adler.
2108 Adds ValidityState.tooLong support for <input> and <textarea>.
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.
2116 Renames parameter names of setMaxLength().
2118 https://bugs.webkit.org/show_bug.cgi?id=27454
2120 Tests: fast/forms/ValidityState-tooLong-input.html
2121 fast/forms/ValidityState-tooLong-textarea.html
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):
2139 2009-09-30 Adam Barth <abarth@webkit.org>
2141 Reviewed by Maciej Stachowiak.
2143 Factor RedirectScheduler out of FrameLoader
2144 https://bugs.webkit.org/show_bug.cgi?id=29948
2146 This change introduces a new sub-object of Frame, redirectScheduler.
2147 The redirectScheduler is responsible for scheduling redirects.
2149 This change leaves the code for the redirectScheduler in
2150 FrameLoader.cpp. A future change will move the class into its own
2153 No behavior change (hopefully!).
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):
2191 (WebCore::Frame::Frame):
2192 (WebCore::Frame::redirectScheduler):
2195 2009-09-30 Maciej Stachowiak <mjs@apple.com>
2197 Build fix, not reviewed.
2199 More Windows build fixes for https://bugs.webkit.org/show_bug.cgi?id=29943
2201 * platform/network/cf/ResourceHandleCFNet.cpp:
2202 (WebCore::willSendRequest):
2204 2009-09-30 Maciej Stachowiak <mjs@apple.com>
2206 Build fix, not reviewed.
2208 Fix windows build for fix for https://bugs.webkit.org/show_bug.cgi?id=29943
2210 * platform/network/cf/ResourceHandleCFNet.cpp:
2211 (WebCore::willSendRequest):
2213 2009-09-30 Dimitri Glazkov <dglazkov@chromium.org>
2215 Reviewed by Darin Fisher.
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
2221 Test: fast/dom/dom-constructor.html
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.
2243 2009-09-30 Maciej Stachowiak <mjs@apple.com>
2245 Reviewed by Brady Eidson.
2247 307 redirects should pass along http body and Content-Type header
2248 https://bugs.webkit.org/show_bug.cgi?id=29943
2251 <rdar://problem/3802660> SAP: 307 (Temporary Redirect) responses should use POST, not GET
2253 Test: http/tests/loading/resources/redirect-methods-result.php
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
2260 2009-09-30 Geoffrey Garen <ggaren@apple.com>
2262 Reviewed by Mark Rowe.
2264 Fixed https://bugs.webkit.org/show_bug.cgi?id=29941
2265 REGRESSION (r48882-r48888): Many memory leaks on SnowLeopard leaks bot
2267 Forgot to implement a destructor for JSDOMWindowBaseData, so it was
2268 leaking its RefPtr data member.
2270 * bindings/js/JSDOMWindowBase.cpp:
2271 (WebCore::JSDOMWindowBase::destroyJSDOMWindowBaseData):
2272 * bindings/js/JSDOMWindowBase.h:
2273 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData::JSDOMWindowBaseData):
2275 2009-09-30 Dave Hyatt <hyatt@apple.com>
2277 Reviewed by Tim Hatcher.
2279 Make sure the removal of user stylesheets results in all of the WebViews being updated to
2280 reflect the changes.
2282 * page/PageGroup.cpp:
2283 (WebCore::PageGroup::removeUserContentWithURLForWorld):
2284 (WebCore::PageGroup::removeUserContentForWorld):
2286 2009-09-30 Dan Bernstein <mitz@apple.com>
2288 Reviewed by Sam Weinig.
2290 REGRESSION(r47440): drop down menus at americanexpress.com disappear on mouse out
2291 https://bugs.webkit.org/show_bug.cgi?id=29209
2293 Test: fast/inline/relative-positioned-overflow.html
2295 * rendering/InlineFlowBox.cpp:
2296 (WebCore::InlineFlowBox::computeVerticalOverflow): Add self-painting
2297 inlines to overflow to ensure that they are included in hit-testing.
2299 2009-09-30 Simon Fraser <simon.fraser@apple.com>
2301 Reviewed by Mark Rowe.
2303 transforms/3d tests are not run in Release builds
2304 https://bugs.webkit.org/show_bug.cgi?id=29827
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.
2310 * DerivedSources.make:
2311 * WebCore.3DRendering.exp: Added.
2312 * WebCore.xcodeproj/project.pbxproj:
2314 2009-09-30 Jeremy Orlow <jorlow@chromium.org>
2316 Build fix for QT. Didn't know WebCore.pro existed.
2320 2009-09-30 Dave Hyatt <hyatt@apple.com>
2322 Reviewed by Adam Roben.
2324 Add a method for removal of user scripts and stylesheets by URL from a specific world.
2326 * page/PageGroup.cpp:
2327 (WebCore::PageGroup::removeUserContentURLForWorld):
2330 2009-09-30 Chris Hawk <hawk@chromium.org>
2332 Reviewed by Dimitri Glazkov.
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
2339 * WebCore.gyp/WebCore.gyp:
2341 2009-09-21 Jeremy Orlow <jorlow@chromium.org>
2343 Reviewed by Adam Barth.
2345 DOM Storage needs to be more careful about where "ThreadSafe" objects are destroyed.
2346 https://bugs.webkit.org/show_bug.cgi?id=29265
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.
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.
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.
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
2377 Behavior should be unchanged and this is just an internal code cleanup, so no
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:
2405 2009-09-28 Jeremy Orlow <jorlow@chromium.org>
2407 Reviewed by Darin Fisher.
2409 Chromium needs to be able to override the way storage events are delivered
2410 https://bugs.webkit.org/show_bug.cgi?id=29655
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*.
2418 Behavior should not change with this, so no updates to tests.
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.)
2434 2009-09-30 Jian Li <jianli@chromium.org>
2436 Reviewed by Darin Adler.
2438 Need to check NULL frame in EventHandler::updateDragAndDrop.
2439 https://bugs.webkit.org/show_bug.cgi?id=29929
2441 Test: http/tests/misc/drag-over-iframe-invalid-source-crash.html
2443 * page/EventHandler.cpp:
2444 (WebCore::EventHandler::updateDragAndDrop):
2446 2009-09-29 Simon Fraser <simon.fraser@apple.com>
2448 Reviewed by Dan Bernstein.
2450 ASSERTION FAILED: !repaintContainer || repaintContainer == this
2451 https://bugs.webkit.org/show_bug.cgi?id=29755
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
2457 Test: compositing/repaint/opacity-between-absolute2.html
2459 * rendering/RenderBox.cpp:
2460 (WebCore::RenderBox::mapLocalToContainer):
2461 Call offsetFromAncestorContainer() to get the correct offset.
2463 (WebCore::RenderBox::computeRectForRepaint): Ditto
2464 * rendering/RenderInline.cpp:
2465 (WebCore::RenderInline::computeRectForRepaint): Ditto.
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.
2472 2009-09-30 Andras Becsi <becsi.andras@stud.u-szeged.hu>
2474 Reviewed by Simon Hausmann.
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.
2479 * platform/text/qt/TextCodecQt.cpp:
2480 (WebCore::TextCodecQt::decode):
2482 2009-09-29 Dave Hyatt <hyatt@apple.com>
2484 Reviewed by Jon Honeycutt.
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.
2489 * loader/FrameLoader.cpp:
2490 (WebCore::FrameLoader::begin):
2491 * page/UserContentURLPattern.cpp:
2492 (WebCore::UserContentURLPattern::parse):
2494 2009-09-29 Alexey Proskuryakov <ap@apple.com>
2496 Rubber-stamped by Brady Eidson.
2498 Assertion failure in http/tests/xmlhttprequest/failed-auth.html.
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.
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).
2511 2009-09-29 Yong Li <yong.li@torchmobile.com>
2513 Reviewed by Darin Adler.
2515 Add an ASSERT for UTF8Encoding().isValid()
2516 https://bugs.webkit.org/show_bug.cgi?id=29908
2518 * platform/text/TextEncoding.cpp:
2519 (WebCore::UTF8Encoding):
2521 2009-09-29 Dave Hyatt <hyatt@apple.com>
2523 Reviewed by Jon Honeycutt.
2525 https://bugs.webkit.org/show_bug.cgi?id=29892
2526 Add support for whitelist patterns to control conditional injection of user scripts and
2529 No new tests. Not testable until WebKit portion is added in followup patch.
2534 * WebCore.vcproj/WebCore.vcproj:
2535 * WebCore.xcodeproj/project.pbxproj:
2537 (WebCore::Document::pageGroupUserSheets):
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):
2559 2009-09-29 Enrica Casucci <enrica@apple.com>
2561 Reviewed by Adele Peterson.
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.
2572 Test: editing/selection/blockquote-crash.html
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.
2581 2009-09-29 Alexey Proskuryakov <ap@apple.com>
2583 Reviewed by Brady Eidson.
2585 Basic authentication credentials are not sent automatically to top resources
2586 https://bugs.webkit.org/show_bug.cgi?id=29901
2588 No new tests - I don't want to pollute root directory of http tests to check for this rather
2591 * platform/network/CredentialStorage.cpp:
2592 (WebCore::CredentialStorage::set): Changed to always preserve leading slash.
2593 (WebCore::CredentialStorage::getDefaultAuthenticationCredential): Made breaking out of the
2596 2009-09-29 Pavel Feldman <pfeldman@chromium.org>
2598 Reviewed by Oliver Hunt.
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.
2604 https://bugs.webkit.org/show_bug.cgi?id=29897
2606 * inspector/front-end/ProfilesPanel.js:
2607 (WebInspector.ProfilesPanel.prototype._populateProfiles):
2609 2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
2611 Rubberstamped by David Hyatt.
2613 Fix to logic of earlier commit 48902.
2615 When merging two if's before committing, I forgot to invert the
2618 * platform/network/qt/QNetworkReplyHandler.cpp:
2619 (WebCore::ignoreHttpError):
2621 2009-09-29 Stephen White <senorblanco@chromium.org>
2623 Unreviewed, build fix.
2625 Fixing Chromium build, following r48884.
2627 [https://bugs.webkit.org/show_bug.cgi?id=29894]
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:
2636 2009-09-29 Kent Tamura <tkent@chromium.org>
2638 Reviewed by Darin Adler.
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
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:
2658 2009-09-29 Dimitri Glazkov <dglazkov@chromium.org>
2660 No review, rolling out r48894, because review discussion was not complete.
2661 http://trac.webkit.org/changeset/48894
2663 * platform/sql/SQLiteTransaction.cpp:
2664 (WebCore::SQLiteTransaction::begin):
2666 2009-09-29 Dirk Schulze <krit@webkit.org>
2668 Reviewed by Nikolas Zimmermann.
2670 SVG Filter feComposite implementation is missing
2671 [https://bugs.webkit.org/show_bug.cgi?id=28362]
2673 feComposite implementation for SVG.
2675 Test: svg/filters/feComposite.svg
2677 * platform/graphics/filters/FEComposite.cpp:
2678 (WebCore::arithmetic):
2679 (WebCore::FEComposite::apply):
2681 2009-09-29 Dumitru Daniliuc <dumi@chromium.org>
2683 Reviewed by Dimitri Glazkov.
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.
2692 https://bugs.webkit.org/show_bug.cgi?id=29729
2694 * platform/sql/SQLiteTransaction.cpp:
2695 (WebCore::SQLiteTransaction::begin):
2697 2009-09-29 Kenneth Russell <kbr@google.com>
2699 Reviewed by Dimitri Glazkov.
2701 Add support for run-time flag for 3D canvas
2702 https://bugs.webkit.org/show_bug.cgi?id=29826
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.
2713 2009-09-29 Jeremy Orlow <jorlow@chromium.org>
2715 Reviewed by Darin Fisher.
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
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*.
2726 This patch should be a no-op for all ports other than Chromium.
2729 * storage/StorageEventDispatcher.h: Added.
2731 2009-09-29 Oliver Hunt <oliver@apple.com>
2733 Reviewed by NOBODY (missed file).
2735 Adding file missed in previous commit.
2737 * manual-tests/gtk/resources/long_cell.cur: Copied from WebCore/dom/PositionCreationFunctions.h.
2739 2009-09-29 Dimitri Glazkov <dglazkov@chromium.org>
2741 Reviewed by Darin Fisher.
2743 [V8] Correct an issue with XMLHttpRequest attribute event listeners never being cleared.
2744 https://bugs.webkit.org/show_bug.cgi?id=29888
2746 Test: LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
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.
2753 2009-09-22 Martin Robinson <martin.james.robinson@gmail.com>
2755 Reviewed by Eric Seidel.
2757 Fix corruption for non-square images.
2759 [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
2760 https://bugs.webkit.org/show_bug.cgi?id=29654
2762 Added an additional manual-test for this issue to the existing Gtk
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):
2770 2009-09-29 Alexey Proskuryakov <ap@apple.com>
2772 Reviewed by Timothy Hatcher.
2774 Build fix - pass a proper ScriptExecutipnContext to getEventListenerHandlerBody()
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):
2785 2009-09-29 Nate Chapin <japhet@chromium.org>
2787 Reviewed by Eric Seidel.
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.
2793 Test: fast/events/node-event-anchor-lock.html
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().
2803 2009-09-28 Alexey Proskuryakov <ap@apple.com>
2805 Reviewed by Darin Adler and Sam Weinig.
2807 Onclick not fired for an element copied with cloneContents() or cloneNode()
2808 https://bugs.webkit.org/show_bug.cgi?id=25130
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
2814 Thus, moving nodes between documents no longer results in having incorrect registered
2815 lazy event listeners on them.
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
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.
2831 * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference
2832 to JSDOMGlobalObject.
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.
2838 * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL,
2839 which can not be determined at parsing time.
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.
2846 * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext,
2847 because JSC needs a global context here.
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.
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).
2908 * dom/EventListener.idl: Just like in ObjC, EventListener should be a pure interface in
2911 2009-09-28 Geoffrey Garen <ggaren@apple.com>
2913 Reviewed by Sam Weinig.
2915 Removed virtual destructor from JSGlobalObjectData to eliminate pointer
2916 fix-ups when accessing JSGlobalObject::d.
2918 Replaced with an explicit destructor function pointer.
2920 * bindings/js/JSDOMGlobalObject.cpp:
2921 (WebCore::JSDOMGlobalObject::destroyJSDOMGlobalObjectData):
2922 * bindings/js/JSDOMGlobalObject.h:
2923 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
2925 2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
2927 Reviewed by Simon Hausmann.
2929 Don't rely on QNetworkReply::NetworkError codes, but
2930 on HTTP error codes instead.
2932 * platform/network/qt/QNetworkReplyHandler.cpp:
2933 (WebCore::ignoreHttpError):
2934 (WebCore::QNetworkReplyHandler::finish):
2936 2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
2938 Reviewed by Simon Hausmann.
2940 Use const references when using Qt's foreach.
2942 * platform/network/qt/QNetworkReplyHandler.cpp:
2943 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2945 2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
2947 Reviewed by Simon Hausmann.
2949 Fix handling of QNetworkReply errors.
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.
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.
2963 * platform/network/qt/QNetworkReplyHandler.cpp:
2964 (WebCore::QNetworkReplyHandler::finish):
2966 2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
2968 Reviewed by Simon Hausmann.
2970 The code for showing error pages when the response was
2971 a 401/403/404, was not actually doing so. This patch
2974 * platform/network/qt/QNetworkReplyHandler.cpp:
2975 (WebCore::QNetworkReplyHandler::finish):
2977 2009-09-28 Alexey Proskuryakov <ap@apple.com>
2979 Reviewed by Brady Eidson.
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
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.
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.
3003 * platform/network/cf/ResourceHandleCFNet.cpp: Matched Mac changes.
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.
3011 2009-09-29 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
3013 Reviewed by Simon Hausmann.
3015 Fix typo in Localizations.cpp
3017 https://bugs.webkit.org/show_bug.cgi?id=29872
3019 * platform/qt/Localizations.cpp:
3020 (WebCore::localizedMediaControlElementHelpText):
3022 2009-09-29 Simon Hausmann <simon.hausmann@nokia.com>
3024 Reviewed by Tor Arne Vestbø.
3026 Make the XSLT conditional in DOMWindow.idl's xsltProcessor
3027 attribute conditional in the generated files, similar to
3030 * page/DOMWindow.idl:
3032 2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
3034 Reviewed by Simon Hausmann and Tor Arne Vestbø.
3036 Use the ResourceError as it is supposed to and handle
3037 not HTTP errors from QNetworkReply.
3039 Thanks to Adam Roben for his input.
3041 * platform/network/qt/QNetworkReplyHandler.cpp:
3042 (WebCore::QNetworkReplyHandler::finish):
3044 2009-09-29 Pavel Feldman <pfeldman@chromium.org>
3046 Reviewed by Timothy Hatcher.
3048 Web Inspector: Encapsulate JS listeners specifics into ScriptEventListener.
3050 https://bugs.webkit.org/show_bug.cgi?id=29816
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):
3061 2009-09-29 Xan Lopez <xlopez@igalia.com>
3063 Unreviewed attempt to fix the build.
3065 * page/Settings.cpp:
3066 (WebCore::Settings::Settings):
3068 2009-09-28 Fumitoshi Ukai <ukai@chromium.org>
3070 Reviewed by Eric Seidel.
3072 Add experimentalWebSocketsEnabled in Settings.
3073 https://bugs.webkit.org/show_bug.cgi?id=28941
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):
3085 (WebCore::Settings::experimentalWebSocketsEnabled):
3087 2009-09-11 Fumitoshi Ukai <ukai@chromium.org>
3089 Reviewed by Adam Barth.
3091 Add platform code to support WebSocket for chromium.
3092 https://bugs.webkit.org/show_bug.cgi?id=29171
3094 To build within chromium tree, it requires a patch in bug 29174.
3095 Real implementation will be landed in chromium tree.
3098 * platform/network/chromium/SocketStreamError.h: Added.
3099 (WebCore::SocketStreamError::SocketStreamError):
3100 * platform/network/chromium/SocketStreamHandle.h: Added.
3101 (WebCore::SocketStreamHandle::create):
3103 2009-09-28 Dan Bernstein <mitz@apple.com>
3105 Reviewed by Sam Weinig.
3107 <rdar://problem/7157288> Crash in RenderStyle::computedLineHeight()
3108 when Times New Roman is not installed
3110 * platform/graphics/win/FontCacheWin.cpp:
3111 (WebCore::FontCache::getLastResortFallbackFont): If Times New Roman is
3112 not available, use the Windows default GUI font.
3114 2009-09-28 Jian Li <jianli@chromium.org>
3116 Reviewed by David Levin.
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
3122 * platform/FileSystem.h:
3123 * platform/chromium/DragDataChromium.cpp:
3124 (WebCore::DragData::asURL):
3125 * platform/chromium/FileSystemChromium.cpp:
3127 2009-09-28 Dumitru Daniliuc <dumi@chromium.org>
3129 Reviewed by Dimitri Glazkov.
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.
3136 https://bugs.webkit.org/show_bug.cgi?id=29743
3138 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
3139 (WebCore::SQLiteFileSystem::registerSQLiteVFS):
3140 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
3141 (WebCore::SQLiteFileSystem::registerSQLiteVFS):
3143 2009-09-28 Nate Chapin <japhet@chromium.org>
3145 Reviewed by Adam Barth.
3147 Change the V8 bindings' handling of window.toString(),
3148 so we return [object DOMWindow] (like JSC), not [object global].
3150 https://bugs.webkit.org/show_bug.cgi?id=29742
3152 This will fix a couple of Chromium port test failures and enable us to
3153 use the default expectations for a bunch more.
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.
3158 2009-09-28 Nate Chapin <japhet@chromium.org>
3160 Rubber stamped by David Levin.
3162 Chromium build fix, add back in #include of V8Proxy.h in V8WebKitPointConstructor.cpp.
3164 * bindings/v8/custom/V8WebKitPointConstructor.cpp: Re-include V8Proxy.h.
3166 2009-09-28 Geoffrey Garen <ggaren@apple.com>
3168 Reviewed by Darin Adler.
3170 NotNullPassRefPtr: smart pointer optimized for passing references that are not null
3171 https://bugs.webkit.org/show_bug.cgi?id=29822
3173 Added NotNullPassRefPtr, and deployed it in all places that initialize
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:
3210 2009-09-28 Nate Chapin <japhet@chromium.org>
3212 Reviewed by Dimitri Glazkov.
3214 Allow V8 to handle x/y parameters in a WebKitPoint constructor.
3215 https://bugs.webkit.org/show_bug.cgi?id=29823
3217 Fixes V8's handling of LayoutTests/fast/dom/Window/webkitConvertPoint.html
3219 * bindings/v8/custom/V8WebKitPointConstructor.cpp: Allow for x/y parameters in constructor.
3221 2009-09-28 Mark Rowe <mrowe@apple.com>
3223 Fix the build by doing something approximating reasonableness in the Xcode project.
3225 * WebCore.xcodeproj/project.pbxproj:
3227 2009-09-28 Simon Hausmann <hausmann@webkit.org>
3229 Prospective Tiger build fix.
3231 * WebCore.xcodeproj/project.pbxproj: Try to use unique IDs for the new files.
3233 2009-09-28 Pavel Feldman <pfeldman@chromium.org>
3235 Reviewed by Timothy Hatcher.
3237 Web Inspector: Add explicit frontend event for commit load.
3239 https://bugs.webkit.org/show_bug.cgi?id=29814
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):
3252 2009-09-28 Yaar Schnitman <yaar@chromium.org>
3254 Reviewed by Dimitri Glazkov.
3256 Chromium port - recognize we are being built independently
3257 of chromium and look for dependencies under webkit/chromium rather
3260 https://bugs.webkit.org/show_bug.cgi?id=29722
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.
3265 2009-09-28 Jakub Wieczorek <faw217@gmail.com>
3267 Reviewed by Simon Hausmann.
3269 [Qt] Implement XSLT support with QtXmlPatterns.
3270 https://bugs.webkit.org/show_bug.cgi?id=28303
3275 * WebCore.vcproj/WebCore.vcproj:
3276 * WebCoreSources.bkl:
3278 (WebCore::Document::Document):
3279 (WebCore::Document::~Document):
3280 (WebCore::Document::setTransformSource):
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.
3309 2009-09-28 Andrew Scherkus <scherkus@chromium.org>
3311 Reviewed by Eric Carlson.
3313 Delegate implementation of rendererIsNeeded() for media control elements to RenderTheme.
3315 https://bugs.webkit.org/show_bug.cgi?id=28689
3317 Covered by LayoutTests/media/video-no-audio.html
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:
3330 2009-09-28 Jian Li <jianli@chromium.org>
3332 Reviewed by David Levin.
3334 [chromium] DragData::asURL should return file URL.
3335 https://bugs.webkit.org/show_bug.cgi?id=29109
3337 Tested by LayoutTests/fast/events/drag-to-navigate.html.
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):
3348 2009-09-28 Dimitri Glazkov <dglazkov@chromium.org>
3350 Reviewed by David Levin.
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
3356 Test: LayoutTests/dom/html/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.html
3358 * bindings/scripts/CodeGeneratorV8.pm: Added special case (matching CodeGeneratorJS.pm)
3359 for index arguments.
3361 2009-09-28 Dan Bernstein <mitz@apple.com>
3363 Reviewed by Darin Adler.
3365 Extend the MediaWiki/KHTMLFixes.css workaround to cover older MediaWiki versions
3366 https://bugs.webkit.org/show_bug.cgi?id=29792
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.
3373 2009-09-28 Dimitri Glazkov <dglazkov@chromium.org>
3375 Reviewed by Adam Barth.
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
3381 Test: LayoutTests/fast/forms/textarea-maxlength.html
3383 * bindings/scripts/CodeGeneratorV8.pm: Made sure "unsigned long" in IDL is
3384 properly generates on "unsigned" return value.
3386 2009-09-28 Jakub Wieczorek <faw217@gmail.com>
3388 Reviewed by Simon Hausmann.
3390 Rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp.
3391 https://bugs.webkit.org/show_bug.cgi?id=28303
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.
3398 Additionally, fix some coding style issues.
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.
3408 2009-09-28 Simon Hausmann <simon.hausmann@nokia.com>
3410 Prospective build fix for r48812.
3412 Forgot to remove the inline reset() implementation when reverting the indentation
3413 changes in the file.
3415 * xml/XSLTProcessor.h:
3417 2009-09-28 Pavel Feldman <pfeldman@chromium.org>
3419 Reviewed by nobody (trivial follow up fix), Joseph Pecoraro LGTM-ed.
3421 Web Inspector: Follow up to r48809.
3422 InspectorController.wrapObject should only be called on the inspectable page side.
3424 https://bugs.webkit.org/show_bug.cgi?id=17429
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):
3434 2009-09-28 Jakub Wieczorek <faw217@gmail.com>
3436 Reviewed by Simon Hausmann.
3438 Move the libxslt specific part of XSLTProcessor to a separate file.
3439 https://bugs.webkit.org/show_bug.cgi?id=28303
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.
3445 Additionally, fix some coding style issues.
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.
3471 2009-09-28 Charles Wei <charles.wei@torchmobile.com.cn>
3473 Reviewed by Nikolas Zimmermann.
3475 Fix the crash of SVG that crashes when use a non-exist symbol
3476 https://bugs.webkit.org/show_bug.cgi?id=27693
3478 Test: svg/custom/use-non-existing-symbol-crash.svg
3480 * svg/SVGUseElement.cpp:
3481 (WebCore::shadowTreeContainsChangedNodes):
3483 2009-09-28 Joseph Pecoraro <joepeck@webkit.org>
3485 Reviewed by Timothy Hatcher.
3487 Inspector Should Show Event Listeners/Handlers Registered on each Node
3488 https://bugs.webkit.org/show_bug.cgi?id=17429
3490 Extracted a method from dispatchEvent to get the event ancestor chain
3493 (WebCore::Node::eventAncestors): the extracted method
3494 (WebCore::Node::dispatchGenericEvent): use eventAncestors
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.
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):
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"
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
3539 Consolidated "appropriateSelectorForNode"
3541 * inspector/front-end/StylesSidebarPane.js:
3542 * inspector/front-end/utilities.js:
3544 Miscellaneous Updates
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
3556 2009-09-27 Sam Weinig <sam@webkit.org>
3558 Reviewed by Dan Bernstein.
3560 Fix for https://bugs.webkit.org/show_bug.cgi?id=29760
3561 Implement CSSOM Range.getClientRects/getBoundingClientRect
3563 Tests: fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport.html
3564 fast/dom/Range/getBoundingClientRect.html
3565 fast/dom/Range/getClientRects.html
3568 (WebCore::Range::getClientRects):
3569 (WebCore::Range::getBoundingClientRect):
3570 (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoom):
3571 (WebCore::Range::getBorderAndTextQuads):
3574 Implement Range.getClientRects/getBoundingClientRect.
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.
3585 2009-09-27 Simon Hausmann <hausmann@webkit.org>
3587 Unreviewed fix for WebInspector with Qt build.
3589 Simply re-generate the Qt resource file by running
3590 WebKitTools/Scripts/generate-qt-inspector-resource
3592 * inspector/front-end/WebKit.qrc:
3594 2009-09-27 Pavel Feldman <pfeldman@chromium.org>
3596 Reviewed by nobody (trivial ChangeLog fix).
3598 Restore WebCore/ChangeLog truncated in r48778.
3600 2009-09-27 Pavel Feldman <pfeldman@chromium.org>
3602 Reviewed by Timothy Hatcher.
3604 Web Inspector: DOM store is being unbound twice, leading to assertion failure.
3606 https://bugs.webkit.org/show_bug.cgi?id=29770
3608 * inspector/InspectorController.cpp:
3609 (WebCore::InspectorController::didOpenDatabase):
3610 (WebCore::InspectorController::didUseDOMStorage):
3611 * inspector/InspectorDOMStorageResource.cpp:
3612 (WebCore::InspectorDOMStorageResource::unbind):
3614 2009-09-26 Pavel Feldman <pfeldman@chromium.org>
3616 Reviewed by Timothy Hatcher.
3618 Web Inspector: Do not track DOM changes while inspector window is closed.
3620 https://bugs.webkit.org/show_bug.cgi?id=29769
3622 * inspector/InspectorController.cpp: