1 2009-03-02 Adam Langley <agl@google.com>
3 Reviewed by Darin Fisher.
5 Chromium Linux: Switch to using Skia to render widgets.
7 In order to sandbox the Chromium renderer on Linux we need to remove
8 the X connection. GTK cannot render without an X connection so, for
9 now, we render widgets ourselves.
11 Previously didn't use anti-alias fonts in order to match Windows font
12 rendering exactly. This was helpful when bootstrapping our layout
13 tests. Now, however, we are ready to enable it.
15 https://bugs.webkit.org/show_bug.cgi?id=24244
17 * platform/chromium/ScrollbarThemeChromium.cpp:
18 (WebCore::ScrollbarThemeChromium::buttonSize):
19 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
20 (WebCore::ScrollbarThemeChromium::scrollbarThickness):
21 (WebCore::ScrollbarThemeChromium::paintTrackPiece):
22 (WebCore::ScrollbarThemeChromium::paintButton):
23 (WebCore::ScrollbarThemeChromium::paintThumb):
24 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
25 (WebCore::FontPlatformData::setupPaint):
26 * platform/graphics/skia/PlatformContextSkia.cpp:
27 (PlatformContextSkia::PlatformContextSkia):
28 (PlatformContextSkia::~PlatformContextSkia):
29 * platform/graphics/skia/PlatformContextSkia.h:
30 * rendering/RenderThemeChromiumGtk.cpp: Removed.
31 * rendering/RenderThemeChromiumGtk.h: Removed.
32 * rendering/RenderThemeChromiumLinux.cpp: Added.
33 * rendering/RenderThemeChromiumLinux.h: Added.
35 2009-03-03 Dimitri Glazkov <dglazkov@chromium.org>
37 Reviewed by Darin Fisher.
39 https://bugs.webkit.org/show_bug.cgi?id=24261
42 Test: LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg
44 * bindings/v8/V8Binding.h:
45 (WebCore::toInt32): change return type to int
46 (WebCore::toFloat): change return type to float.
48 2009-03-03 Anders Carlsson <andersca@apple.com>
50 Reviewed by John Sullivan.
52 https://bugs.webkit.org/show_bug.cgi?id=22884
53 <rdar://problem/6449783>
54 modified layout test crashes Safari
56 Null check NPStream before dereferencing it.
58 * plugins/PluginView.cpp:
59 (WebCore::PluginView::destroyStream):
61 2009-03-03 Eric Carlson <eric.carlson@apple.com>
63 Reviewed by Simon Fraser.
65 Fix for <rdar://problem/6641045>
66 Don't call QTKit to get movie properties until movie metadata has been loaded.
68 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
69 (WebCore::MediaPlayerPrivate::metaDataAvailable): defined
70 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
71 (WebCore::MediaPlayerPrivate::createQTTime): return default if !metaDataAvailable.
72 (WebCore::MediaPlayerPrivate::play): Ditto.
73 (WebCore::MediaPlayerPrivate::pause): Ditto.
74 (WebCore::MediaPlayerPrivate::duration): Ditto.
75 (WebCore::MediaPlayerPrivate::currentTime): Ditto.
76 (WebCore::MediaPlayerPrivate::seek): Ditto.
77 (WebCore::MediaPlayerPrivate::seekTimerFired): Ditto.
78 (WebCore::MediaPlayerPrivate::paused): Ditto.
79 (WebCore::MediaPlayerPrivate::seeking): Ditto.
80 (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
81 (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
82 (WebCore::MediaPlayerPrivate::setVolume): Ditto.
83 (WebCore::MediaPlayerPrivate::setRate): Ditto.
84 (WebCore::MediaPlayerPrivate::dataRate): Ditto.
85 (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
86 (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
88 2009-03-03 Kevin McCullough <kmccullough@apple.com>
93 (WebCore::Console::profile):
95 2009-03-03 Dimitri Glazkov <dglazkov@chromium.org>
97 Reviewed by Darin Fisher.
99 https://bugs.webkit.org/show_bug.cgi?id=23657
100 Remove Database API callback IDLs from the project.
101 They were removed in r40633.
103 * WebCore.xcodeproj/project.pbxproj: Removed IDL files from the project.
105 2009-03-03 Kevin McCullough <kmccullough@apple.com>
107 Reviewed by Oliver Hunt.
109 <rdar://problem/6639110> console.profile() doesn't work without a title
112 (WebCore::Console::profile): If there is no title assume this is a user
113 initiated profile and give it the next incremented title name.
115 2009-03-03 Timothy Hatcher <timothy@apple.com>
117 Fix a regression that broke dirxml and caused an ASSERT in debug builds. Also simplified
118 the console code and refactored things to have fewer code paths and duplication.
120 rdar://problem/6367127
121 https://bugs.webkit.org/show_bug.cgi?id=24329
123 Reviewed by Kevin McCullough.
125 Test: manual-tests/inspector/console-dir.html
127 * bindings/js/JSInspectedObjectWrapper.cpp:
128 (WebCore::JSInspectedObjectWrapper::wrap): Use the lexicalGlobalObject instead of dynamicGlobalObject
129 to fix an ASSERT about using a wrapper from the wrong ExecState.
130 * bindings/js/JSQuarantinedObjectWrapper.cpp:
131 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): Ditto.
132 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Ditto.
133 * inspector/front-end/Console.js:
134 (WebInspector.Console.prototype._format): Remove the inline argument and add forceObjectFormat.
135 When forceObjectFormat is true, the only formatter used is _formatobject.
136 (WebInspector.Console.prototype._formatvalue): Remove the inline argument.
137 (WebInspector.Console.prototype._formatstring): Ditto.
138 (WebInspector.Console.prototype._formatregexp): Ditto.
139 (WebInspector.Console.prototype._formatarray): Ditto.
140 (WebInspector.Console.prototype._formatnode): Remove the inline argument and make a DOM tree instead of an anchor.
141 (WebInspector.Console.prototype._formatobject): Remove the inline argument and always make a property graph.
142 (WebInspector.Console.prototype._formaterror): Remove the inline argument.
143 (WebInspector.ConsoleMessage): Remove the case for MessageLevel.Node and
144 simplify the case for MessageLevel.Object to use the normal _format code path with the %O formatter.
145 (WebInspector.ConsoleMessage.prototype._format.formatForConsole): Don't pass an additional true argument for inline.
146 (WebInspector.ConsoleMessage.prototype._format.formatAsObjectForConsole): Added. Pass a true argument for forceObjectFormat.
147 (WebInspector.ConsoleMessage.prototype._format): Added support for the %O formatter. Use formatForConsole for all arguments.
148 (WebInspector.ConsoleMessage.prototype.toString): Add the other message levels.
149 * inspector/front-end/inspector.css: Tweak styles to look and work correctly.
150 * inspector/front-end/utilities.js:
151 (Object.type): Return "node" for Node objects.
152 (Object.describe): Handle the "node" type.
154 (WebCore::printMessageSourceAndLevelPrefix): Fix an assert by adding the other message level types.
155 (WebCore::Console::dirxml): Use the standard log fuction since it prints a DOM tree for nodes by default.
157 (WebCore::enum MessageLevel): Removed NodeMessageLevel. Added a FIXME.
159 2009-03-03 Scott Violet <sky@google.com>
161 Reviewed by Eric Seidel.
163 https://bugs.webkit.org/show_bug.cgi?id=24325
164 Crash on replacing document contents during drop.
166 Makes sure a node is in the document during a move before using it.
168 Test: fast/events/crash-on-mutate-during-drop.html
170 * editing/MoveSelectionCommand.cpp:
171 (WebCore::MoveSelectionCommand::doApply):
173 2009-03-03 Jungshik Shin <jshin@chromium.org>
175 Reviewed by Eric Seidel.
177 https://bugs.webkit.org/show_bug.cgi?id=23028
178 Enable dynamic web font support to Chromium on Windows.
179 Files that were omitted by mistake in the latest patch
182 * loader/CachedFont.cpp:
183 (WebCore::CachedFont::~CachedFont):
184 (WebCore::CachedFont::ensureCustomFontData):
185 (WebCore::CachedFont::platformDataFromCustomData):
186 (WebCore::CachedFont::allClientsRemoved):
187 * platform/graphics/chromium/FontCustomPlatformData.cpp:
188 (WebCore::EOTStream::EOTStream):
189 (WebCore::createFontCustomPlatformData):
190 * platform/graphics/win/FontCustomPlatformData.cpp:
191 (WebCore::EOTStream::EOTStream):
192 (WebCore::createFontCustomPlatformData):
194 2009-03-03 Gustavo Noronha Silva <gns@gnome.org>
196 Reviewed by Alexey Proskuryakov.
198 https://bugs.webkit.org/show_bug.cgi?id=16826
199 [Gtk] Implement WebKitDownload
201 Make the Soup backend able to handle requests without a frame,
202 since we may have such things now that we support downloads.
204 * platform/network/ResourceHandleInternal.h:
205 * platform/network/soup/ResourceHandleSoup.cpp:
206 (WebCore::ResourceHandle::start):
208 2009-03-03 Dimitri Glazkov <dglazkov@chromium.org>
210 Reviewed by Eric Seidel.
212 https://bugs.webkit.org/show_bug.cgi?id=24331
213 Add custom V8 bindings for Element, Attr, HTMLFrame, and HTMLIFrame.
215 * bindings/v8/custom/V8AttrCustom.cpp: Added.
216 * bindings/v8/custom/V8CustomBinding.cpp: Added.
217 * bindings/v8/custom/V8CustomBinding.h: Added attribute-checking helpers.
218 * bindings/v8/custom/V8ElementCustom.cpp: Added.
219 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added.
220 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Added.
222 2009-03-03 Brady Eidson <beidson@apple.com>
224 Reviewed by Darin Adler
226 <rdar://problem/6616664> - Quick looks of various file types is broken
228 In http://trac.webkit.org/changeset/40553 there was an attempt to prevent NSURLRequest churn
229 for non-HTTP loads when the underlying ResourceRequest changed. Unfortunately it was a little
230 overzealous as the mainDocumentURL is relevant for all loads, not only HTTP/HTTPS loads.
232 Partially reverted behavior to always set the mainDocumentURL in situations when we would've
235 * loader/FrameLoader.cpp:
236 (WebCore::FrameLoader::addExtraFieldsToRequest):
238 * platform/network/ResourceRequestBase.cpp:
239 (WebCore::ResourceRequestBase::setMainDocumentURL):
241 2009-03-03 Chris Marrin <cmarrin@apple.com>
243 Reviewed by Simon Fraser.
245 https://bugs.webkit.org/show_bug.cgi?id=24256
247 Added a WebCoreForceSoftwareAnimation flag.
249 * platform/graphics/mac/GraphicsLayerCA.mm:
250 (WebCore::forceSoftwareAnimation):
251 (WebCore::GraphicsLayerCA::setOpacity):
252 (WebCore::GraphicsLayerCA::animateTransform):
253 (WebCore::GraphicsLayerCA::animateFloat):
255 2009-03-02 Chris Marrin <cmarrin@apple.com>
257 Reviewed by Sam Weinig.
259 https://bugs.webkit.org/show_bug.cgi?id=24257
261 Added prototype properties for several classes with constructors that
262 were missing them, including the one mentioned in the bug.
264 Test: fast/dom/Window/custom-constructors.html
266 * bindings/js/JSAudioConstructor.cpp:
267 (WebCore::JSAudioConstructor::JSAudioConstructor):
268 * bindings/js/JSDOMWindowBase.cpp:
269 (jsDOMWindowBaseWebKitCSSMatrix):
270 * bindings/js/JSImageConstructor.cpp:
271 (WebCore::JSImageConstructor::JSImageConstructor):
272 * bindings/js/JSOptionConstructor.cpp:
273 (WebCore::JSOptionConstructor::JSOptionConstructor):
274 * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
275 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
276 * bindings/js/JSWebKitCSSMatrixConstructor.h:
277 * bindings/js/JSWebKitPointConstructor.cpp:
278 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
279 * bindings/js/JSWorkerConstructor.cpp:
280 (WebCore::JSWorkerConstructor::JSWorkerConstructor):
282 2009-03-03 Dimitri Glazkov <dglazkov@chromium.org>
284 Reviewed by Darin Fisher.
286 https://bugs.webkit.org/show_bug.cgi?id=24321
287 Add V8 bindings headers.
289 * bindings/v8/V8Binding.h: Added.
290 * bindings/v8/V8Proxy.h: Added.
291 * bindings/v8/custom/V8CustomBinding.h: Added.
292 * bindings/v8/custom/V8CustomEventListener.h: Added.
294 2009-03-03 Jungshik Shin <jshin@chromium.org>
296 Reviewed by Eric Seidel.
298 https://bugs.webkit.org/show_bug.cgi?id=23803
299 Fix an 'off-by-1' error in ChromiumWin's font fallback.
301 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
302 (WebCore::FontCache::getFontDataForCharacters):
304 2009-03-03 Jungshik Shin <jshin@chromium.org>
306 Reviewed by Eric Seidel.
308 http://bugs.webkit.org/show_bug.cgi?id=23028
309 Enable dynamic web font support to Chromium on Windows: Part 1
310 - Move OpenTypeUtilities.{cpp,h} to platform/graphics/opentype
311 from platform/graphics/win because both Windows port and Chromium Windows
313 - Adjust WebCore.vcproj accordingly.
315 * WebCore.vcproj/WebCore.vcproj:
316 * platform/graphics/opentype: Added.
317 * platform/graphics/opentype/OpenTypeUtilities.cpp: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.cpp.
318 * platform/graphics/opentype/OpenTypeUtilities.h: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.h.
319 * platform/graphics/win/OpenTypeUtilities.cpp: Removed.
320 * platform/graphics/win/OpenTypeUtilities.h: Removed.
322 2009-03-03 Simon Fraser <simon.fraser@apple.com>
324 Reviewed by Dave Hyatt
326 https://bugs.webkit.org/show_bug.cgi?id=24312
328 Take 3D transforms into account when hit testing:
330 1. Maintain a bit on each RenderLayer that is set when the layer
331 has 3d descendants, so that we know when to fall into the slow
334 2. Make a ref-counted HitTestingTransformState, which is used to store
335 an accumulated transform, and the hit test point, and hitTestRect
336 in the plane of the ancestor non-3d ('flattening') layer.
338 It's ref-counted so we can heap allocate it (to avoid stack bloat),
339 and avoid copying when hitTestLayer calls itself after applying the transform.
341 3. Add logic to hitTestLayer to depth-test just direct descendants, if any have
342 3D transforms, or to do deep depth-testing when traversing a preserves-3d
343 hierarchy. When hit, layers compute a z-offset from the ancestor flattening
344 layer, which allows for correct depth testing.
346 The existing early-return codepath is unaffected when there are no 3d transforms
349 * rendering/RenderLayer.cpp:
350 (WebCore::RenderLayer::RenderLayer):
351 (WebCore::RenderLayer::updateTransform):
352 (WebCore::RenderLayer::dirty3DTransformedDescendantStatus):
353 (WebCore::RenderLayer::update3DTransformedDescendantStatus):
354 (WebCore::RenderLayer::hitTest):
355 (WebCore::computeZOffset):
356 (WebCore::RenderLayer::createLocalTransformState):
357 (WebCore::RenderLayer::hitTestLayer):
358 (WebCore::RenderLayer::hitTestContents):
359 * rendering/RenderLayer.h:
360 (WebCore::RenderLayer::preserves3D):
361 (WebCore::RenderLayer::has3DTransform):
362 (WebCore::RenderLayer::setHas3DTransformedDescendant):
363 (WebCore::RenderLayer::has3DTransformedDescendant):
364 * rendering/RenderLayerBacking.cpp:
365 * rendering/TransformState.cpp:
366 (WebCore::TransformState::flatten):
367 (WebCore::TransformState::mappedPoint):
368 (WebCore::HitTestingTransformState::move):
369 (WebCore::HitTestingTransformState::applyTransform):
370 (WebCore::HitTestingTransformState::flatten):
371 (WebCore::HitTestingTransformState::mappedPoint):
372 (WebCore::HitTestingTransformState::mappedQuad):
373 * rendering/TransformState.h:
374 (WebCore::TransformState::TransformState):
375 (WebCore::HitTestingTransformState::create):
376 (WebCore::HitTestingTransformState::move):
377 (WebCore::HitTestingTransformState::HitTestingTransformState):
379 2009-03-03 Brett Wilson <brettw@chromium.org>
381 Fix uninitialized memory reads in the Chromium Windows transparency
382 code that were identified by Purify,
384 Reviewed by Darin Fisher.
386 * platform/graphics/chromium/TransparencyWin.cpp:
387 (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
388 (WebCore::TransparencyWin::initializeNewContext):
390 2009-03-03 Simon Fraser <simon.fraser@apple.com>
392 Reviewed by Dave Hyatt
394 https://bugs.webkit.org/show_bug.cgi?id=24312
396 Factor the code that compute a transform relative to the container
397 into RenderObject::transformFromContainer().
399 * rendering/RenderBox.cpp:
400 (WebCore::RenderBox::mapLocalToAbsolutePoint):
401 (WebCore::RenderBox::mapAbsoluteToLocalPoint):
402 * rendering/RenderObject.cpp:
403 (WebCore::RenderObject::transformFromContainer):
404 * rendering/RenderObject.h:
406 2009-03-03 Simon Fraser <simon.fraser@apple.com>
408 Reviewed by Dave Hyatt
410 https://bugs.webkit.org/show_bug.cgi?id=24317
412 Always return |true| from RenderTextControlMultiLine::nodeAtPoint() if
413 the superclass found a node, otherwise we set the innerNode of the
414 HitTestResult, but don't actually report that we found a hit.
416 * rendering/RenderTextControlMultiLine.cpp:
417 (WebCore::RenderTextControlMultiLine::nodeAtPoint):
419 2009-03-03 Onne Gorter <onne.gorter@avinity.net>
421 Reviewed by Anders Carlsson.
423 https://bugs.webkit.org/show_bug.cgi?id=23707
424 resizing plugins does not work, because the plugin never gets informed
426 Make gtk plugins resize correctly, by sending them the setwindow event
427 correctly. Also ensure that all plugin eventing is done with correct
428 locking/calling. Mostly copied from mac implementation.
430 manual test: manual-tests/gtk/plugin-resize-scroll.html
432 * plugins/PluginView.h:
433 * plugins/gtk/PluginViewGtk.cpp:
434 (WebCore::PluginView::dispatchNPEvent):
435 ensure locking/calling for NPEvents
436 (WebCore::PluginView::updatePluginWidget):
437 if something changed, let setNPWindowIfNeeded handle it
438 (WebCore::PluginView::paint):
439 (WebCore::PluginView::handleKeyboardEvent):
440 (WebCore::PluginView::handleMouseEvent):
441 ensure calling conventions
442 (WebCore::PluginView::setNPWindowRect):
443 just pass control to setNPWindowIfNeeded
444 (WebCore::PluginView::setNPWindowIfNeeded):
445 event the plugin correctly of new window
446 (WebCore::PluginView::init):
447 init through the new setup
449 2009-03-03 Mike Belshe <mike@belshe.com>
451 Reviewed by Darin Fisher.
453 https://bugs.webkit.org/show_bug.cgi?id=24311
454 Make IDL returning DOMObject use [V8Custom]
457 * html/HTMLCanvasElement.idl:
459 2009-03-02 Simon Fraser <simon.fraser@apple.com>
461 Reviewed by Adele Peterson
463 https://bugs.webkit.org/show_bug.cgi?id=24313
465 If RenderTextControlSingleLine::nodeAtPoint() pokes a node into the
466 HitTestResult, then it had better well return |true|. And m_innerBlock
467 could never have been set as the hit node by the superclass, because
468 the superclass knows nothing about m_innerBlock.
470 Test: fast/forms/input-hit-test-border.html
472 * rendering/RenderTextControlSingleLine.cpp:
473 (WebCore::RenderTextControlSingleLine::nodeAtPoint):
475 2009-03-02 Sam Weinig <sam@webkit.org>
477 Reviewed by Mark Rowe.
479 Enable Geolocation (except on Tiger and Leopard).
481 * Configurations/WebCore.xcconfig:
483 2009-03-02 Ojan Vafai <ojan@chromium.org>
485 Reviewed by Adele Peterson.
487 Fix https://bugs.webkit.org/show_bug.cgi?id=24307
488 Null out m_highlightedNode on hideHighlight().
489 Ran WebCore/manual-tests/inspector/highlight-nodes.html.
491 * inspector/InspectorController.cpp:
492 (WebCore::InspectorController::hideHighlight):
494 2009-03-02 Sam Weinig <sam@webkit.org>
496 Reviewed by Geoffrey Garen.
498 Fix for <rdar://problem/6507404> Add Geolocation support.
500 This is not yet turned on for any Mac platform.
502 * WebCore.xcodeproj/project.pbxproj:
504 (WebCore::Chrome::shouldAllowGeolocationForFrame):
506 * page/ChromeClient.h:
507 (WebCore::ChromeClient::shouldAllowGeolocationForFrame):
508 * page/Geolocation.cpp:
509 (WebCore::Geolocation::Geolocation):
510 (WebCore::Geolocation::disconnectFrame): Remove call to setUsingGeolocation as the document
511 will not be alive at this point.
512 (WebCore::Geolocation::getCurrentPosition): Check if the embedding app allows geolocation and
513 return a PERMISSION_DENIED if not.
514 (WebCore::Geolocation::watchPosition): Ditto.
515 (WebCore::Geolocation::shouldAllowGeolocation): Perform request to embedding layer of whether
516 to allow geolocation and cache the result.
517 * page/Geolocation.h:
518 (WebCore::Geolocation::):
519 * platform/GeolocationService.cpp:
520 * platform/GeolocationService.h:
521 (WebCore::GeolocationService::~GeolocationService):
522 (WebCore::GeolocationService::stopUpdating):
523 * platform/mac/GeolocationServiceMac.h: Added.
524 (WebCore::GeolocationServiceMac::lastPosition):
525 (WebCore::GeolocationServiceMac::lastError):
526 * platform/mac/GeolocationServiceMac.mm: Added.
527 (WebCore::GeolocationService::create):
528 (WebCore::GeolocationServiceMac::GeolocationServiceMac):
529 (WebCore::GeolocationServiceMac::~GeolocationServiceMac):
530 (WebCore::GeolocationServiceMac::startUpdating):
531 (WebCore::GeolocationServiceMac::stopUpdating):
532 (WebCore::GeolocationServiceMac::suspend):
533 (WebCore::GeolocationServiceMac::resume):
534 (WebCore::GeolocationServiceMac::positionChanged):
535 (WebCore::GeolocationServiceMac::errorOccurred):
536 (-[WebCoreCoreLocationObserver initWithCallback:]):
537 (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
538 (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]):
540 2009-03-02 Kevin Ollivier <kevino@theolliviers.com>
542 Build fixes for wxWidgets Mac trunk build.
544 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
545 (wxFontProperties::wxFontProperties):
549 2009-03-02 Kevin Ollivier <kevino@theolliviers.com>
551 wxGTK missing header build fix.
553 * platform/wx/wxcode/gtk/fontprops.cpp:
555 2009-03-02 Dan Bernstein <mitz@apple.com>
557 Reviewed by Adam Roben.
559 - fix https://bugs.webkit.org/show_bug.cgi?id=21811
560 REGRESSION: Windows Build Not Selecting Proper Font
562 * platform/graphics/win/FontCacheWin.cpp:
563 (WebCore::createGDIFont): Added back code to verify that the created
564 HFONT has the requested face name.
566 2009-03-02 Timothy Hatcher <timothy@apple.com>
568 Fixes a regression caused by splitting the input and output of console commands.
570 https://bugs.webkit.org/show_bug.cgi?id=24293
572 Reviewed by Kevin McCullough.
574 * inspector/front-end/Console.js:
575 (WebInspector.Console.prototype.addMessage): Don't treat ConsoleCommandResult as a
576 normal ConsoleMessage when appending. This prevents resetting repeatCounts incorrectly.
578 2009-03-02 Timothy Hatcher <timothy@apple.com>
580 Make exception messages and logged Error objects display consistently.
582 https://bugs.webkit.org/show_bug.cgi?id=18983
584 Reviewed by Adam Roben.
586 * English.lproj/localizedStrings.js: Remove a string for line numbers.
587 * inspector/front-end/Console.js:
588 (WebInspector.Console.prototype._enterKeyPressed): Pass the exception
589 boolean to the ConsoleCommandResult constructor and don't pass level.
590 (WebInspector.Console.prototype._formatnode): Fix a className typo.
591 (WebInspector.Console.prototype._formaterror): Add an error-message
592 classed span around the message to show in red and remove the
593 console-message-url class from the link so it doesn't float right.
594 Instead enclose the link in parentheses and use displayNameForURL
595 to shorten the URL in the link.
596 (WebInspector.ConsoleMessage.prototype.toMessageElement): Simplify
597 how line numbers are shown since link underlining a string with
598 parentheses looks bad.
599 (WebInspector.ConsoleCommandResult): Take an exception boolean flag
600 instead of a level and get line and URL based on that flag.
601 * inspector/front-end/inspector.css: Tweaks to the styles.
603 2009-03-02 Ojan Vafai <ojan@chromium.org>
605 Reviewed by Adele Peterson.
607 Bug 24048: extra windows button padding doesn't apply when there's no appearance
608 <https://bugs.webkit.org/show_bug.cgi?id=24048>
610 Replace adjustButtonInnerStyle with buttonInternalPaddingLeft/Right/Top/Bottom.
612 No tests added as existing tests already cover this behavior.
614 * rendering/RenderButton.cpp:
615 (WebCore::RenderButton::setupInnerStyle):
616 * rendering/RenderTheme.cpp:
617 * rendering/RenderTheme.h:
618 (WebCore::RenderTheme::buttonInternalPaddingLeft):
619 (WebCore::RenderTheme::buttonInternalPaddingRight):
620 (WebCore::RenderTheme::buttonInternalPaddingTop):
621 * rendering/RenderThemeChromiumGtk.cpp:
622 (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
623 (WebCore::RenderThemeWin::buttonInternalPaddingRight):
624 (WebCore::RenderThemeWin::buttonInternalPaddingTop):
625 (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
626 * rendering/RenderThemeChromiumGtk.h:
627 * rendering/RenderThemeChromiumWin.cpp:
628 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingLeft):
629 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingRight):
630 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingTop):
631 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingBottom):
632 * rendering/RenderThemeChromiumWin.h:
633 * rendering/RenderThemeWin.cpp:
634 (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
635 (WebCore::RenderThemeWin::buttonInternalPaddingRight):
636 (WebCore::RenderThemeWin::buttonInternalPaddingTop):
637 (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
638 * rendering/RenderThemeWin.h:
640 2009-03-02 Adam Treat <adam.treat@torchmobile.com>
642 Build fix for Qt port. Remove unnecessary assert.
644 * platform/graphics/qt/ImageBufferQt.cpp:
645 (WebCore::ImageBuffer::putImageData):
647 2009-03-02 Adam Treat <adam.treat@torchmobile.com>
649 Reviewed by Adam Roben and previously by Eric Seidel and Simon Fraser.
651 https://bugs.webkit.org/show_bug.cgi?id=24227
652 Ensure that the checkForSolidColor() optimization is correctly triggered
653 for all cases of drawPattern. Currently, the optimization was not triggered
654 when the check had not been previously performed via a request for the
655 image's NativeImagePtr.
657 Implement the Qt version of the checkForSolidColor() method. Combined with
658 the bug fix this reduces the time it takes to draw a repeating background
659 of a 1x1 image from ~50msecs to ~0msecs on my machine.
661 * platform/graphics/BitmapImage.cpp:
662 (WebCore::BitmapImage::BitmapImage):
663 * platform/graphics/BitmapImage.h:
664 (WebCore::BitmapImage::mayFillWithSolidColor):
665 * platform/graphics/Image.h:
666 (WebCore::Image::mayFillWithSolidColor):
667 * platform/graphics/cairo/ImageCairo.cpp:
668 (WebCore::BitmapImage::BitmapImage):
669 (WebCore::BitmapImage::checkForSolidColor):
670 * platform/graphics/cg/ImageCG.cpp:
671 (WebCore::BitmapImage::BitmapImage):
672 (WebCore::BitmapImage::checkForSolidColor):
673 * platform/graphics/qt/ImageQt.cpp:
674 (WebCore::BitmapImage::checkForSolidColor):
675 * platform/graphics/skia/ImageSkia.cpp:
676 (WebCore::BitmapImage::checkForSolidColor):
677 * platform/graphics/wx/ImageWx.cpp:
678 (WebCore::BitmapImage::checkForSolidColor):
680 2009-03-02 Gustavo Noronha Silva <gns@gnome.org>
682 Unreviewed build fix; adding missing files to EXTRA_DIST, so that
683 they show up in the tarball.
687 2009-03-02 Dirk Schulze <krit@webkit.org>
689 Reviewed by Holger Freyther.
691 Added putImageData to Qt. Discussed with Ariya Hidayat.
693 [Qt] lacks putImageData support in Canvas
694 https://bugs.webkit.org/show_bug.cgi?id=22186
696 * platform/graphics/qt/ImageBufferQt.cpp:
697 (WebCore::ImageBuffer::putImageData):
699 2009-03-02 Timothy Hatcher <timothy@apple.com>
701 Show exception messages again when evaluating bad expressions in the
702 Web Inspector's console.
704 https://bugs.webkit.org/show_bug.cgi?id=19890
706 Reviewed by Oliver Hunt.
708 * bindings/js/JSQuarantinedObjectWrapper.cpp:
709 (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
710 Fix the order in which the exception is set and cleared now that the
711 exception is stored in the shared GlobalData, not per ExecState.
713 2009-02-28 Timothy Hatcher <timothy@apple.com>
715 Make input in the Web Inspector console print before any output
716 that might be added by the called function.
718 https://bugs.webkit.org/show_bug.cgi?id=19931
720 Reviewed by Oliver Hunt.
722 * inspector/front-end/Console.js:
723 (WebInspector.Console.prototype._enterKeyPressed): Add the command
724 message before evaluating the result. Associate the originating
725 command to the result, so if they are adjacent there is no divider.
726 (WebInspector.ConsoleCommand): No longer take a result.
727 (WebInspector.ConsoleCommand.prototype.toMessageElement): Result
728 code removed since it isn't used now.
729 (WebInspector.ConsoleCommandResult): Subclass ConsoleMessage.
730 (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
731 Call the ConsoleMessage toMessageElement and add a style class.
732 * inspector/front-end/inspector.css: Add a new style class for
733 adjacent results to hide the divider. Also tweak the position of
734 the disclosure triangle for objects to not use the left margin.
736 2009-03-01 Chris Fleizach <cfleizach@apple.com>
738 Reviewed by Oliver Hunt.
740 Bug 24282: AX Palindrome error when asking for a specific index of the AXChildren array
741 <https://bugs.webkit.org/show_bug.cgi?id=24282>
743 When fetching an array of elements with a range, attachment views need to be returned
744 instead of the actual attachment.
746 * page/mac/AccessibilityObjectWrapper.mm:
747 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
748 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
750 2009-03-01 Ojan Vafai <ojan@chromium.org>
752 Reviewed by Eric Seidel.
754 Bug 24251: Cleanup: replace positionForCoordinates with positionForPoint
755 <https://bugs.webkit.org/show_bug.cgi?id=24251>
757 Make RenderObject::positionForCoordinate non-virtual and
758 RenderObject::positionForPoint virtual in preparation for
759 removing positionFor* from RenderObject/RenderText.
762 (WebCore::Frame::visiblePositionForPoint):
763 * rendering/RenderBR.cpp:
764 (WebCore::RenderBR::positionForPoint):
765 * rendering/RenderBR.h:
766 * rendering/RenderBlock.cpp:
767 (WebCore::RenderBlock::positionForPoint):
768 * rendering/RenderBlock.h:
769 * rendering/RenderBox.cpp:
770 (WebCore::RenderBox::positionForPoint):
771 * rendering/RenderBox.h:
772 * rendering/RenderInline.cpp:
773 (WebCore::RenderInline::positionForPoint):
774 * rendering/RenderInline.h:
775 * rendering/RenderObject.cpp:
776 (WebCore::RenderObject::positionForCoordinates):
777 (WebCore::RenderObject::positionForPoint):
778 * rendering/RenderObject.h:
779 * rendering/RenderReplaced.cpp:
780 (WebCore::RenderReplaced::positionForPoint):
781 * rendering/RenderReplaced.h:
782 * rendering/RenderSVGInlineText.cpp:
783 (WebCore::RenderSVGInlineText::positionForPoint):
784 * rendering/RenderSVGInlineText.h:
785 * rendering/RenderText.cpp:
786 (WebCore::RenderText::positionForPoint):
787 * rendering/RenderText.h:
789 2009-03-01 Larry Ewing <lewing@novell.com>
791 Reviewed by Alexey Proskuryakov.
793 https://bugs.webkit.org/show_bug.cgi?id=24080
794 NPN_GetValue casting to the wrong type and writing outside bounds
796 Make sure to cast the value to the correct type so that only
797 memory owned by the value is written to.
799 * plugins/gtk/PluginViewGtk.cpp (PluginView::getValueStatic):
800 * plugins/qt/PluginViewQt.cpp (PluginView::getValueStatic):
801 * plugins/mac/PluginViewMac.cpp (PluginView::getValueStatic):
802 (PluginView::getValue):
804 2009-03-01 Jeremy Moskovich <jeremy@chromium.org>
806 Reviewed by Simon Fraser.
808 https://bugs.webkit.org/show_bug.cgi?id=24197 and
809 https://bugs.webkit.org/show_bug.cgi?id=23512
811 The Windows version of cgColor() is conditionally compiled using
812 !PLATFORM(MAC) change this to PLATFORM(WIN_OS) so that Chrome
813 can use the OS X version instead of the Windows version.
815 Also rename cgColor() -> createCGColor()
817 No observable change in behavior, so no test.
819 * platform/graphics/Color.h:
820 * platform/graphics/cg/ColorCG.cpp:
821 (WebCore::createCGColor):
822 * platform/graphics/cg/GraphicsContextCG.cpp:
823 (WebCore::GraphicsContext::setPlatformShadow):
824 * platform/graphics/mac/ColorMac.mm:
825 (WebCore::createCGColor):
826 * platform/graphics/mac/GraphicsContextMac.mm:
827 (WebCore::GraphicsContext::drawFocusRing):
828 * platform/graphics/mac/GraphicsLayerCA.mm:
829 (WebCore::setLayerBorderColor):
830 (WebCore::setLayerBackgroundColor):
831 (WebCore::GraphicsLayerCA::setBackgroundColor):
832 * platform/graphics/win/GraphicsContextCGWin.cpp:
833 (WebCore::GraphicsContext::drawFocusRing):
834 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
837 2009-03-01 David Levin <levin@chromium.org>
839 Reviewed by Alexey Proskuryakov.
841 Bug 24271: XMLHttpRequest needs js bindings for Workers.
842 <https://bugs.webkit.org/show_bug.cgi?id=24271>
844 Tests: http/tests/xmlhttprequest/workers/methods-async.html
845 http/tests/xmlhttprequest/workers/methods.html
847 * bindings/js/JSWorkerContextBase.cpp:
848 (WebCore::JSWorkerContextBase::getOwnPropertySlot):
849 (jsWorkerContextBaseXMLHttpRequest):
850 (setJSWorkerContextBaseXMLHttpRequest):
851 Expose XMLHttpRequest to Workers.
853 * bindings/js/JSWorkerContextBase.h:
855 * bindings/js/JSXMLHttpRequestConstructor.cpp:
856 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
857 (WebCore::constructXMLHttpRequest):
858 (WebCore::JSXMLHttpRequestConstructor::mark):
859 Removed the dependencies on Document.
861 * bindings/js/JSXMLHttpRequestConstructor.h:
862 (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext):
863 * dom/EventException.idl:
864 * dom/EventListener.idl:
865 Chnage to have the NoStaticTables attribute since they are used from XHR.
867 * loader/WorkerThreadableLoader.cpp:
868 (WebCore::workerContextDidFinishLoading):
869 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
870 Fixed identifier to be unsigned long.
872 * loader/WorkerThreadableLoader.h:
873 * workers/WorkerThread.cpp:
874 (WebCore::WorkerThread::workerThread):
875 Stop active objects when the thread is getting shutdown so that xhr gets properly shutdown.
877 * xml/XMLHttpRequestUpload.cpp:
879 * xml/XMLHttpRequest.idl:
880 * xml/XMLHttpRequestException.idl:
881 * xml/XMLHttpRequestProgressEvent.idl:
882 * xml/XMLHttpRequestUpload.idl:
883 Chnage to have the NoStaticTables attribute since they are used from XHR.
885 2009-03-01 Horia Olaru <olaru@adobe.com>
887 Adding manual debugger test cases for bug.
889 https://bugs.webkit.org/show_bug.cgi?id=21073
891 Reviewed by Kevin McCullough.
893 * manual-tests/inspector/debugger-step-on-do-while-statements.html: Added.
894 * manual-tests/inspector/debugger-step-on-for-in-statements.html: Added.
895 * manual-tests/inspector/debugger-step-on-for-statements.html: Added.
896 * manual-tests/inspector/debugger-step-on-while-statements.html: Added.
897 * manual-tests/inspector/resources/loop-statements.js: Added.
899 2009-03-01 Dan Bernstein <mitz@apple.com>
901 Reviewed by Darin Adler.
903 - fix <rdar://problem/6634768> Reproducible crash in RenderLayer::updateScrollCornerStyle() using full-page zoom at MobileMe Contacts
905 Test: fast/events/scroll-during-zoom-change.html
908 (WebCore::Document::recalcStyle): Pause scheduled events during style
909 reclaculation. Changes to the zoom property result in scroll events
910 being generated during style recalc, and those events need to be
911 deferred until the render tree is consistent.
912 * page/FrameView.cpp:
913 (WebCore::FrameView::layout): Changed to account for a case in which the
914 post-layout tasks trigger a nested layout, which reactivates the
915 post-layout task timer.
917 2009-03-01 Ross Boucher <rboucher@gmail.com>
919 Alphabetically sort scripts in the Script's panel file popup menu.
921 https://bugs.webkit.org/show_bug.cgi?id=23395
923 Reviewed by Timothy Hatcher.
925 * inspector/front-end/ScriptsPanel.js:
926 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
927 * inspector/front-end/utilities.js:
928 (insertionIndexForObjectInListSortedByFunction):
929 (indexOfObjectInListSortedByFunction):
931 2009-03-01 Yael Aharon <yael.aharon@nokia.com>
933 Pass securityOrigin->host() instead of securityOrigin->domain() to WebInspector
934 when creating databases, localStorage or sessionStorage. Changing document.domain
935 should have no affect on databases, localStorage and sessionStorage in Web Inspector.
937 https://bugs.webkit.org/show_bug.cgi?id=23844
939 Reviewed by Timothy Hatcher.
941 * inspector/InspectorController.cpp:
942 (WebCore::InspectorController::addDOMStorageScriptResource):
943 (WebCore::InspectorController::didUseDOMStorage):
944 * storage/Database.cpp:
945 (WebCore::Database::openDatabase):
947 2009-03-01 Gustavo Noronha Silva <gns@gnome.org>
949 Reviewed by Holger Freyther.
951 Avoid leaking errors when reporting GIO errors.
953 * platform/network/soup/ResourceHandleSoup.cpp:
954 (WebCore::readCallback):
955 (WebCore::openCallback):
956 (WebCore::queryInfoCallback):
958 2009-03-01 Gustavo Noronha Silva <gns@gnome.org>
960 Reviewed by Holger Freyther.
962 Fixes crash when the GIO backend is given the URI for a directory.
964 * platform/network/soup/ResourceHandleSoup.cpp:
965 (WebCore::networkErrorForFile):
967 2009-02-28 Dimitri Glazkov <dglazkov@chromium.org>
969 Reviewed by Darin Fisher.
971 https://bugs.webkit.org/show_bug.cgi?id=24261
972 Fix V8 custom binding scrubbing error.
974 Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
975 Test: traversal/exception-forwarding.html
976 TesT: traversal/stay-within-root.html
978 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
979 * bindings/v8/custom/V8NodeIteratorCustom.cpp:
980 (WebCore::toV8): Replace v8::Undefined() return value with v8::Null().
981 * bindings/v8/custom/V8TreeWalkerCustom.cpp:
982 (WebCore::toV8): Ditto.
984 2009-02-28 Dimitri Glazkov <dglazkov@chromium.org>
986 Reviewed by Darin Fisher.
988 https://bugs.webkit.org/show_bug.cgi?id=24261
989 Fix V8 custom binding scrubbing error.
991 Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html
993 * WebCore.xcodeproj/project.pbxproj:
994 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
995 (WebCore::cssPropertyName): Remove dubious checks, left over from
996 incomplete conversion of parameter from pointer to pass-by-ref.
997 (WebCore::NAMED_PROPERTY_GETTER): Initialize parameter.
998 (WebCore::NAMED_PROPERTY_SETTER): Ditto.
1000 2009-02-28 Xan Lopez <xan@gnome.org>
1002 Reviewed by Holger Freyther.
1004 https://bugs.webkit.org/show_bug.cgi?id=24263
1005 [GTK] ref ResourceHandle until we are finished with it
1007 Add a ref to the ResourceHandle in startHttp so we can keep it
1008 alive untill all callbacks have been executed, and unref it when
1009 soup tells us it's done with the SoupMessage (in
1010 finishedCallback). Fixes a number of crashes when calling
1011 didReceiveData whould crash because of the handle dying.
1013 * platform/network/soup/ResourceHandleSoup.cpp:
1014 (WebCore::finishedCallback):
1015 (WebCore::ResourceHandle::startHttp):
1017 2009-02-28 Adam Bergkvist <adam.bergkvist@ericsson.com>
1019 Reviewed by Alexey Proskuryakov.
1021 https://bugs.webkit.org/show_bug.cgi?id=24226
1022 [SOUP] HTTP status text is never set
1024 Set HTTP status text to SoupMessage reason_phrase.
1026 * platform/network/soup/ResourceHandleSoup.cpp:
1027 (WebCore::fillResponseFromMessage):
1029 2009-02-28 Dan Bernstein <mitz@apple.com>
1031 - fix malformed project file
1033 * WebCore.xcodeproj/project.pbxproj:
1035 2009-02-28 Dan Bernstein <mitz@apple.com>
1037 Reviewed by Oliver Hunt.
1039 - fix https://bugs.webkit.org/show_bug.cgi?id=23848
1040 <rdar://problem/6573250> REGRESSION: Crash when mouse cursor moves over a link on www.opportuno.de
1042 Test: fast/layers/inline-dirty-z-order-lists.html
1044 * rendering/RenderBox.cpp:
1045 (WebCore::RenderBox::styleWillChange): Moved the code that dirties a
1046 layer's and its stacking context's z-order lists when the layer's
1047 z-index or visibility change from here...
1048 * rendering/RenderBoxModelObject.cpp:
1049 (WebCore::RenderBoxModelObject::styleWillChange): ...to here, so that
1050 it will apply to RenderInline too.
1052 2009-02-27 Alexey Proskuryakov <ap@webkit.org>
1054 Reviewed by David Hyatt.
1056 Don't include TextResourceDecoder.h in Document.h
1058 This undoes inlining of Document::displayStringModifiedByEncoding() to avoid world rebuilds
1059 when TextResourceDecoder.h is modified. Performance impact is expected to be negligible.
1062 (WebCore::Document::displayStringModifiedByEncoding):
1063 (WebCore::Document::displayBufferModifiedByEncoding):
1067 2009-02-27 Matt Pennig <pennig@apple.com>
1069 Reviewed by David Hyatt.
1071 Resolves: https://bugs.webkit.org/show_bug.cgi?id=24107
1072 "Fixed elements have 0 as an offsetLeft property"
1074 Code also brings offsetLeft/Top in full conformance with the spec.
1075 Added two tests, one for fixed-position elements, and one for <html>.
1077 Tests: fast/dom/Element/fixed-position-offset-parent.html
1078 fast/dom/Element/offsetLeft-offsetTop-html.html
1080 * rendering/RenderBoxModelObject.cpp:
1081 (WebCore::RenderBoxModelObject::offsetLeft):
1082 (WebCore::RenderBoxModelObject::offsetTop):
1084 2009-02-27 Dean Jackson <dino@apple.com>
1086 Reviewed by Simon Fraser.
1088 renderer()->hasTransform() returns true for elements
1089 with perspective, but no transform, so test for transform
1090 when hit testing. This fixes ASSERT from
1091 https://bugs.webkit.org/show_bug.cgi?id=24252
1093 Test: transforms/no_transform_hit_testing.html
1095 * rendering/RenderLayer.cpp:
1096 (WebCore::RenderLayer::hitTestLayer):
1098 2009-02-27 Dimitri Glazkov <dglazkov@chromium.org>
1100 Reviewed by Darin Fisher.
1102 Fix scrubbing error -- a reversed condition.
1104 * bindings/v8/ScriptValue.h:
1105 (WebCore::ScriptValue::clear): Change early exit for empty value, not the opposite.
1107 2009-02-27 Jian Li <jianli@chromium.org>
1109 Reviewed by Alexey Proskuryakov.
1111 Add confirmMessageFromWorkerObject to WorkerObjectProxy.
1112 https://bugs.webkit.org/show_bug.cgi?id=24152
1114 * workers/WorkerMessagingProxy.cpp:
1115 (WebCore::MessageWorkerContextTask::performTask):
1116 (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
1117 * workers/WorkerMessagingProxy.h:
1118 * workers/WorkerObjectProxy.h:
1120 2009-02-27 Anders Carlsson <andersca@apple.com>
1122 Reviewed by David Hyatt.
1124 Revert r41295, the fix for https://bugs.webkit.org/show_bug.cgi?id=24227
1125 because it leads to assertion failures in the Mac port.
1127 * platform/graphics/BitmapImage.cpp:
1128 (WebCore::BitmapImage::BitmapImage):
1129 * platform/graphics/BitmapImage.h:
1130 (WebCore::BitmapImage::mayFillWithSolidColor):
1131 * platform/graphics/Image.h:
1132 (WebCore::Image::mayFillWithSolidColor):
1133 * platform/graphics/cairo/ImageCairo.cpp:
1134 (WebCore::BitmapImage::BitmapImage):
1135 * platform/graphics/cg/ImageCG.cpp:
1136 (WebCore::BitmapImage::BitmapImage):
1137 (WebCore::BitmapImage::checkForSolidColor):
1138 * platform/graphics/qt/ImageQt.cpp:
1139 (WebCore::BitmapImage::checkForSolidColor):
1140 * platform/graphics/skia/ImageSkia.cpp:
1141 (WebCore::BitmapImage::checkForSolidColor):
1142 * platform/graphics/wx/ImageWx.cpp:
1143 (WebCore::BitmapImage::checkForSolidColor):
1145 2009-02-27 Adam Barth <abarth@webkit.org>
1147 Reviewed by Eric Seidel.
1149 https://bugs.webkit.org/show_bug.cgi?id=20249
1151 Add a preference to allow universal access from local URLs to mitigate
1152 some attacks. Some clients still want to allow this access, so we
1153 expose this as a preference.
1157 (WebCore::Document::initSecurityContext):
1158 * page/SecurityOrigin.cpp:
1159 (WebCore::SecurityOrigin::SecurityOrigin):
1160 * page/Settings.cpp:
1161 (WebCore::Settings::Settings):
1162 (WebCore::Settings::setAllowUniversalAccessFromFileUrls):
1164 (WebCore::Settings::allowUniversalAccessFromFileUrls):
1166 2009-02-27 Adam Treat <adam.treat@torchmobile.com>
1168 Reviewed by Eric Seidel.
1170 https://bugs.webkit.org/show_bug.cgi?id=24229
1171 If an image has no alpha channel there is no reason to use SourceOver.
1173 * platform/graphics/qt/ImageQt.cpp:
1174 (WebCore::Image::drawPattern):
1175 (WebCore::BitmapImage::draw):
1177 2009-02-27 Adam Treat <adam.treat@torchmobile.com>
1179 Reviewed by Eric Seidel and Simon Fraser.
1181 https://bugs.webkit.org/show_bug.cgi?id=24227
1182 Ensure that the checkForSolidColor() optimization is correctly triggered
1183 for all cases of drawPattern. Currently, the optimization was not triggered
1184 when the check had not been previously performed via a request for the
1185 image's NativeImagePtr.
1187 Implement the Qt version of the checkForSolidColor() method. Combined with
1188 the bug fix this reduces the time it takes to draw a repeating background
1189 of a 1x1 image from ~50msecs to ~0msecs on my machine.
1191 * platform/graphics/BitmapImage.cpp:
1192 (WebCore::BitmapImage::BitmapImage):
1193 * platform/graphics/BitmapImage.h:
1194 (WebCore::BitmapImage::mayFillWithSolidColor):
1195 * platform/graphics/Image.h:
1196 (WebCore::Image::mayFillWithSolidColor):
1197 * platform/graphics/cairo/ImageCairo.cpp:
1198 (WebCore::BitmapImage::BitmapImage):
1199 * platform/graphics/cg/ImageCG.cpp:
1200 (WebCore::BitmapImage::BitmapImage):
1201 (WebCore::BitmapImage::checkForSolidColor):
1202 * platform/graphics/qt/ImageQt.cpp:
1203 (WebCore::BitmapImage::checkForSolidColor):
1204 * platform/graphics/skia/ImageSkia.cpp:
1205 (WebCore::BitmapImage::checkForSolidColor):
1206 * platform/graphics/wx/ImageWx.cpp:
1207 (WebCore::BitmapImage::checkForSolidColor):
1209 2009-02-27 Dirk Schulze <krit@webkit.org>
1211 Reviewed by Zack Rusin.
1213 Added support for gradients and pattern on Fonts for Qt.
1215 [Qt] gradients and patterns for FontQt
1216 https://bugs.webkit.org/show_bug.cgi?id=24243
1218 * platform/graphics/qt/FontQt.cpp:
1219 (WebCore::Font::drawComplexText):
1221 2009-02-27 Jian Li <jianli@chromium.org>
1223 Reviewed by Alexey Proskuryakov.
1225 WorkerContextProxy::create in WorkerMessagingProxy.cpp should only be provided for non-Chromium platform.
1226 https://bugs.webkit.org/show_bug.cgi?id=24113
1228 * workers/WorkerMessagingProxy.cpp:
1230 2009-02-27 Yael Aharon <yael.aharon@nokia.com>
1232 Added a refresh button to storage views.
1234 https://bugs.webkit.org/show_bug.cgi?id=24040
1236 Reviewed by Timothy Hatcher.
1238 * inspector/front-end/DOMStorageItemsView.js:
1239 (WebInspector.DOMStorageItemsView):
1240 (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
1241 (WebInspector.DOMStorageItemsView.prototype.update):
1242 (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
1243 * inspector/front-end/DatabaseTableView.js:
1244 (WebInspector.DatabaseTableView):
1245 (WebInspector.DatabaseTableView.prototype.get statusBarItems):
1246 (WebInspector.DatabaseTableView.prototype._refreshButtonClicked):
1247 * inspector/front-end/DatabasesPanel.js:
1248 (WebInspector.DatabasesPanel):
1249 (WebInspector.DatabasesPanel.prototype.get statusBarItems):
1250 (WebInspector.DatabasesPanel.prototype.reset):
1251 (WebInspector.DatabasesPanel.prototype.showDatabase):
1252 (WebInspector.DatabasesPanel.prototype.showDOMStorage):
1253 (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
1254 * inspector/front-end/inspector.css:
1256 2009-02-27 Yael Aharon <yael.aharon@nokia.com>
1258 Added support for editing/deleting localStorage and sessionStorage items
1259 directly from Web Inspector.
1261 https://bugs.webkit.org/show_bug.cgi?id=23866.
1263 Reviewed by Timothy Hatcher.
1265 * WebCore.vcproj/WebCore.vcproj:
1266 * inspector/front-end/DOMStorageDataGrid.js: Added.
1267 (WebInspector.DOMStorageDataGrid):
1268 (WebInspector.DOMStorageDataGrid.prototype._ondblclick):
1269 (WebInspector.DOMStorageDataGrid.prototype._startEditing):
1270 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
1271 (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
1272 (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
1273 * inspector/front-end/DOMStorageItemsView.js:
1274 (WebInspector.DOMStorageItemsView):
1275 (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
1276 (WebInspector.DOMStorageItemsView.prototype.hide):
1277 (WebInspector.DOMStorageItemsView.prototype.update):
1278 (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
1279 * inspector/front-end/DatabasesPanel.js:
1280 (WebInspector.DatabasesPanel):
1281 (WebInspector.DatabasesPanel.prototype.get statusBarItems):
1282 (WebInspector.DatabasesPanel.prototype.reset):
1283 (WebInspector.DatabasesPanel.prototype.showDOMStorage):
1284 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
1285 (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
1286 * inspector/front-end/WebKit.qrc:
1287 * inspector/front-end/inspector.css:
1288 * inspector/front-end/inspector.html:
1290 2009-02-26 Brett Wilson <brettw@chromium.org>
1292 Fix Windows transparency for the Chromium port. Implement a helper
1293 class for handling transparency on Windows. It allows semitransparent
1294 ClearType and semitransparent form controls by making new layers in the
1297 It also replaces the "ThemeHelper" which allows better
1298 scaling and transforms on Windows form controls. In addition to the
1299 functionality that the ThemeHelper did, but additionally handles the
1300 antialiasing properly so that the form controls aren't composited on a
1303 https://bugs.webkit.org/show_bug.cgi?id=24101
1305 Reviewed by Eric Seidel.
1307 * platform/graphics/chromium/FontChromiumWin.cpp:
1309 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
1310 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
1311 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
1312 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::drawGlyphs):
1313 (WebCore::Font::drawGlyphs):
1314 * platform/graphics/chromium/ThemeHelperChromiumWin.cpp:
1315 * platform/graphics/chromium/ThemeHelperChromiumWin.h:
1316 * platform/graphics/chromium/TransparencyWin.cpp: Added.
1318 (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
1319 (WebCore::TransparencyWin::OwnedBuffers::destBitmap):
1320 (WebCore::TransparencyWin::OwnedBuffers::referenceBitmap):
1321 (WebCore::TransparencyWin::OwnedBuffers::canHandleSize):
1322 (WebCore::TransparencyWin::TransparencyWin):
1323 (WebCore::TransparencyWin::~TransparencyWin):
1324 (WebCore::TransparencyWin::init):
1325 (WebCore::TransparencyWin::computeLayerSize):
1326 (WebCore::TransparencyWin::setupLayer):
1327 (WebCore::TransparencyWin::setupLayerForNoLayer):
1328 (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
1329 (WebCore::TransparencyWin::setupLayerForTextComposite):
1330 (WebCore::TransparencyWin::setupLayerForWhiteLayer):
1331 (WebCore::TransparencyWin::setupTransform):
1332 (WebCore::TransparencyWin::setupTransformForKeepTransform):
1333 (WebCore::TransparencyWin::setupTransformForUntransform):
1334 (WebCore::TransparencyWin::setupTransformForScaleTransform):
1335 (WebCore::TransparencyWin::setTextCompositeColor):
1336 (WebCore::TransparencyWin::initializeNewContext):
1337 (WebCore::TransparencyWin::compositeOpaqueComposite):
1338 (WebCore::TransparencyWin::compositeTextComposite):
1339 (WebCore::TransparencyWin::makeLayerOpaque):
1340 * platform/graphics/chromium/TransparencyWin.h: Added.
1341 (WebCore::TransparencyWin::):
1342 (WebCore::TransparencyWin::context):
1343 (WebCore::TransparencyWin::platformContext):
1344 (WebCore::TransparencyWin::drawRect):
1345 * platform/graphics/skia/GraphicsContextSkia.cpp:
1346 (WebCore::GraphicsContext::endTransparencyLayer):
1347 * platform/graphics/skia/ImageSkia.cpp:
1348 (WebCore::paintSkBitmap):
1349 * rendering/RenderThemeChromiumWin.cpp:
1351 (WebCore::RenderThemeChromiumWin::paintButton):
1352 (WebCore::RenderThemeChromiumWin::paintMenuList):
1353 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
1355 2009-02-27 Dimitri Glazkov <dglazkov@chromium.org>
1357 Reviewed by Eric Seidel.
1359 https://bugs.webkit.org/show_bug.cgi?id=24211
1360 Add ScheduledAction for V8.
1362 * bindings/v8/ScheduledAction.cpp: Added.
1363 (WebCore::ScheduledAction::ScheduledAction):
1364 (WebCore::ScheduledAction::~ScheduledAction):
1365 (WebCore::ScheduledAction::execute):
1366 * bindings/v8/ScheduledAction.h: Added.
1367 (WebCore::ScheduledAction::ScheduledAction):
1369 2009-02-27 Zack Rusin <zack@kde.org>
1371 Reviewed by Nikolas Zimmermann.
1373 Qt: be more reasonable about scrolled lines
1375 cMouseWheelPixelsPerLineStep is currently a constant set to 13.3. it doesn't
1376 match our metrics meaning that Qt scrolls by ~2 lines by default which is quite
1377 irritating. so lets scroll vertically by the Qt set number of lines * Qt default
1380 * platform/qt/WheelEventQt.cpp:
1382 2009-02-27 Xan Lopez <xan@gnome.org>
1384 Rubber-stamped by Alexey Proskuryakov.
1386 https://bugs.webkit.org/show_bug.cgi?id=24222
1387 [GTK] Remove checks for old glib versions
1389 libsoup, which is a hard dependency, needs at least glib 2.15.3,
1390 so remove all glib checks for versions older than that.
1392 * platform/gtk/ContextMenuGtk.cpp:
1393 (WebCore::ContextMenu::ContextMenu):
1394 * platform/gtk/ContextMenuItemGtk.cpp:
1395 (WebCore::ContextMenuItem::setSubMenu):
1396 * platform/gtk/PopupMenuGtk.cpp:
1397 (WebCore::PopupMenu::show):
1398 * platform/gtk/WidgetGtk.cpp:
1399 (WebCore::Widget::retainPlatformWidget):
1400 * platform/network/soup/ResourceHandleSoup.cpp:
1402 2009-02-26 Dirk Schulze <krit@webkit.org>
1404 Reviewed by Oliver Hunt.
1406 Added support for Gradients and Patterns on filled or stroked Fonts
1407 in Cairo. I also added support for globalAlpha on FontCairo.
1409 [CAIRO] SVG/Canvas fonts miss gradients/pattern support
1410 https://bugs.webkit.org/show_bug.cgi?id=18617
1412 * html/CanvasRenderingContext2D.cpp:
1413 (WebCore::CanvasRenderingContext2D::drawTextInternal):
1414 * platform/graphics/cairo/FontCairo.cpp:
1415 (WebCore::Font::drawGlyphs):
1417 2009-02-26 Stephen White <senorblanco@chromium.org>
1419 Reviewed by Eric Seidel.
1421 https://bugs.webkit.org/show_bug.cgi?id=23957
1423 Fix for SVG gradient and pattern text for Chromium/skia.
1424 Added accessors for the fill and stroke gradients to
1425 GraphicsContext. Changed the paintSkiaText function to take a
1426 GraphicsContext, so we can check for gradients/patterns.
1427 Changed the skiaDrawText function to set the SkPaint shader
1428 correctly, and to scale up the gradient shader matrix to
1429 encompass the entire text string. Also offset each glyph
1430 separately, rather than transforming the canvas, so that the
1431 gradient/pattern stays fixed relative to the text origin.
1433 * platform/graphics/GraphicsContext.cpp:
1434 (WebCore::GraphicsContext::getFillGradient):
1435 (WebCore::GraphicsContext::getStrokeGradient):
1436 (WebCore::GraphicsContext::getFillPattern):
1437 (WebCore::GraphicsContext::getStrokePattern):
1438 * platform/graphics/GraphicsContext.h:
1439 * platform/graphics/chromium/FontChromiumWin.cpp:
1440 (WebCore::Font::drawGlyphs):
1441 * platform/graphics/chromium/UniscribeHelper.cpp:
1442 (WebCore::UniscribeHelper::draw):
1443 * platform/graphics/skia/SkiaFontWin.cpp:
1444 (WebCore::windowsCanHandleTextDrawing):
1445 (WebCore::skiaDrawText):
1446 (WebCore::paintSkiaText):
1447 * platform/graphics/skia/SkiaFontWin.h:
1449 2009-02-26 Dimitri Glazkov <dglazkov@chromium.org>
1451 Reviewed by Eric Seidel.
1453 https://bugs.webkit.org/show_bug.cgi?id=24208
1454 Add custom V8 bindings for Navigator, Clipboard, Document, and Node.
1456 * bindings/v8/custom/V8ClipboardCustom.cpp: Added.
1457 (WebCore::ACCESSOR_GETTER):
1458 (WebCore::CALLBACK_FUNC_DECL):
1459 * bindings/v8/custom/V8DocumentCustom.cpp: Added.
1460 (WebCore::CALLBACK_FUNC_DECL):
1461 * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
1462 (WebCore::ACCESSOR_GETTER):
1463 * bindings/v8/custom/V8NodeCustom.cpp: Added.
1464 (WebCore::CALLBACK_FUNC_DECL):
1466 2009-02-26 Gustavo Noronha Silva <gns@gnome.org>
1468 Unreviewed build fix for building with GNOME Keyring enabled.
1470 * platform/network/soup/webkit-soup-auth-dialog.c:
1473 2009-02-26 Xan Lopez <xan@gnome.org>
1475 Reviewed by Holger Freyther.
1477 https://bugs.webkit.org/show_bug.cgi?id=16947
1478 [GTK] Missing HTTP Auth challenge
1480 Add HTTP authentication dialog with optional GNOME Keyring
1484 * platform/network/ResourceHandleInternal.h:
1485 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1486 * platform/network/soup/ResourceHandleSoup.cpp:
1487 (WebCore::currentToplevelCallback):
1488 (WebCore::ResourceHandle::startHttp):
1489 (WebCore::ResourceHandle::start):
1490 * platform/network/soup/webkit-soup-auth-dialog.c: Added.
1491 (webkit_soup_auth_dialog_class_init):
1492 (webkit_soup_auth_dialog_init):
1493 (webkit_soup_auth_dialog_session_feature_init):
1495 (set_password_callback):
1496 (response_callback):
1498 (find_password_callback):
1499 (session_authenticate):
1501 * platform/network/soup/webkit-soup-auth-dialog.h: Added.
1503 2009-02-25 Ojan Vafai <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
1505 Reviewed by Dave Hyatt.
1507 After Ojan's positionForCoordinates fix http://trac.webkit.org/changeset/41191
1508 svg/custom/pointer-events-image.svg and svg/custom/pointer-events-text.svg
1509 started failing because Ojan's new code was now *correctly* calling through to
1510 SVG asking for the closest text offset in the last line box, instead of
1511 just returning the offset at the end of the last line box when clicking below a box.
1513 But! The SVG code was wrong, in that it returned the character offset of the last
1514 character when you asked for a character offset after the end of the box, instead
1515 it should return the offset *after* the last character. This patch fixes
1516 that behavior by reordering the last two clauses in svgCharacterHitsPosition.
1518 The SVG positionForCoordinates function is still wrong, and I've added some FIXMEs
1519 to document what's wrong. I've also cleaned up the code a bit so it's clearer
1520 what it is doing (which also makes more obvious what's wrong with it).
1522 * rendering/RenderSVGInlineText.cpp:
1523 (WebCore::RenderSVGInlineText::positionForCoordinates):
1524 * rendering/SVGInlineTextBox.cpp:
1525 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::SVGInlineTextBoxClosestCharacterToPositionWalker):
1526 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
1527 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::offsetOfHitCharacter):
1528 (WebCore::SVGInlineTextBox::closestCharacterToPosition):
1529 (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
1531 2009-02-26 Darin Fisher <darin@chromium.org>
1533 Reviewed by Eric Seidel.
1535 Minor cleanup of ChromiumBridge:
1536 Removing unused matchesMIMEType method and s/Javascript/JavaScript/
1538 * platform/chromium/ChromiumBridge.h:
1539 * platform/chromium/MimeTypeRegistryChromium.cpp:
1540 (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
1541 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
1542 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
1544 2009-02-26 David Hyatt <hyatt@apple.com>
1546 Reviewed by Sam Weinig
1548 Fix text-bottom vertical alignment. It was incorrectly aligning the bottom of the descent instead of including
1549 the line-height below the descent.
1551 Added fast/inline/vertical-align-text-bottom.html
1553 * rendering/RenderBoxModelObject.cpp:
1554 (WebCore::RenderBoxModelObject::verticalPosition):
1556 2009-02-26 Dirk Schulze <krit@webkit.org>
1558 Reviewed by Eric Seidel.
1560 Make SVG Masking platform independet with the use of ImageBuffer::getImageData(),
1561 ImageBuffer::putImageData() and GraphicsContext::clipToImageBuffer(). Every platform has
1562 just to implement this three methods to support SVG Masking now.
1564 Make SVG Masking platform aware
1565 https://bugs.webkit.org/show_bug.cgi?id=19243
1569 * WebCore.vcproj/WebCore.vcproj:
1570 * WebCore.xcodeproj/project.pbxproj:
1571 * svg/graphics/SVGResourceMasker.cpp:
1572 (WebCore::SVGResourceMasker::applyMask):
1573 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: Removed.
1574 * svg/graphics/cg/SVGResourceMaskerCg.cpp: Removed.
1575 * svg/graphics/cg/SVGResourceMaskerCg.mm: Removed.
1576 * svg/graphics/qt/SVGResourceMaskerQt.cpp: Removed.
1577 * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Removed.
1579 2009-02-26 Yong Li <yong.li@torchmobile.com>
1581 Reviewed by Darin Adler, Antti Koivisto and Alexey Proskuryakov.
1583 Test: http/tests/misc/slow-preload-cancel.html
1585 https://bugs.webkit.org/show_bug.cgi?id=24133
1586 Clear all pending preloads in the DocLoader object when we decide to
1587 cancel its all requests.
1589 * loader/DocLoader.cpp:
1590 (WebCore::DocLoader::clearPendingPreloads):
1591 * loader/DocLoader.h:
1592 * loader/loader.cpp:
1593 (WebCore::Loader::cancelRequests):
1595 2009-02-26 Dimitri Glazkov <dglazkov@chromium.org>
1597 Reviewed by Eric Seidel.
1599 https://bugs.webkit.org/show_bug.cgi?id=24182
1600 Add NodeFilter, NodeIterator, and TreeWalker custom V8 bindings.
1602 * bindings/v8/custom/V8NodeFilterCustom.cpp: Added.
1603 (WebCore::CALLBACK_FUNC_DECL):
1604 * bindings/v8/custom/V8NodeIteratorCustom.cpp: Added.
1606 (WebCore::CALLBACK_FUNC_DECL):
1607 * bindings/v8/custom/V8TreeWalkerCustom.cpp: Added.
1609 (WebCore::CALLBACK_FUNC_DECL):
1611 2009-02-26 Alexey Proskuryakov <ap@webkit.org>
1613 Reviewed by Darin Adler.
1615 https://bugs.webkit.org/show_bug.cgi?id=23500
1616 KURL::parse() incorrectly compares its result to original string
1618 * platform/KURL.cpp: (WebCore::KURL::parse): Take string length into account.
1620 2009-02-26 Ojan Vafai <ojan@chromium.org>
1622 Reviewed by Kevin McCullough.
1624 Manual test for inspector node highlighting.
1626 * manual-tests/inspector/highlight-nodes.html: Added.
1628 2009-02-16 Anantanarayanan Iyengar <ananta@chromium.org>
1630 Reviewed by Darin Fisher.
1632 https://bugs.webkit.org/show_bug.cgi?id=23973
1633 ScrollView::scrollContents can be invoked during view shutdown. In
1634 this scenario the FrameView::hostWindow method can return NULL, which
1635 indicates that the frame/page is being destroyed. This causes a crash
1636 when we try to dereference a NULL hostWindow pointer. Fix is to add a
1637 NULL check for this.
1639 * platform/ScrollView.cpp:
1640 (WebCore::ScrollView::scrollContents):
1642 2009-02-26 Rahul Kuchhal <kuchhal@chromium.org>
1644 Reviewed by Dave Hyatt.
1646 https://bugs.webkit.org/show_bug.cgi?id=24003
1647 Fix a crash caused by unsafe type conversion.
1649 Test: fast/block/positioning/absolute-in-inline-rtl-4.html
1651 * rendering/RenderBox.cpp:
1652 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
1654 2009-02-26 Ojan Vafai <ojan@chromium.org>
1656 Reviewed by Adam Roben.
1658 https://bugs.webkit.org/show_bug.cgi?id=24202
1659 Have drawNodeHighlight clip instead of clearing. This makes it work for
1660 both Safari and Chromium since Chromium draws the inspector highlighting
1661 in the same buffer as the page.
1663 * inspector/InspectorController.cpp:
1664 (WebCore::quadToPath):
1665 (WebCore::drawOutlinedQuad):
1666 (WebCore::drawOutlinedQuadWithClip):
1667 (WebCore::drawHighlightForBox):
1669 2009-02-26 David Hyatt <hyatt@apple.com>
1671 Reviewed by Dan Bernstein & Darin Adler
1673 Make sure the border/padding are properly omitted at the start of an inline that is a continuation.
1675 Added fast/inline/inline-continuation-borders.html
1677 * rendering/InlineFlowBox.cpp:
1678 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
1680 2009-02-26 Simon Fraser <simon.fraser@apple.com>
1682 Build fix, no review.
1684 Try to fix the wx build after r41218.
1686 * WebCoreSources.bkl:
1688 2009-02-26 Alexey Proskuryakov <ap@webkit.org>
1690 Reviewed by Darin Adler.
1692 https://bugs.webkit.org/show_bug.cgi?id=19527
1693 ASSERTION FAILED: containerA && containerB
1695 Test: fast/dom/Range/bug-19527.html
1698 (WebCore::Range::isPointInRange):
1699 (WebCore::Range::comparePoint):
1700 Bring the behavior in line with current Firefox, making it impossible for these methods
1701 to pass a null container to compareBoundaryPoints().
1703 2009-02-26 Jonathon Jongsma <jonathon@quotidian.org>
1705 Reviewed by Holger Freyther.
1707 https://bugs.webkit.org/show_bug.cgi?id=20358
1709 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
1710 (WebCore::SimpleFontData::smallCapsFontData): the small-caps font data
1711 should set the computed size rather than the specified size, otherwise
1712 the caps just get rendered normal size.
1714 2009-02-26 Benjamin Meyer <benjamin.meyer@torchmobile.com>
1716 Reviewed by George Staikos.
1718 https://bugs.webkit.org/show_bug.cgi?id=24062
1719 QNetworkCookieJar expects the url and not the policy url. Sending the
1720 policy url will cause QNetworkCookieJar to behave incorrectly. One
1721 example would be a cookie that does not have a path or domain.
1722 QNetworkCookieJar will use the url it is given to fill in default values.
1723 This allows setting cookies on the url of the main frame from an iFrame
1724 when the cookie should be set on the url of the iFrame.
1726 Originally noticed on http://writer.zoho.com/jsp/home.jsp?serviceurl=/index.do
1728 * platform/qt/CookieJarQt.cpp:
1729 (WebCore::setCookies):
1731 2009-02-26 Charles Wei <charles.wei@torchmobile.com.cn>
1733 Reviewed by George Staikos.
1735 make WebKit/Qt compile with SVG disabled
1738 * platform/graphics/qt/FontPlatformDataQt.cpp:
1740 2009-02-25 Gustavo Noronha Silva <gns@gnome.org>
1742 Unreviewed build fix. Add WebCore/workers to the list of paths
1743 searched by the bindings generator perl script.
1747 2009-02-25 Sam Weinig <sam@webkit.org>
1749 Reviewed by Geoffrey Garen.
1751 Add canvas to the list of RenderObjects that can mark a page as
1754 * rendering/RenderHTMLCanvas.cpp:
1755 (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
1757 2009-02-25 Eric Carlson <eric.carlson@apple.com>
1759 Reviewed by Dave Hyatt.
1761 * rendering/RenderBox.cpp:
1762 (WebCore::RenderBox::nodeAtPoint): Remove assertion fired when child has layer
1763 as RenderMedia with controls always has a layer.
1765 2009-02-25 Dan Bernstein <mitz@apple.com>
1767 Reviewed by Simon Fraser.
1769 - fix https://bugs.webkit.org/show_bug.cgi?id=24130
1770 <rdar://problem/6618196> Paint very slow when horizontally resizing
1772 Test: fast/gradients/background-clipped.html
1774 * rendering/RenderBoxModelObject.cpp:
1775 (WebCore::RenderBoxModelObject::paintFillLayerExtended): Intersect the
1776 destination rectangle passed to drawTiledImage() with the dirty
1777 rectangle. This makes it more likely for the destination rect to be
1778 contained in a single tile rect, which results in a faster code path
1779 being taken down the road (just drawing a single tile instead of
1782 2009-02-25 Ojan Vafai <ojan@chromium.org>
1784 Reviewed by Eric Seidel.
1786 Fix test regressions from positionForCoordinates patch.
1787 https://bugs.webkit.org/show_bug.cgi?id=24148
1789 * rendering/RenderBlock.cpp:
1790 (WebCore::positionForPointWithInlineChildren):
1791 Remove ASSERT that placeholder text codepath is hitting.
1793 2009-02-25 Chris Fleizach <cfleizach@apple.com>
1795 Reviewed by Beth Dakin.
1797 Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
1798 https://bugs.webkit.org/show_bug.cgi?id=24143
1800 When an AX object is marked dirty, do not create AX elements while going up the parent chain.
1801 Do not allow AXRenderObjects to remove their own IDs from the cache, all the cache to do that work
1802 Make sure the AXObjectWrapper's have an object before calling them
1803 In AXObjectCache, change get -> getOrCreate. Use get() to only retrieve an element if it exists
1805 Test: platform/mac-snowleopard/accessibility/table-updating.html
1808 * page/AXObjectCache.cpp:
1809 (WebCore::AXObjectCache::~AXObjectCache):
1810 (WebCore::AXObjectCache::get):
1811 (WebCore::AXObjectCache::getOrCreate):
1812 (WebCore::AXObjectCache::removeAXID):
1813 (WebCore::AXObjectCache::handleActiveDescendantChanged):
1814 (WebCore::AXObjectCache::handleAriaRoleChanged):
1815 * page/AXObjectCache.h:
1816 * page/AccessibilityImageMapLink.cpp:
1817 (WebCore::AccessibilityImageMapLink::parentObject):
1818 * page/AccessibilityListBox.cpp:
1819 (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
1820 (WebCore::AccessibilityListBox::doAccessibilityHitTest):
1821 * page/AccessibilityListBoxOption.cpp:
1822 (WebCore::AccessibilityListBoxOption::elementRect):
1823 (WebCore::AccessibilityListBoxOption::parentObject):
1824 * page/AccessibilityObject.cpp:
1825 (WebCore::AccessibilityObject::detach):
1826 (WebCore::AccessibilityObject::parentObjectIfExists):
1827 (WebCore::replacedNodeNeedsCharacter):
1828 (WebCore::AccessibilityObject::accessibilityObjectForPosition):
1829 * page/AccessibilityObject.h:
1830 * page/AccessibilityRenderObject.cpp:
1831 (WebCore::AccessibilityRenderObject::firstChild):
1832 (WebCore::AccessibilityRenderObject::lastChild):
1833 (WebCore::AccessibilityRenderObject::previousSibling):
1834 (WebCore::AccessibilityRenderObject::nextSibling):
1835 (WebCore::AccessibilityRenderObject::parentObjectIfExists):
1836 (WebCore::AccessibilityRenderObject::parentObject):
1837 (WebCore::AccessibilityRenderObject::isAttachment):
1838 (WebCore::AccessibilityRenderObject::headingLevel):
1839 (WebCore::AccessibilityRenderObject::anchorElement):
1840 (WebCore::AccessibilityRenderObject::menuForMenuButton):
1841 (WebCore::AccessibilityRenderObject::menuButtonForMenu):
1842 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
1843 (WebCore::AccessibilityRenderObject::internalLinkElement):
1844 (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
1845 (WebCore::AccessibilityRenderObject::titleUIElement):
1846 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1847 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
1848 (WebCore::AccessibilityRenderObject::getDocumentLinks):
1849 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
1850 (WebCore::AccessibilityRenderObject::focusedUIElement):
1851 (WebCore::AccessibilityRenderObject::activeDescendant):
1852 (WebCore::AccessibilityRenderObject::observableObject):
1853 (WebCore::AccessibilityRenderObject::childrenChanged):
1854 (WebCore::AccessibilityRenderObject::addChildren):
1855 * page/AccessibilityRenderObject.h:
1856 (WebCore::AccessibilityRenderObject::setRenderObject):
1857 * page/AccessibilityTable.cpp:
1858 (WebCore::AccessibilityTable::addChildren):
1859 (WebCore::AccessibilityTable::headerContainer):
1860 (WebCore::AccessibilityTable::cellForColumnAndRow):
1861 * page/AccessibilityTableCell.cpp:
1862 (WebCore::AccessibilityTableCell::isTableCell):
1863 (WebCore::AccessibilityTableCell::titleUIElement):
1864 * page/AccessibilityTableColumn.cpp:
1865 (WebCore::AccessibilityTableColumn::headerObjectForSection):
1866 * page/AccessibilityTableRow.cpp:
1867 (WebCore::AccessibilityTableRow::isTableRow):
1868 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
1869 * page/mac/AXObjectCacheMac.mm:
1870 (WebCore::AXObjectCache::postNotification):
1871 (WebCore::AXObjectCache::postNotificationToElement):
1872 * page/mac/AccessibilityObjectWrapper.mm:
1873 (textMarkerForVisiblePosition):
1874 (AXLinkElementForNode):
1875 (nsStringForReplacedNode):
1876 (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
1877 (-[AccessibilityObjectWrapper accessibilityActionNames]):
1878 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1879 (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
1880 (-[AccessibilityObjectWrapper accessibilityHitTest:]):
1881 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
1882 (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
1883 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1884 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
1885 (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
1886 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1887 (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
1888 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
1889 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
1890 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1892 2009-02-25 Beth Dakin <bdakin@apple.com>
1894 Reviewed by Geoff Garen.
1896 Re-working of <rdar://problem/6487249> repro crash in
1897 WebCore::CSSParser::parseFillImage copying entire contents of this
1899 -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
1901 Fixes a bunch of layout test failures I caused!
1903 * css/CSSParser.cpp:
1904 (WebCore::CSSParser::parseValue):
1905 (WebCore::CSSParser::parseContent):
1906 (WebCore::CSSParser::parseFillImage):
1907 (WebCore::CSSParser::parseFontFaceSrc):
1908 (WebCore::CSSParser::parseBorderImage):
1910 2009-02-25 Dimitri Glazkov <dglazkov@chromium.org>
1912 Reviewed by Eric Seidel.
1914 https://bugs.webkit.org/show_bug.cgi?id=24174
1915 Add more V8 custom bindings.
1917 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: Added.
1918 (WebCore::hasCSSPropertyNamePrefix):
1919 (WebCore::cssPropertyName):
1920 (WebCore::NAMED_PROPERTY_GETTER):
1921 (WebCore::NAMED_PROPERTY_SETTER):
1922 * bindings/v8/custom/V8DOMStringListCustom.cpp: Added.
1923 (WebCore::INDEXED_PROPERTY_GETTER):
1924 (WebCore::CALLBACK_FUNC_DECL):
1925 * bindings/v8/custom/V8EventCustom.cpp: Added.
1926 (WebCore::ACCESSOR_SETTER):
1927 (WebCore::ACCESSOR_GETTER):
1928 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Added.
1929 (WebCore::NAMED_PROPERTY_DELETER):
1930 (WebCore::NAMED_PROPERTY_SETTER):
1931 (WebCore::NAMED_PROPERTY_GETTER):
1932 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: Added.
1933 (WebCore::NAMED_PROPERTY_GETTER):
1934 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Added.
1935 (WebCore::INDEXED_PROPERTY_GETTER):
1936 (WebCore::NAMED_PROPERTY_GETTER):
1937 * bindings/v8/custom/V8NodeListCustom.cpp: Added.
1938 (WebCore::NAMED_PROPERTY_GETTER):
1939 * bindings/v8/custom/V8StyleSheetListCustom.cpp: Added.
1940 (WebCore::NAMED_PROPERTY_GETTER):
1942 2009-02-25 Scott Violet <sky@google.com>
1944 Reviewed by Dave Hyatt.
1946 https://bugs.webkit.org/show_bug.cgi?id=24171
1947 Provides a RenderTheme method for getting the scroll bar size and
1948 changes RenderListBox to use it. RenderTheme returns a size of regular,
1949 and Mac's override to return small. Changes ScrollbarThemeChromium to
1950 use the scrollbarsize of the scrollbar when getting the size
1951 instead of passing in no-args.
1953 * platform/chromium/ScrollbarThemeChromium.cpp:
1954 (WebCore::ScrollbarThemeChromium::trackRect):
1955 (WebCore::ScrollbarThemeChromium::buttonSize):
1956 * rendering/RenderListBox.cpp:
1957 (WebCore::RenderListBox::createScrollbar):
1958 * rendering/RenderTheme.h:
1959 (WebCore::RenderTheme::scrollbarControlSizeForPart):
1960 * rendering/RenderThemeChromiumMac.h:
1961 (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
1962 * rendering/RenderThemeMac.h:
1963 (WebCore::RenderThemeMac::scrollbarControlSizeForPart):
1965 2009-02-25 Beth Dakin <bdakin@apple.com>
1967 Reviewed by Darin Adler.
1969 Fix for <rdar://problem/6487249> repro crash in
1970 WebCore::CSSParser::parseFillImage copying entire contents of this
1972 -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
1974 * css/CSSParser.cpp:
1975 (WebCore::CSSParser::parseValue): Null-check m_styleSheet
1977 2009-02-25 Adam Treat <adam.treat@torchmobile.com>
1983 2009-02-25 Jan Michael Alonzo <jmalonzo@webkit.org>
1985 Gtk build fix. Not reviewed.
1987 Add files to the build per r41218.
1988 Rename WebkitPoint.h to WebKitPoint.h in DOMWindow.cpp
1991 * page/DOMWindow.cpp:
1993 2009-02-25 Zan Dobersek <zandobersek@gmail.com>
1995 Reviewed by Alexey Proskuryakov.
1997 https://bugs.webkit.org/show_bug.cgi?id=24043
1998 When faced with URLs with unsupported protocol on Gtk port,
1999 report the error through an idle function and return true, so
2000 a proper resource handle is created.
2002 * platform/network/soup/ResourceHandleSoup.cpp:
2003 (WebCore::reportUnknownProtocolError):
2004 (WebCore::ResourceHandle::start):
2006 2009-02-25 Steve Falkenburg <sfalken@apple.com>
2009 Use struct to forward declare ResourceRequest.
2011 * history/HistoryItem.h:
2012 * inspector/InspectorController.h:
2013 * loader/DocumentThreadableLoader.h:
2014 * loader/FrameLoaderClient.h:
2015 * loader/MainResourceLoader.h:
2016 * loader/SubresourceLoader.h:
2017 * loader/SubresourceLoaderClient.h:
2018 * loader/ThreadableLoader.h:
2019 * loader/WorkerThreadableLoader.h:
2020 * platform/CrossThreadCopier.h:
2021 * platform/network/ResourceHandle.h:
2022 * platform/network/ResourceHandleClient.h:
2023 * platform/network/ResourceRequestBase.h:
2024 * platform/network/cf/ResourceRequestCFNet.h:
2025 * xml/XMLHttpRequest.h:
2027 2009-02-25 Steve Falkenburg <sfalken@apple.com>
2029 Partial Windows build fix.
2031 * DerivedSources.cpp:
2032 * WebCore.vcproj/WebCore.vcproj:
2034 2009-02-25 Dirk Schulze <krit@webkit.org>
2036 Reviewed by Oliver Hunt.
2038 Ported arcTo to Qt. Qt has no native support for arcTo. This changes
2039 calculate the behavior of arcTo and draws it with lineTo and arc.
2041 [QT] implement Canvas arcTo
2042 https://bugs.webkit.org/show_bug.cgi?id=23873
2044 * platform/graphics/qt/PathQt.cpp:
2045 (WebCore::Path::addArcTo):
2047 2009-02-25 Simon Fraser <simon.fraser@apple.com>
2049 Reviewed by Dan Bernstein
2051 Remove idl files from Resources, and sort.
2053 * WebCore.xcodeproj/project.pbxproj:
2055 2009-02-25 Chris Marrin <cmarrin@apple.com>
2057 Reviewed by Simon Fraser.
2059 https://bugs.webkit.org/show_bug.cgi?id=23943
2061 Added webkitConvertPointFromNodeToPage and webkitConvertPointFromPageToNode on
2062 the window object. Also added WebKitPoint object, which is passed in and out
2065 Test: fast/dom/Window/webkitConvertPoint.html
2067 * DerivedSources.make:
2069 * WebCore.vcproj/WebCore.vcproj:
2070 * WebCore.xcodeproj/project.pbxproj:
2071 * WebCoreSources.bkl:
2072 * bindings/js/JSDOMWindowBase.cpp:
2073 (jsDOMWindowBaseWebKitPoint):
2074 (setJSDOMWindowBaseWebKitPoint):
2075 * bindings/js/JSWebKitPointConstructor.cpp: Added.
2077 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
2078 (WebCore::constructWebKitPoint):
2079 (WebCore::JSWebKitPointConstructor::getConstructData):
2080 * bindings/js/JSWebKitPointConstructor.h: Added.
2081 (WebCore::JSWebKitPointConstructor::classInfo):
2083 (WebCore::Node::convertToPage):
2084 (WebCore::Node::convertFromPage):
2086 * page/DOMWindow.cpp:
2087 (WebCore::DOMWindow::webkitConvertPointFromNodeToPage):
2088 (WebCore::DOMWindow::webkitConvertPointFromPageToNode):
2090 * page/DOMWindow.idl:
2091 * page/WebKitPoint.h: Added.
2092 (WebCore::WebKitPoint::create):
2093 (WebCore::WebKitPoint::x):
2094 (WebCore::WebKitPoint::y):
2095 (WebCore::WebKitPoint::setX):
2096 (WebCore::WebKitPoint::setY):
2097 (WebCore::WebKitPoint::WebKitPoint):
2098 * page/WebKitPoint.idl: Added.
2100 2009-02-25 Jian Li <jianli@chromium.org>
2102 Reviewed by Alexey Proskuryakov.
2104 Remove "#if ENABLE(WORKERS)" wrap from CrossThreadCopier files.
2105 https://bugs.webkit.org/show_bug.cgi?id=24145
2107 * platform/CrossThreadCopier.cpp:
2108 * platform/CrossThreadCopier.h:
2110 2009-02-25 David Levin <levin@chromium.org>
2112 Reviewed by Alexey Proskuryakov.
2114 Bug 23688: ThreadableLoader needs a sync implementation for Workers.
2115 <https://bugs.webkit.org/show_bug.cgi?id=23688>
2117 No observable change in behavior, so no test.
2119 * loader/ThreadableLoader.cpp:
2120 (WebCore::ThreadableLoader::loadResourceSynchronously):
2121 * loader/ThreadableLoaderClientWrapper.h:
2122 (WebCore::ThreadableLoaderClientWrapper::clearClient):
2123 (WebCore::ThreadableLoaderClientWrapper::done):
2124 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
2125 (WebCore::ThreadableLoaderClientWrapper::didFail):
2126 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
2127 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
2128 Expose whether the loader is done (based on what callbacks were done).
2130 * loader/WorkerThreadableLoader.cpp:
2131 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2132 (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
2133 Each loader is given its own mode so that only its callbacks get through the run loop.
2135 The xhr spec says that the readystatechange events are synchronous, so in the case of a
2136 nested sync xhr no readystatechange events should be fired for the outer xhr.
2138 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2140 * loader/WorkerThreadableLoader.h:
2141 (WebCore::WorkerThreadableLoader::create):
2142 (WebCore::WorkerThreadableLoader::done):
2144 * workers/WorkerRunLoop.cpp:
2145 (WebCore::WorkerRunLoop::WorkerRunLoop):
2146 * workers/WorkerRunLoop.h:
2147 (WebCore::WorkerRunLoop::createUniqueId):
2148 Simple method to create a uniqueId on demand with respect to the run loop.
2150 * workers/WorkerThread.h:
2152 2009-02-25 David Levin <levin@chromium.org>
2154 Reviewed by Alexey Proskuryakov.
2156 Bug 24089: ThreadableLoader::loadResourceSynchronously should do callbacks like the async code.
2157 <https://bugs.webkit.org/show_bug.cgi?id=24089>
2159 Make threadable loader callbacks to happen during the sync load call.
2161 Changes the behavior of sync xhr for insecure redirects in two ways:
2162 + Sends an error event instead of an abort event (which is the same as async xhr's behavior).
2163 + Throws a network exception which is what other browsers do and what the spec
2164 says to do (http://www.w3.org/TR/XMLHttpRequest/).
2166 * loader/DocumentThreadableLoader.cpp:
2167 (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
2168 * loader/DocumentThreadableLoader.h:
2169 * loader/ThreadableLoader.cpp:
2170 (WebCore::ThreadableLoader::loadResourceSynchronously):
2171 * loader/ThreadableLoader.h:
2172 * xml/XMLHttpRequest.cpp:
2173 (WebCore::XMLHttpRequest::XMLHttpRequest):
2174 (WebCore::XMLHttpRequest::loadRequestSynchronously):
2175 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2176 (WebCore::XMLHttpRequest::didFail):
2177 (WebCore::XMLHttpRequest::didFailRedirectCheck):
2178 * xml/XMLHttpRequest.h:
2180 2009-02-24 Chris Marrin <cmarrin@apple.com>
2182 Reviewed by David Hyatt.
2184 https://bugs.webkit.org/show_bug.cgi?id=23368
2186 Added logic to correctly hit test accelerated layers.
2188 Tests: animations/animation-hit-test-transform.html
2189 animations/animation-hit-test.html
2190 transitions/transition-hit-test-transform.html
2191 transitions/transition-hit-test.html
2193 * page/animation/KeyframeAnimation.cpp:
2194 (WebCore::KeyframeAnimation::animate):
2195 * rendering/RenderLayer.cpp:
2196 (WebCore::RenderLayer::hitTestLayer):
2197 (WebCore::RenderLayer::updateClipRects):
2198 * rendering/RenderLayerBacking.cpp:
2199 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2201 2009-02-25 Alexey Proskuryakov <ap@webkit.org>
2203 Reviewed by Darin Adler.
2205 https://bugs.webkit.org/show_bug.cgi?id=24067
2206 REGRESSION: Crash in WebCore::Document::initSecurityContext
2208 The crash started to happen when we removed a check for frame->document() being null.
2209 However, the original document shouldn't be null here, because it is needed to alias
2210 security origins. So, this patch fixes the crash by correcting security origin behavior.
2212 Test: http/tests/security/aboutBlank/window-open-self-about-blank.html
2213 This tests for not crashing, and for inheriting the domain from the document being replaced.
2214 Preserving the aliasing cannot be tested for automatically, because we'd need a non-trivial
2215 domain to remove a prefix from.
2217 * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Create a new document before
2218 clearing the frame, so that Document::initSecurityContext() could access the old one.
2220 2009-02-25 Jay Campan <jcampan@google.com>
2222 Reviewed by Darin Fisher.
2224 https://bugs.webkit.org/show_bug.cgi?id=24066
2226 Items in drop-downs were not painted correctly. Makes sure the
2227 PopupListBox invalidates in the coordinates of the window as this is
2228 FramelessScrollView::invalidateRect paints to.
2230 * platform/chromium/PopupMenuChromium.cpp:
2231 (WebCore::PopupListBox::invalidateRow):
2233 2009-02-24 Simon Fraser <simon.fraser@apple.com>
2235 Reviewed by Anders Carlsson
2237 https://bugs.webkit.org/show_bug.cgi?id=15081
2239 Make display:none work for applet, emebed and object elements
2240 by calling rendererIsNeeded() on superclasses.
2242 Tests: fast/replaced/applet-display-none.html
2243 fast/replaced/embed-display-none.html
2244 fast/replaced/object-display-none.html
2246 * html/HTMLAppletElement.cpp:
2247 (WebCore::HTMLAppletElement::rendererIsNeeded):
2248 * html/HTMLElement.cpp:
2249 (WebCore::HTMLElement::rendererIsNeeded):
2250 * html/HTMLEmbedElement.cpp:
2251 (WebCore::HTMLEmbedElement::rendererIsNeeded):
2252 * html/HTMLObjectElement.cpp:
2253 (WebCore::HTMLObjectElement::rendererIsNeeded):
2255 2009-02-24 Simon Fraser <simon.fraser@apple.com>
2257 Reviewed by Dave Hyatt
2259 https://bugs.webkit.org/show_bug.cgi?id=24137
2261 Fix localToAbsolute() and absoluteToLocal() to map points through 3d transforms,
2262 taking perspective and transform-style: preserve-3d into account.
2264 In order to support transform-style: preserve-3d, which keeps elements in a
2265 3d space, we have to carry along an accumulated matrix in TransformState.
2266 We also need to apply the perspective from the parent, if any, with the
2273 * WebCore.vcproj/WebCore.vcproj:
2274 * WebCore.xcodeproj/project.pbxproj:
2275 * WebCoreSources.bkl:
2276 * css/CSSComputedStyleDeclaration.cpp:
2277 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2278 * platform/graphics/transforms/TransformationMatrix.cpp:
2279 (WebCore::TransformationMatrix::translate):
2280 (WebCore::TransformationMatrix::translate3d):
2281 (WebCore::TransformationMatrix::translateRight3d):
2282 * platform/graphics/transforms/TransformationMatrix.h:
2283 * rendering/RenderBox.cpp:
2284 (WebCore::RenderBox::mapLocalToAbsolutePoint):
2285 (WebCore::RenderBox::mapAbsoluteToLocalPoint):
2286 * rendering/RenderBox.h:
2287 * rendering/RenderLayer.cpp:
2288 (WebCore::RenderLayer::updateTransform):
2289 (WebCore::RenderLayer::perspectiveTransform):
2290 (WebCore::RenderLayer::perspectiveOrigin):
2291 * rendering/RenderLayer.h:
2292 * rendering/RenderLayerBacking.cpp:
2293 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2294 * rendering/RenderLayerCompositor.cpp:
2295 (WebCore::requiresCompositingLayerForTransform):
2296 (WebCore::RenderLayerCompositor::layerHas3DContent):
2297 * rendering/RenderObject.cpp:
2298 (WebCore::RenderObject::localToAbsolute):
2299 (WebCore::RenderObject::absoluteToLocal):
2300 (WebCore::RenderObject::mapLocalToAbsolutePoint):
2301 (WebCore::RenderObject::mapAbsoluteToLocalPoint):
2302 * rendering/RenderObject.h:
2303 * rendering/RenderTableCell.cpp:
2304 (WebCore::RenderTableCell::mapLocalToAbsolutePoint):
2305 (WebCore::RenderTableCell::mapAbsoluteToLocalPoint):
2306 * rendering/RenderTableCell.h:
2307 * rendering/RenderView.cpp:
2308 (WebCore::RenderView::mapLocalToAbsolutePoint):
2309 (WebCore::RenderView::mapAbsoluteToLocalPoint):
2310 * rendering/RenderView.h:
2311 * rendering/TransformState.cpp: Added.
2312 (WebCore::TransformState::move):
2313 (WebCore::TransformState::applyTransform):
2314 (WebCore::TransformState::flatten):
2315 * rendering/TransformState.h: Added.
2316 (WebCore::TransformState::):
2317 (WebCore::TransformState::TransformState):
2318 (WebCore::TransformState::move):
2319 * rendering/style/RenderStyle.h:
2320 (WebCore::InheritedFlags::hasPerspective):
2322 2009-02-24 Sam Weinig <sam@webkit.org>
2324 Reviewed by David Hyatt.
2326 Fix for https://bugs.webkit.org/show_bug.cgi?id=23990
2327 Regression (r40837): JavaScript image popup doesn't work
2329 Make the getClientRects and getBoundingClientRect methods return rects
2330 relative to the viewport.
2332 Test: fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html
2335 (WebCore::Element::getClientRects):
2336 (WebCore::Element::getBoundingClientRect):
2338 2009-02-24 Ojan Vafai <ojan@chromium.org>
2340 Reviewed by Eric Seidel.
2342 SVG pages don't have a body or an html element!
2343 Don't return early if there is no body.
2345 * editing/VisiblePosition.cpp:
2346 (WebCore::VisiblePosition::canonicalPosition):
2348 2009-02-23 David Hyatt <hyatt@apple.com>
2350 Reviewed by Eric Seidel
2352 https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden
2354 This patch reworks the painting of overflow. There is now the concept of a "self-painting layer." All
2355 layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have
2356 reflections or masks).
2358 If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object.
2359 The only difference is that the clip has to be pushed and popped when painting the object's children.
2361 The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case. With
2362 the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to
2363 use the new functions.
2365 Hit testing has also been patched to check the overflow clip rect first before recurring into children.
2367 Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars
2368 yet, and scrollbar hit testing was already there anyway. Now the two code paths are more symmetrical.
2370 Masks are now treated like normal flow layers (just like reflections).
2372 A couple of test cases have been added to fast/overflow to test the stacking order.
2374 * rendering/InlineFlowBox.cpp:
2375 (WebCore::InlineFlowBox::nodeAtPoint):
2376 (WebCore::InlineFlowBox::paint):
2377 * rendering/RenderBlock.cpp:
2378 (WebCore::RenderBlock::repaintOverhangingFloats):
2379 (WebCore::RenderBlock::paint):
2380 (WebCore::RenderBlock::paintChildren):
2381 (WebCore::RenderBlock::paintObject):
2382 (WebCore::RenderBlock::paintFloats):
2383 (WebCore::RenderBlock::insertFloatingObject):
2384 (WebCore::RenderBlock::floatRect):
2385 (WebCore::RenderBlock::lowestPosition):
2386 (WebCore::RenderBlock::rightmostPosition):
2387 (WebCore::RenderBlock::leftmostPosition):
2388 (WebCore::RenderBlock::addOverhangingFloats):
2389 (WebCore::RenderBlock::nodeAtPoint):
2390 (WebCore::RenderBlock::hitTestContents):
2391 * rendering/RenderBox.cpp:
2392 (WebCore::RenderBox::nodeAtPoint):
2393 (WebCore::RenderBox::pushContentsClip):
2394 (WebCore::RenderBox::popContentsClip):
2395 * rendering/RenderBox.h:
2396 (WebCore::RenderBox::paintObject):
2397 * rendering/RenderBoxModelObject.cpp:
2398 (WebCore::RenderBoxModelObject::hasSelfPaintingLayer):
2399 * rendering/RenderBoxModelObject.h:
2400 * rendering/RenderLayer.cpp:
2401 (WebCore::RenderLayer::paintLayer):
2402 (WebCore::RenderLayer::hitTestLayer):
2403 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2404 (WebCore::RenderLayer::isSelfPaintingLayer):
2405 * rendering/RenderLayer.h:
2406 * rendering/RenderTable.cpp:
2407 (WebCore::RenderTable::paint):
2408 (WebCore::RenderTable::paintObject):
2409 (WebCore::RenderTable::nodeAtPoint):
2410 * rendering/RenderTable.h:
2411 * rendering/RenderTableCell.cpp:
2412 (WebCore::RenderTableCell::paint):
2413 * rendering/RenderTableRow.cpp:
2414 (WebCore::RenderTableRow::nodeAtPoint):
2415 (WebCore::RenderTableRow::paint):
2416 * rendering/RenderTableRow.h:
2417 * rendering/RenderTableSection.cpp:
2418 (WebCore::RenderTableSection::paint):
2419 (WebCore::RenderTableSection::paintObject):
2420 (WebCore::RenderTableSection::nodeAtPoint):
2421 * rendering/RenderTableSection.h:
2422 * rendering/RenderTreeAsText.cpp:
2424 (WebCore::writeLayers):
2426 2009-02-24 David Levin <levin@chromium.org>
2428 Reviewed by NOBODY (build fix).
2430 Attempted build fix for wx-mac.
2432 * WebCoreSources.bkl:
2434 2009-02-24 David Levin <levin@chromium.org>
2436 Reviewed by NOBODY (build fix).
2438 Attempted build fixes for qt-linux and wx-mac.
2443 2009-02-24 Ojan Vafai <ojan@dhcp-172-31-134-214.sfo.corp.google.com>
2445 Reviewed by Sam Weinig.
2447 Fix null pointer error. If the node is the Document, then ownerDocument()
2448 returns null, document() does not.
2450 * editing/VisiblePosition.cpp:
2451 (WebCore::VisiblePosition::canonicalPosition):
2453 2009-02-24 Jian Li <jianli@chromium.org>
2455 Reviewed by NOBODY (attempted build fixes).
2457 Fix build break for Windows and Linux.
2460 * WebCore.vcproj/WebCore.vcproj:
2462 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
2464 Reviewed by Eric Seidel.
2466 https://bugs.webkit.org/show_bug.cgi?id=24131
2467 Fix-up COM/RefCounted dichotomy in Chromium port.
2469 * page/chromium/AccessibilityObjectWrapper.h:
2470 (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Added
2471 explicit setting of recount.
2473 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
2475 Reviewed by Eric Seidel.
2477 https://bugs.webkit.org/show_bug.cgi?id=24141
2478 Add clarity to V8 interceptor helper function.
2480 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2481 (WebCore::NAMED_PROPERTY_GETTER): Renamed to notHandledByInterceptor.
2482 (WebCore::NAMED_PROPERTY_SETTER): Ditto.
2483 (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
2484 (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
2486 2009-02-24 Simon Fraser <simon.fraser@apple.com>
2488 Reviewed by Eric Seidel
2490 Minor numeric cleanup: convert float literals to doubles.
2492 * platform/graphics/transforms/RotateTransformOperation.cpp:
2493 (WebCore::RotateTransformOperation::blend):
2495 2009-02-24 Mark Mentovai <mark@chromium.org>
2497 Reviewed by Eric Seidel.
2499 https://bugs.webkit.org/show_bug.cgi?id=24139
2500 Add missing include.
2502 * bindings/v8/ScriptInstance.h:
2504 2009-02-24 Jian Li <jianli@chromium.org>
2506 Reviewed by Alexey Proskuryakov.
2508 Move worker related files from dom directory to worker directory under WebCore.
2509 https://bugs.webkit.org/show_bug.cgi?id=24123
2511 * DerivedSources.make:
2515 * WebCore.vcproj/MigrateIDLAndScripts:
2516 * WebCore.vcproj/WebCore.vcproj:
2517 * WebCore.xcodeproj/project.pbxproj:
2518 * platform/CrossThreadCopier.cpp: Renamed from WebCore/dom/CrossThreadCopier.cpp.
2519 * platform/CrossThreadCopier.h: Renamed from WebCore/dom/CrossThreadCopier.h.
2520 * workers/GenericWorkerTask.h: Renamed from WebCore/dom/GenericWorkerTask.h.
2521 * workers/Worker.cpp: Renamed from WebCore/dom/Worker.cpp.
2522 * workers/Worker.h: Renamed from WebCore/dom/Worker.h.
2523 * workers/Worker.idl: Renamed from WebCore/dom/Worker.idl.
2524 * workers/WorkerContext.cpp: Renamed from WebCore/dom/WorkerContext.cpp.
2525 * workers/WorkerContext.h: Renamed from WebCore/dom/WorkerContext.h.
2526 * workers/WorkerContext.idl: Renamed from WebCore/dom/WorkerContext.idl.
2527 * workers/WorkerContextProxy.h: Renamed from WebCore/dom/WorkerContextProxy.h.
2528 * workers/WorkerLocation.cpp: Renamed from WebCore/dom/WorkerLocation.cpp.
2529 * workers/WorkerLocation.h: Renamed from WebCore/dom/WorkerLocation.h.
2530 * workers/WorkerLocation.idl: Renamed from WebCore/dom/WorkerLocation.idl.
2531 * workers/WorkerMessagingProxy.cpp: Renamed from WebCore/dom/WorkerMessagingProxy.cpp.
2532 * workers/WorkerMessagingProxy.h: Renamed from WebCore/dom/WorkerMessagingProxy.h.
2533 * workers/WorkerObjectProxy.h: Renamed from WebCore/dom/WorkerObjectProxy.h.
2534 * workers/WorkerRunLoop.cpp: Renamed from WebCore/dom/WorkerRunLoop.cpp.
2535 * workers/WorkerRunLoop.h: Renamed from WebCore/dom/WorkerRunLoop.h.
2536 * workers/WorkerThread.cpp: Renamed from WebCore/dom/WorkerThread.cpp.
2537 * workers/WorkerThread.h: Renamed from WebCore/dom/WorkerThread.h.
2539 2009-02-05 Ojan Vafai <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
2541 Reviewed by Dave Hyatt.
2543 Make cursor positions match IE6/IE7/FF3 when clicking in margins/padding
2544 around divs inside editable regions.
2545 https://bugs.webkit.org/show_bug.cgi?id=23605
2547 Fix clicks outside editable regions from focusing the editable region.
2548 https://bugs.webkit.org/show_bug.cgi?id=23607
2550 Removed editing/selection/contenteditable-click-outside.html as it's
2551 not as useful as our new tests.
2553 Clean up RenderBlock::positionForCoordinates to remove dead code,
2554 duplicate code, and generally make it more readable.
2556 Tests: editing/selection/click-in-margins-inside-editable-div.html
2557 editing/selection/click-in-padding-with-multiple-line-boxes.html
2558 editing/selection/click-outside-editable-div.html
2560 * editing/VisiblePosition.cpp:
2561 (WebCore::VisiblePosition::canonicalPosition):
2562 * rendering/RenderBlock.cpp:
2563 (WebCore::positionForPointRespectingEditingBoundaries):
2564 (WebCore::positionForPointWithInlineChildren):
2565 (WebCore::RenderBlock::positionForCoordinates):
2566 (WebCore::RenderBlock::updateFirstLetter):
2568 2009-02-24 Sam Weinig <sam@webkit.org>
2570 Reviewed by Geoffrey Garen.
2572 Related to <rdar://problem/6590295>
2573 Allow disabling javascript: urls.
2576 * html/HTMLAnchorElement.cpp:
2577 (WebCore::HTMLAnchorElement::parseMappedAttribute):
2578 * loader/FrameLoader.cpp:
2579 (WebCore::FrameLoader::executeIfJavaScriptURL):
2581 (WebCore::Page::Page):
2582 (WebCore::Page::setJavaScriptURLsAreAllowed):
2583 (WebCore::Page::javaScriptURLsAreAllowed):
2586 2009-02-24 Simon Fraser <simon.fraser@apple.com>
2588 Fix build when ACCELERATED_COMPOSITING is turned on
2589 (overflowList() -> normalFlowList()).
2591 * rendering/RenderLayerBacking.cpp:
2592 (WebCore::RenderLayerBacking::hasNonCompositingContent):
2593 (WebCore::RenderLayerBacking::paintIntoLayer):
2594 * rendering/RenderLayerCompositor.cpp:
2595 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2596 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2597 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2598 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
2599 (WebCore::RenderLayerCompositor::layerHas3DContent):
2601 2009-02-24 Simon Fraser <simon.fraser@apple.com>
2603 Reviewed by Darin Adler
2605 https://bugs.webkit.org/show_bug.cgi?id=24135
2607 Round the FloatPoint returned by absoluteToLocal(), rather than
2610 * dom/MouseRelatedEvent.cpp:
2611 (WebCore::MouseRelatedEvent::receivedTarget):
2613 2009-02-24 Beth Dakin <bdakin@apple.com>
2615 Reviewed by Sam Weinig.
2617 Fix for https://bugs.webkit.org/show_bug.cgi?id=24004 REGRESSION:
2618 Ordered list item marker misaligned when line height is not 1.2
2619 -and corresponding <rdar://problem/6602506>
2621 This is a regression from http://trac.webkit.org/changeset/40880
2622 where createInlineBox was taken off of RenderObject and moved to
2623 RenderBox. The problem was that the RenderBox version still needs
2624 to be virtual because there is still an existing implementation in
2627 * rendering/RenderBox.h:
2628 * rendering/RenderListMarker.cpp:
2629 (WebCore::RenderListMarker::createInlineBox):
2630 * rendering/RenderListMarker.h:
2632 2009-02-24 Dimitri Glazkov <dglazkov@chromium.org>
2634 Reviewed by Eric Seidel.
2636 https://bugs.webkit.org/show_bug.cgi?id=24128
2637 Upstream more V8 custom bindings: constructors, XSLTProcessor.
2639 * bindings/v8/custom/V8DOMParserConstructor.cpp: Added.
2640 (WebCore::CALLBACK_FUNC_DECL):
2641 * bindings/v8/custom/V8MessageChannelConstructor.cpp: Added.
2642 (WebCore::CALLBACK_FUNC_DECL):
2643 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Added.
2644 (WebCore::CALLBACK_FUNC_DECL):
2645 * bindings/v8/custom/V8XMLSerializerConstructor.cpp: Added.
2646 (WebCore::CALLBACK_FUNC_DECL):
2647 * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Added.
2648 (WebCore::CALLBACK_FUNC_DECL):
2649 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Added.
2650 (WebCore::CALLBACK_FUNC_DECL):
2652 2009-02-24 David Levin <levin@chromium.org>
2654 Reviewed by Alexey Proskuryakov.
2656 Bug 24090: WorkerThreadableLoader needs to be able to post tasks for a mode.
2657 <https://bugs.webkit.org/show_bug.cgi?id=24090>
2659 No observable change in behavior, so no test.
2661 * dom/WorkerMessagingProxy.cpp:
2662 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2663 (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
2664 Fixed the bug that m_unconfirmedMessageCount was getting incremented for non-message tasks.
2666 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
2668 * dom/WorkerMessagingProxy.h:
2669 * loader/ThreadableLoader.cpp:
2670 (WebCore::ThreadableLoader::create):
2671 * loader/WorkerThreadableLoader.cpp:
2672 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2673 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2674 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
2675 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
2676 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
2677 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
2678 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
2679 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
2680 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
2681 Changed these methods to post task using a mode.
2683 * loader/WorkerThreadableLoader.h:
2684 (WebCore::WorkerThreadableLoader::create):
2686 2009-02-24 Alexey Proskuryakov <ap@webkit.org>
2688 Reviewed by Darin Adler.
2690 https://bugs.webkit.org/show_bug.cgi?id=24091
2691 <rdar://problem/6468660> Start of redirect chain ends up as master entry in Application Cache
2693 Test: http/tests/appcache/access-via-redirect.php
2695 * loader/appcache/ApplicationCacheGroup.cpp:
2696 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Use the URL we ended up with,
2697 not the original one.
2699 2009-02-24 Jian Li <jianli@chromium.org>
2701 Reviewed by Alexey Proskuryakov.
2703 Change to include WorkerObjectProxy.h instead of WorkerMessagingProxy.h in WorkerContext.cpp and WorkerScriptController.cpp.
2704 https://bugs.webkit.org/show_bug.cgi?id=24112
2706 * bindings/js/WorkerScriptController.cpp:
2707 * dom/WorkerContext.cpp:
2709 2009-02-23 Antti Koivisto <antti@apple.com>
2711 Reviewed by Oliver Hunt.
2713 <rdar://problem/6613796> Extended text codecs registered on webview creation
2715 Comparing a text encoding with string "GBK" ended up constructing
2716 TextEncoding("GBK") which in turn initialized all extended
2719 * platform/text/TextCodecICU.cpp:
2720 (WebCore::TextCodecICU::decode):
2722 2009-02-23 Sam Weinig <sam@webkit.org>
2726 * bridge/qt/qt_runtime.cpp:
2727 (JSC::Bindings::valueRealType):
2729 2009-02-23 Julien Chaffraix <jchaffraix@webkit.org>
2731 Reviewed by Darin Adler.
2733 Bug 23956: Safari crashes when cloneNode fails (cloning a XML element with an invalid nodeName)
2735 The crash occurred because Document::cloneNode would call Document::createElementNS. Unfortunately
2736 element created with createElement could have a wrong nodeName (createElement sets the string as the
2737 localName without checking for a prefix).
2739 The fix is to call Document::createElement(const QualifiedName&, bool) that will not do any checks on the QualifiedName
2740 and will always succeed.
2741 Also rolled-out the HTMLElement specialisation of clonedNode as it was equivalent to what is done now (added an ASSERT
2744 Test: fast/dom/cloneNode.html
2747 (WebCore::Element::cloneNode): Call createElement(const QualifiedName&, bool) instead of createElementNS as it will
2748 always return an element.
2750 * html/HTMLElement.cpp:
2751 * html/HTMLElement.h: Removed HTMLElement::clonedNode as it is equivalent to what is now done.
2753 2009-02-23 Dimitri Glazkov <dglazkov@chromium.org>
2755 Reviewed by Eric Seidel.
2757 https://bugs.webkit.org/show_bug.cgi?id=24109
2758 Upstream V8 Script abstractions, all except ScriptController.
2760 * bindings/v8/ScriptCachedFrameData.h: Added.
2761 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
2762 (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
2763 (WebCore::ScriptCachedFrameData::restore):
2764 (WebCore::ScriptCachedFrameData::clear):
2765 (WebCore::ScriptCachedFrameData::domWindow):
2766 * bindings/v8/ScriptCallFrame.cpp: Added.
2767 (WebCore::ScriptCallFrame::ScriptCallFrame):
2768 (WebCore::ScriptCallFrame::~ScriptCallFrame):
2769 (WebCore::ScriptCallFrame::argumentAt):
2770 * bindings/v8/ScriptCallFrame.h: Added.
2771 (WebCore::ScriptCallFrame::functionName):
2772 (WebCore::ScriptCallFrame::sourceURL):
2773 (WebCore::ScriptCallFrame::lineNumber):
2774 (WebCore::ScriptCallFrame::argumentCount):
2775 * bindings/v8/ScriptCallStack.cpp: Added.
2776 (WebCore::ScriptCallStack::ScriptCallStack):
2777 (WebCore::ScriptCallStack::~ScriptCallStack):
2778 (WebCore::ScriptCallStack::at):
2779 * bindings/v8/ScriptCallStack.h: Added.
2780 (WebCore::ScriptCallStack::size):
2781 * bindings/v8/ScriptInstance.cpp: Added.
2782 (WebCore::V8ScriptInstance::V8ScriptInstance):
2783 (WebCore::V8ScriptInstance::~V8ScriptInstance):
2784 (WebCore::V8ScriptInstance::instance):
2785 (WebCore::V8ScriptInstance::clear):
2786 (WebCore::V8ScriptInstance::set):
2787 * bindings/v8/ScriptInstance.h: Added.
2788 (WebCore::V8ScriptInstance::create):
2789 * bindings/v8/ScriptSourceCode.h: Added.
2790 (WebCore::ScriptSourceCode::ScriptSourceCode):
2791 (WebCore::ScriptSourceCode::isEmpty):
2792 (WebCore::ScriptSourceCode::source):
2793 (WebCore::ScriptSourceCode::url):
2794 (WebCore::ScriptSourceCode::startLine):
2795 * bindings/v8/ScriptState.h: Added.
2796 (WebCore::ScriptState::hadException):
2797 (WebCore::ScriptState::setException):
2798 (WebCore::ScriptState::exception):
2799 * bindings/v8/ScriptString.h: Added.
2800 (WebCore::ScriptString::ScriptString):
2801 (WebCore::ScriptString::operator String):
2802 (WebCore::ScriptString::isNull):
2803 (WebCore::ScriptString::size):
2804 (WebCore::ScriptString::operator=):
2805 (WebCore::ScriptString::operator+=):
2806 * bindings/v8/ScriptValue.cpp: Added.
2807 (WebCore::ScriptValue::getString):
2808 * bindings/v8/ScriptValue.h: Added.
2809 (WebCore::ScriptValue::ScriptValue):
2810 (WebCore::ScriptValue::operator=):
2811 (WebCore::ScriptValue::operator==):
2812 (WebCore::ScriptValue::operator!=):
2813 (WebCore::ScriptValue::isNull):
2814 (WebCore::ScriptValue::isUndefined):
2815 (WebCore::ScriptValue::clear):
2816 (WebCore::ScriptValue::~ScriptValue):
2817 (WebCore::ScriptValue::v8Value):
2819 2009-02-23 Adam Treat <adam.treat@torchmobile.com>
2821 Reviewed by Timothy Hatcher.
2823 https://bugs.webkit.org/show_bug.cgi?id=24106
2824 The Qt port is crashing on exit because the tear down procedure involves
2825 the WebCore::InspectorController trying to access the JS execution context
2826 for a page that is being deleted. This patch amends the inspector so
2827 that it does not try and access the execution context of the WebCore::Page
2828 in the midst of deletion.
2830 * inspector/InspectorController.cpp:
2831 (WebCore::InspectorController::inspectedPageDestroyed):
2832 (WebCore::InspectorController::stopUserInitiatedProfiling):
2834 2009-02-23 David Levin <levin@chromium.org>
2836 Reviewed by Alexey Proskuryakov.
2838 Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name.
2839 <https://bugs.webkit.org/show_bug.cgi?id=24088>
2841 No observable change in behavior, so no test.
2843 * loader/DocumentThreadableLoader.cpp:
2844 (WebCore::DocumentThreadableLoader::create):
2845 * loader/ThreadableLoaderClient.h:
2846 (WebCore::ThreadableLoaderClient::didFailRedirectCheck):
2847 * loader/ThreadableLoaderClientWrapper.h:
2848 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
2849 * loader/WorkerThreadableLoader.cpp:
2850 (WebCore::workerContextDidFailRedirectCheck):
2851 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
2852 * loader/WorkerThreadableLoader.h:
2853 * xml/XMLHttpRequest.cpp:
2854 (WebCore::XMLHttpRequest::didFinishLoading):
2855 * xml/XMLHttpRequest.h:
2857 2009-02-23 David Levin <levin@chromium.org>
2859 Reviewed by Alexey Proskuryakov.
2861 Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode
2862 <https://bugs.webkit.org/show_bug.cgi?id=24047>
2864 Made a nested if inside of WorkerRunLoop::runInMode a lot simpler by
2865 using only MessageQueue::waitForMessageFilteredWithTimeout instead
2866 of three different MessageQueue methods.
2868 No observable change in behavior, so no test.
2870 * dom/WorkerRunLoop.cpp:
2871 (WebCore::ModePredicate::operator()):
2872 Minor clean-up to able to pass a const ref point for ModePredicate into runInMode.
2873 (WebCore::WorkerRunLoop::runInMode):
2874 * dom/WorkerRunLoop.h:
2876 2009-02-23 David Hyatt <hyatt@apple.com>
2878 In preparation for making layers for multicol objects (so that they can properly split child layers
2879 into multiple columns), rename all of the "overflowOnly" and "overflowList" members and functions
2880 of RenderLayer to use the term "normal flow" instead.
2882 Reviewed by Cameron Zwarich
2884 * rendering/RenderLayer.cpp:
2885 (WebCore::RenderLayer::RenderLayer):
2886 (WebCore::RenderLayer::~RenderLayer):
2887 (WebCore::RenderLayer::setHasVisibleContent):
2888 (WebCore::RenderLayer::enclosingCompositingLayer):
2889 (WebCore::RenderLayer::addChild):
2890 (WebCore::RenderLayer::removeChild):
2891 (WebCore::RenderLayer::paintLayer):
2892 (WebCore::RenderLayer::hitTestLayer):
2893 (WebCore::RenderLayer::dirtyNormalFlowList):
2894 (WebCore::RenderLayer::updateNormalFlowList):
2895 (WebCore::RenderLayer::collectLayers):
2896 (WebCore::RenderLayer::updateLayerListsIfNeeded):
2897 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2898 (WebCore::RenderLayer::styleChanged):
2899 * rendering/RenderLayer.h:
2900 (WebCore::RenderLayer::isNormalFlowOnly):
2901 (WebCore::RenderLayer::normalFlowList):
2902 * rendering/RenderTreeAsText.cpp:
2903 (WebCore::writeLayers):
2905 2009-02-23 David Hyatt <hyatt@apple.com>
2907 Fix the stacking order for column rules in multi-column layout. Column rules should paint as part of the background of an element, just
2908 after all other components of the background have been painted. This allows negative z-index children to still paint on top of the
2909 column rules (rather than ending up above the background of the box but behind the column rules).
2911 Reviewed by Eric Seidel
2913 Added fast/multicol/column-rules-stacking.html
2915 * rendering/RenderBlock.cpp:
2916 (WebCore::RenderBlock::paintColumnRules):
2917 (WebCore::RenderBlock::paintColumnContents):
2918 (WebCore::RenderBlock::paintObject):
2919 * rendering/RenderBlock.h:
2921 2009-02-23 Adam Treat <adam.treat@torchmobile.com>
2923 Reviewed by David Hyatt.
2925 No testcases have been added or modified since this patch should not result in
2926 a behavior change for ports that have layout tests enabled.
2928 Currently, the implementation of GraphicsContext::drawLineForText amongst
2929 the various ports differ in that some of them are honoring the context's
2930 strokeStyle when drawing a text-decoration and some of them are not.
2931 For instance, Apple's Mac port *does not* honor the context's strokeStyle(),
2932 but the Cairo implementation does and has an explicit workaround that
2933 sets the strokeStyle() temporarily.
2935 This patch fixes so that all ports are consistent by explicitly making sure
2936 to set the GraphicsContext strokeStyle to SolidStroke whenever
2937 painting the text-decoration of an InlineFlowBox or InlineTextBox as these
2938 should always use a solid stroke.
2940 This patch addresses these bugs:
2941 https://bugs.webkit.org/show_bug.cgi?id=19364
2942 https://bugs.webkit.org/show_bug.cgi?id=15659
2944 * rendering/InlineFlowBox.cpp:
2945 (WebCore::InlineFlowBox::paintTextDecorations):
2946 * rendering/InlineTextBox.cpp:
2947 (WebCore::InlineTextBox::paintDecoration):
2949 2009-02-23 Scott Violet <sky@google.com>
2951 Reviewed by Eric Seidel.
2953 https://bugs.webkit.org/show_bug.cgi?id=24098
2954 Bugs in ClipboardChromium
2956 Fixes the following bugs in ClipboardChromium:
2957 * It's possible for the extension to be empty, resulting in a bad file
2958 name, for example, 'foo.' or just '.'.
2959 * We weren't restricting the size of the file to MAX_PATH.
2960 * We weren't removing characters that are invalid for file system names.
2962 * platform/chromium/ClipboardChromium.cpp:
2963 (WebCore::writeImageToDataObject):
2964 * platform/chromium/ClipboardChromium.h:
2965 * platform/chromium/ClipboardChromiumLinux.cpp: Added.
2966 (WebCore::ClipboardChromium::validateFileName):
2967 * platform/chromium/ClipboardChromiumMac.cpp: Added.
2968 (WebCore::ClipboardChromium::validateFileName):
2969 * platform/chromium/ClipboardChromiumWin.cpp: Added.
2970 (WebCore::isInvalidFileCharacter):
2971 (WebCore::ClipboardChromium::validateFileName):
2973 2009-02-23 Thiago Macieira <thiago.macieira@nokia.com>
2975 Reviewed by Simon Hausmann.
2977 Fix the Copyright notices in a few files
2979 * platform/qt/RenderThemeQt.h:
2981 2009-02-23 Xan Lopez <xan@gnome.org>
2983 Reviewed by Alexey Proskuryakov.
2985 https://bugs.webkit.org/show_bug.cgi?id=22624
2986 [SOUP][GTK] Need API to get SoupSession from WebKit.
2988 Allow to retrieve the Soup session and modify the code to take
2989 into account users changing features on it.
2991 * platform/network/ResourceHandle.h:
2992 * platform/network/soup/CookieJarSoup.cpp:
2993 (WebCore::defaultCookieJar):
2994 (WebCore::setDefaultCookieJar):
2995 * platform/network/soup/CookieJarSoup.h:
2996 * platform/network/soup/ResourceHandleSoup.cpp:
2997 (WebCore::createSoupSession):
2998 (WebCore::ensureSessionIsInitialized):
2999 (WebCore::ResourceHandle::startHttp):
3000 (WebCore::ResourceHandle::cancel):
3001 (WebCore::ResourceHandle::defaultSession):
3003 2009-02-23 Xan Lopez <xan@gnome.org>
3005 Reviewed by Alexey Proskuryakov.
3007 https://bugs.webkit.org/show_bug.cgi?id=22624
3008 [SOUP][GTK] Need API to get SoupSession from WebKit.
3010 Remove CURL support.
3014 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
3016 Reviewed by Mark Rowe.
3018 Test: fast/dom/empty-hash-and-search.html
3020 https://bugs.webkit.org/show_bug.cgi?id=21147
3021 hash property returns incorrect value for links w/o hash
3023 Make hash() and search() behavior for empty and missing parts match IE and Firefox.
3025 * platform/KURL.cpp:
3026 (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref().
3027 (WebCore::KURL::prettyURL): Append the query with the question mark.
3029 * page/Location.cpp:
3030 (WebCore::Location::search): Return an empty string if query is empty or missing.
3031 (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones.
3033 * dom/WorkerLocation.cpp:
3034 (WebCore::WorkerLocation::search):
3035 (WebCore::WorkerLocation::hash):
3036 Match document.location fixes above.
3038 * html/HTMLAnchorElement.cpp:
3039 (WebCore::HTMLAnchorElement::hash):
3040 (WebCore::HTMLAnchorElement::search):
3041 Return an empty string for empty and missing parts.
3043 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
3045 Reviewed by Darin Adler.
3047 https://bugs.webkit.org/show_bug.cgi?id=20184
3048 SELECT with no name generates invalid query string
3050 Test: fast/forms/select-no-name.html
3052 * html/HTMLSelectElement.cpp:
3053 (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name.
3055 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
3057 Apply review comments for the previous check-in (forgot to save the file, oops).
3059 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren):
3061 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
3063 Reviewed by Darin Adler.
3065 https://bugs.webkit.org/show_bug.cgi?id=15707
3066 Crash when manipulating document from within an iframe onload function
3068 Test: fast/dom/onload-open.html
3070 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and
3071 the current node, because anything can happen when dispatching events.
3073 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
3075 Reviewed by Darin Adler.
3077 https://bugs.webkit.org/show_bug.cgi?id=18970
3078 Numerically named input fields cause document.forms loop problems
3080 Test: fast/forms/numeric-input-name.html
3082 * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the
3083 latter overrides properties.
3085 2009-02-23 Alexey Proskuryakov <ap@webkit.org>
3087 Reviewed by Sam Weinig.
3089 https://bugs.webkit.org/show_bug.cgi?id=24059
3090 Tokenizer::write() return value is never used
3093 * dom/XMLTokenizer.cpp:
3094 (WebCore::XMLTokenizer::write):
3095 * dom/XMLTokenizer.h:
3096 * html/HTMLTokenizer.cpp:
3097 (WebCore::HTMLTokenizer::write):
3098 * html/HTMLTokenizer.h:
3099 * loader/FTPDirectoryDocument.cpp:
3100 (WebCore::FTPDirectoryTokenizer::write):
3101 * loader/ImageDocument.cpp:
3102 (WebCore::ImageTokenizer::write):
3103 * loader/MediaDocument.cpp:
3104 (WebCore::MediaTokenizer::write):
3105 * loader/PluginDocument.cpp:
3106 (WebCore::PluginTokenizer::write):
3107 * loader/TextDocument.cpp:
3108 (WebCore::TextTokenizer::write):
3109 Made write() return void, not bool.
3111 2009-02-20 Geoffrey Garen <ggaren@apple.com>
3113 Reviewed by Sam Weinig.
3115 Updated for JavaScriptCore changes to timeout checking.
3117 * bindings/js/JSCustomPositionCallback.cpp:
3118 (WebCore::JSCustomPositionCallback::handleEvent):
3119 * bindings/js/JSCustomPositionErrorCallback.cpp:
3120 (WebCore::JSCustomPositionErrorCallback::handleEvent):
3121 * bindings/js/JSCustomSQLStatementCallback.cpp:
3122 (WebCore::JSCustomSQLStatementCallback::handleEvent):
3123 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3124 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
3125 * bindings/js/JSCustomSQLTransactionCallback.cpp:
3126 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
3127 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3128 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
3129 * bindings/js/JSCustomVoidCallback.cpp:
3130 (WebCore::JSCustomVoidCallback::handleEvent):
3131 * bindings/js/JSCustomXPathNSResolver.cpp:
3132 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3133 * bindings/js/JSDOMWindowBase.cpp:
3134 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3135 (WebCore::JSDOMWindowBase::commonJSGlobalData):
3136 * bindings/js/JSEventListener.cpp:
3137 (WebCore::JSAbstractEventListener::handleEvent):
3138 * bindings/js/ScheduledAction.cpp:
3139 (WebCore::ScheduledAction::executeFunctionInContext):
3140 * bindings/js/ScriptController.cpp:
3141 (WebCore::ScriptController::evaluate):
3142 * bindings/js/WorkerScriptController.cpp:
3143 (WebCore::WorkerScriptController::evaluate):
3144 (WebCore::WorkerScriptController::forbidExecution):
3145 * bindings/objc/WebScriptObject.mm:
3146 (-[WebScriptObject callWebScriptMethod:withArguments:]):
3147 (-[WebScriptObject evaluateWebScript:]):
3148 * bridge/NP_jsobject.cpp:
3149 (_NPN_InvokeDefault):
3153 * bridge/jni/jni_jsobject.mm:
3154 (JavaJSObject::call):
3155 (JavaJSObject::eval):
3157 2009-02-21 Hironori Bono <hbono@chromium.org>
3159 Reviewed by Alexey Proskuryakov.
3161 https://bugs.webkit.org/show_bug.cgi?id=23786
3162 [Chromium] line-break characters in a complex text are treated as zero-width spaces
3164 This change prevents the UniscribeHelper class from treating the line-break characters
3167 Tests: fast/text/international/bidi-linebreak-001.html
3168 fast/text/international/bidi-linebreak-002.html
3169 fast/text/international/bidi-linebreak-003.html
3171 * platform/graphics/chromium/UniscribeHelper.cpp:
3172 (WebCore::UniscribeHelper::adjustSpaceAdvances):
3173 Make the UniscribeHelper::adjustSpaceAdvances() function treat all characters in
3174 the treatAsSpace() function (e.g. U+0020, U+000A, U+000D, U+00A0) as whitespaces,
3175 so does when Chromium renders a simple text.
3177 2009-02-20 Julien Chaffraix <jchaffraix@webkit.org>
3179 Reviewed by Alexey Proskuryakov.
3181 Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore
3183 Document::createElement(const QualifiedName&, bool) does not check for the prefix as opposed the the one taking an AtomicString
3184 or Document::createElementNS. This is perfectly fine internally because we know the type of element created and the check is
3187 It also removes the use of an ExceptionCode argument which was here only to check that the prefix check was fine. Finally it
3188 enables us to use some generated QualifiedName.
3190 * bindings/js/JSOptionConstructor.cpp:
3191 (WebCore::constructHTMLOptionElement):
3193 (WebCore::Document::setTitle):
3194 * dom/XMLTokenizer.cpp:
3195 (WebCore::createXHTMLParserErrorHeader):
3196 (WebCore::XMLTokenizer::insertErrorMessageBlock):
3197 * editing/CompositeEditCommand.cpp:
3198 (WebCore::createBlockPlaceholderElement):
3199 * editing/htmlediting.cpp:
3200 (WebCore::createTabSpanElement):
3201 * html/HTMLSelectElement.cpp:
3202 (WebCore::HTMLSelectElement::setLength):
3203 * loader/FTPDirectoryDocument.cpp:
3204 (WebCore::FTPDirectoryTokenizer::appendEntry):
3205 (WebCore::FTPDirectoryTokenizer::createTDForFilename):
3206 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
3207 (WebCore::FTPDirectoryTokenizer::createBasicDocument):
3208 * loader/ImageDocument.cpp:
3209 (WebCore::ImageDocument::createDocumentStructure):
3210 * loader/MediaDocument.cpp:
3211 (WebCore::MediaTokenizer::createDocumentStructure):
3212 * loader/PluginDocument.cpp:
3213 (WebCore::PluginTokenizer::createDocumentStructure):
3214 * loader/TextDocument.cpp:
3215 (WebCore::TextTokenizer::write):
3217 (WebCore::Frame::selectionComputedStyle):
3218 (WebCore::Frame::styleForSelectionStart):
3219 Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch.
3221 * xml/XPathFunctions.cpp:
3222 (WebCore::XPath::FunLang::evaluate): Re-use langAttr instead of creating a new attribute.
3223 * page/DragController.cpp:
3224 (WebCore::documentFragmentFromDragData): Use the HTMLAnchorElement directly to get rid of the static cast.
3226 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
3228 Reviewed by Eric Seidel.
3230 https://bugs.webkit.org/show_bug.cgi?id=24060
3231 Fix up to accommodate for CanvasPixelArray return.
3233 * platform/graphics/skia/ImageBufferSkia.cpp:
3234 (WebCore::ImageBuffer::getImageData): Added an extra data() to call.
3235 (WebCore::ImageBuffer::putImageData): Ditto.
3237 2009-02-20 Eric Carlson <eric.carlson@apple.com>
3241 https://bugs.webkit.org/show_bug.cgi?id=24042
3242 Bug 24042: MediaPlayer should cache plug-in proxy
3244 The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that
3245 MediaPlayer will always have created the private media player object before
3246 the plug-in is instantiated and calls back with the proxy object. This is not
3247 true on all platforms because of threading latency, so MediaPlayer should
3248 cache the plug-in proxy so it can pass it to the media engine at a later time.
3250 * platform/graphics/MediaPlayer.cpp:
3251 (WebCore::NullMediaPlayerPrivate::setPoster): Null media engine implementation of proxy methods.
3252 (WebCore::NullMediaPlayerPrivate::deliverNotification): Ditto.
3253 (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Ditto.
3254 (WebCore::MediaPlayer::MediaPlayer): Initialize m_playerProxy.
3255 (WebCore::MediaPlayer::load): Pass m_playerProxy to newly created engine.
3256 (WebCore::MediaPlayer::setMediaPlayerProxy): Cache m_playerProxy.
3257 * platform/graphics/MediaPlayer.h: Declare m_playerProxy.
3259 2009-02-20 Eric Carlson <eric.carlson@apple.com>
3263 https://bugs.webkit.org/show_bug.cgi?id=24063
3264 Make it possible for a port to require a user gesture to play/pause an <audio> or <video> element
3266 * html/HTMLMediaElement.cpp:
3267 (WebCore::HTMLMediaElement::HTMLMediaElement): Rename m_loadRestrictions to m_Restrictions.
3268 Initialize m_internalCall.
3269 (WebCore::HTMLMediaElement::loadTimerFired): Increment m_internalCall around call to load().
3270 (WebCore::HTMLMediaElement::load): Call loadInternal if restrictions check out.
3271 (WebCore::HTMLMediaElement::loadInternal): New, guts of old load()
3272 (WebCore::HTMLMediaElement::setNetworkState): Fix bug introduced in r40943
3273 (WebCore::HTMLMediaElement::play): Call playInternal if restrictions check out.
3274 (WebCore::HTMLMediaElement::playInternal): New, guts of old play()
3275 (WebCore::HTMLMediaElement::pause): Call pauseInternal if restrictions check out.
3276 (WebCore::HTMLMediaElement::pauseInternal): New, guts of old pause()
3277 (WebCore::HTMLMediaElement::togglePlayState): Call playInternal/pauseInternal
3278 (WebCore::HTMLMediaElement::deliverNotification): Remove unnecessary white space.
3279 * html/HTMLMediaElement.h: Rename m_loadRestrictions to m_Restrictions, add m_internalCall,
3280 add RequireUserGestureRateChangeRestriction.
3282 2009-02-20 Darin Fisher <darin@chromium.org>
3284 Fix build bustage in FileSystemWin.cpp.
3286 Need to return CString() instead of 0 since there are now two CString
3287 constructors that take a pointer type.
3289 * platform/win/FileSystemWin.cpp:
3290 (WebCore::openTemporaryFile):
3292 2009-02-20 Dimitri Glazkov <dglazkov@chromium.org>
3294 Reviewed by Sam Weinig.
3296 https://bugs.webkit.org/show_bug.cgi?id=23999
3297 Change license headers to accurately reflect code history.
3299 * platform/ContentType.cpp:
3300 * platform/ContentType.h:
3302 2009-02-18 Dimitri Glazkov <dglazkov@chromium.org>
3304 Reviewed by Antti Koivisto.
3306 https://bugs.webkit.org/show_bug.cgi?id=23999
3307 Split off MIME type parsing into its own class.
3309 * GNUmakefile.am: Added ContentType sources.
3310 * WebCore.pro: Ditto.
3311 * WebCore.scons: Ditto.
3312 * WebCore.vcproj/WebCore.vcproj: Ditto.
3313 * WebCore.xcodeproj/project.pbxproj: Ditto.
3314 * WebCoreSources.bkl: Ditto.
3315 * html/HTMLMediaElement.cpp: Changed to use ContentType.
3316 (WebCore::HTMLMediaElement::selectMediaURL):
3317 * platform/ContentType.cpp: Added.
3318 (WebCore::ContentType::ContentType):
3319 (WebCore::ContentType::parameter):
3320 (WebCore::ContentType::type):
3321 * platform/ContentType.h: Added.
3322 (WebCore::ContentType::raw):
3323 * platform/MIMETypeRegistry.cpp:
3324 * platform/MIMETypeRegistry.h:
3325 * platform/graphics/MediaPlayer.cpp:
3326 (WebCore::MediaPlayer::load):
3327 * rendering/style/ContentData.h: Renamed ContentType to StyleContentType.
3328 * rendering/style/RenderStyleConstants.h: Ditto.
3331 2009-02-20 Holger Hans Peter Freyther <zecke@selfish.org>
3333 Unreviewed build fix.
3335 Use CString() instead of 0.
3337 * platform/gtk/FileSystemGtk.cpp:
3338 (WebCore::openTemporaryFile):
3339 * platform/qt/FileSystemQt.cpp:
3340 (WebCore::openTemporaryFile):
3342 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
3344 Reviewed by Holger Freyther.
3346 When dealing with local files, use a path instead of an URI. GFile
3347 has problems decoding URIs with percent signs on them.
3349 * platform/network/soup/ResourceHandleSoup.cpp:
3350 (WebCore::ResourceHandle::startGio):
3352 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
3354 Reviewed by Holger Freyther.
3356 Protect the ResourceHandle instance from being destroyed by
3357 didReceiveData inside the GIO readCallback call, so that
3358 cancelling caused by scripts is handled correctly.
3360 * platform/network/soup/ResourceHandleSoup.cpp:
3361 (WebCore::readCallback):
3363 2009-02-20 David Kilzer <ddkilzer@apple.com>
3365 Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors
3367 Reviewed by Sam Weinig.
3369 * loader/icon/IconDatabaseNone.cpp:
3370 (WebCore::IconDatabase::defaultDatabaseFilename): Use DEFINE_STATIC_LOCAL().
3371 (WebCore::IconDatabase::open): Commented out unused parameter.
3372 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto.
3373 (WebCore::IconDatabase::iconForPageURL): Ditto.
3374 (WebCore::IconDatabase::iconURLForPageURL): Ditto.
3375 (WebCore::IconDatabase::defaultIcon): Ditto.
3376 (WebCore::IconDatabase::retainIconForPageURL): Ditto.
3377 (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
3378 (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
3379 (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
3380 (WebCore::IconDatabase::setEnabled): Ditto.
3381 (WebCore::IconDatabase::pageURLMappingCount): Added stub.
3382 (WebCore::IconDatabase::retainedPageURLCount): Ditto.
3383 (WebCore::IconDatabase::iconRecordCount): Ditto.
3384 (WebCore::IconDatabase::iconRecordCountWithData): Ditto.
3386 2009-02-20 David Kilzer <ddkilzer@apple.com>
3388 Add comment to generated code when shadowing a built-in object
3390 Reviewed by Sam Weinig.
3392 * bindings/scripts/CodeGeneratorJS.pm: Added comment to
3393 generated code output.
3395 2009-02-20 Avi Drissman <avi@chromium.org>
3397 Reviewed by Eric Seidel.
3399 https://bugs.webkit.org/show_bug.cgi?id=24036
3400 Keyboard events need disambiguation on the Linux platform too.
3402 * platform/chromium/PlatformKeyboardEventChromium.cpp:
3403 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
3405 2009-02-19 Darin Fisher <darin@chromium.org>
3407 Reviewed by Eric Seidel.
3409 https://bugs.webkit.org/show_bug.cgi?id=24046
3411 Several improvements to CString:
3412 1- Make it possible to initialize a CString from a CStringBuffer
3413 2- Make it possible to get a CStringBuffer from a CString
3414 3- Change CStringBuffer::data() to return a const pointer to ward off mutation
3415 4- Remove unused releaseBuffer() methods.
3416 5- Make CStringBuffer::create() private to force consumers to get a CStringBuffer from a CString.
3418 * platform/text/CString.cpp:
3419 (WebCore::CString::init):
3420 (WebCore::CString::mutableData):
3421 (WebCore::CString::newUninitialized):
3422 (WebCore::CString::copyBufferIfNeeded):
3423 * platform/text/CString.h:
3424 (WebCore::CStringBuffer::data):
3425 (WebCore::CStringBuffer::length):
3426 (WebCore::CStringBuffer::create):
3427 (WebCore::CStringBuffer::mutableData):
3428 (WebCore::CString::CString):
3429 (WebCore::CString::buffer):
3431 2009-02-19 Dmitry Titov <dimich@chromium.org>
3433 Reviewed by Alexey Proskuryakov.
3435 https://bugs.webkit.org/show_bug.cgi?id=24017
3436 Remove some usage of Document in Worker.
3438 * dom/WorkerContext.h:
3439 (WebCore::WorkerContext::userAgent):
3441 (WebCore::Document::userAgent):
3443 * dom/ScriptExecutionContext.h:
3444 Added virtual ScriptExecutionContext::userAgent(const KURL&).
3445 Document implementation uses FrameLoader::userAgent and
3446 WorkerContext receives the string on creation and stores it in a member.
3449 (WebCore::Worker::Worker):
3450 (WebCore::Worker::notifyFinished):
3452 (WebCore::Worker::create):
3453 Instead of Document the Worker constructor now gets a ScriptExecutionContext.
3454 Start using some methods on SEC (like completeURL() and userAgent()).
3455 For others, explicitly case to Document and add a FIXME.
3456 Remove Worker::document() too.
3458 2009-02-20 Gustavo Noronha Silva <gns@gnome.org>
3460 Rubber-stamped by Holger Freyther.
3462 Do not set httpStatus to SOUP_STATUS_OK when serving local files
3463 to match other ports' behavior, fixing xmlhttprequest test
3466 * platform/network/soup/ResourceHandleSoup.cpp:
3467 (WebCore::queryInfoCallback):
3469 2009-02-19 Dan Bernstein <mitz@apple.com>
3471 Reviewed by Sam Weinig.
3473 - WebCore part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
3474 Do not send loader callbacks during CSS styling
3476 Undo the iChat-specific quirk added in
3477 <http://trac.webkit.org/changeset/41071>. Instead, always suspend memory
3478 cache client callbacks during attach() and recalcStyle().
3480 * WebCore.base.exp: Removed
3481 Settings::setNeedsIChatMemoryCacheCallsQuirk().
3482 * dom/ContainerNode.cpp:
3483 (WebCore::ContainerNode::suspendPostAttachCallbacks): Disable memory
3484 cache client callbacks and remember to enable them afterwards if needed.
3485 (WebCore::ContainerNode::resumePostAttachCallbacks): Re-enable memory
3486 cache client callbacks if they were disabled in
3487 suspendPostAttachCallbacks().
3488 (WebCore::ContainerNode::attach): Use suspendPostAttachCallbacks() and
3489 resumePostAttachCallbacks().
3490 * dom/ContainerNode.h: Made suspendPostAttachCallbacks()
3491 and resumePostAttachCallbacks() non-static.
3493 (WebCore::Document::dispatchImageLoadEventsNow): Reverted iChat-specific
3495 * page/Settings.cpp: Removed m_needsIChatMemoryCacheCallsQuirk and
3497 (WebCore::Settings::Settings):
3500 2009-02-19 Holger Hans Peter Freyther <zecke@selfish.org>
3502 Unreviewed build fix.
3504 Build fix after r41092. Make the memoryUsage method
3505 public. It will be shadowed by cf/mac and for curl/soup/qt
3506 the implementation from ResourceResponseBase will be used.
3508 * platform/network/ResourceResponseBase.h:
3509 (WebCore::ResourceResponseBase::memoryUsage):
3511 2009-02-19 Beth Dakin <bdakin@apple.com>
3513 Reviewed by Dave Hyatt.
3515 Fix for <rdar://problem/6077775> Should be able to specify
3516 inactive ::selection color
3518 This patch makes the ::selction pseudo-element work with
3519 the :window-inactive pseudo type. This was, a user can specify a
3520 different ::selection style when a window is inactive.
3522 * css/CSSStyleSelector.cpp:
3523 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
3524 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3525 * rendering/RenderObject.cpp:
3526 (WebCore::RenderObject::selectionBackgroundColor):
3527 (WebCore::RenderObject::selectionForegroundColor):
3529 2009-02-19 Sam Weinig <sam@webkit.org>
3531 Reviewed by Beth Dakin.
3533 Patch for https://bugs.webkit.org/show_bug.cgi?id=24044
3534 Update querySelector/querySelectorAll to match the latest spec
3536 Update querySelector and querySelectorAll to match the latest version
3537 of the Selectors API spec. We now stringify null and undefined to "null"
3538 and "undefined" respectively instead of to "".
3540 Test: fast/dom/SelectorAPI/undefined-null-stringify.html
3543 * dom/DocumentFragment.idl:
3546 2009-02-19 Dimitri Glazkov <dglazkov@chromium.org>
3548 Reviewed by Geoffrey Garen.
3550 https://bugs.webkit.org/show_bug.cgi?id=23732
3551 Rework CachedResource overhead accounting to allow platforms to diverge
3554 * loader/CachedResource.cpp:
3555 (WebCore::CachedResource::overheadSize): Changed to ask ResourceResponse
3556 for its size and to use actual URL size.
3557 * platform/network/ResourceResponseBase.h:
3558 (WebCore::ResourceResponseBase::size): Added default size method.
3559 * platform/network/cf/ResourceResponse.h:
3560 (WebCore::ResourceResponse::size): Added Win/CF size method
3561 * platform/network/mac/ResourceResponse.h:
3562 (WebCore::ResourceResponse::size): Added Mac size method.
3564 2009-02-19 Anders Carlsson <andersca@apple.com>
3566 Reviewed by Kevin Decker.
3568 - Fix for <rdar://problem/6604968>
3570 On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
3571 after the call to -[NSView displayRectIgnoringOpacity:inContext:].
3573 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3574 (WebCore::MediaPlayerPrivate::paint):
3576 2009-02-19 David Hyatt <hyatt@apple.com>
3578 Fix a bug where reflections didn't work properly if opacity was < 1. Make sure that replaced elements
3579 also consider reflections to be part of their visual overflow. This had already been done for blocks
3580 and lines, but it wasn't being done yet for replaced elements.
3582 Also make sure that when the object being reflected has opacity < 1 that we don't end up popping the outer
3583 transparency layer early. Since the reflected object paints twice, we don't want to end the transparency
3584 layer it pushed until we're done painting the real object (rather than the reflection).
3586 Reviewed by Dan Bernstein
3588 Added fast/reflections/reflection-masks-opacity.html
3590 * rendering/RenderLayer.cpp:
3591 (WebCore::RenderLayer::paintLayer):
3592 * rendering/RenderPartObject.cpp:
3593 (WebCore::RenderPartObject::layout):
3594 * rendering/RenderReplaced.cpp:
3595 (WebCore::RenderReplaced::layout):
3596 (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect):
3597 * rendering/RenderReplaced.h:
3599 2009-02-19 David Levin <levin@chromium.org>
3601 Reviewed by Alexey Proskuryakov.
3603 Bug 23980: WorkerRunLoop needs a way to run in a given mode similar to CFRunLoopInMode.
3604 <https://bugs.webkit.org/show_bug.cgi?id=23980>
3606 WorkerRunLoop has the ability to run in a mode which filters the tasks to be run.
3607 * When WorkerRunLoop::runInMode is called, only task for that mode will run.
3608 * When WorkerRunLoop::run is called (or the default mode is used), then all tasks
3609 will run regardless of their posted mode.