1 2009-03-17 Scott Violet <sky@google.com>
3 Reviewed by Eric Seidel.
5 https://bugs.webkit.org/show_bug.cgi?id=24651
6 Skia does not always render text fill/stroke pattern/gradient/color correctly
8 Changes Skia's font rendering to only render gradient/pattern if current
9 color space indicates the gradient/pattern should be used.
10 This is covered by LayoutTests/fast/canvas/canvas-text-alignment.html .
12 * platform/graphics/GraphicsContext.cpp:
13 (WebCore::GraphicsContext::strokeColorSpace):
14 (WebCore::GraphicsContext::fillColorSpace):
15 * platform/graphics/GraphicsContext.h:
17 * platform/graphics/GraphicsContextPrivate.h:
18 * platform/graphics/skia/SkiaFontWin.cpp:
19 (WebCore::paintSkiaText):
21 2009-03-17 Adele Peterson <adele@apple.com>
23 Reviewed by Darin Adler.
25 Fix for https://bugs.webkit.org/show_bug.cgi?id=24655
26 <rdar://problem/6633727> Hitting return at the end of a line with an anchor jumps me to the bottom of the message
28 Test: editing/inserting/6633727.html
30 This changes does a few things:
31 1) Renames pos to insertionPosition.
32 2) Eliminates "startNode". It doesn't work well to consider the node separately from the insertionPosition.
33 The insertionPosition gets updated at various times, and it seems likely that startNode can get out of sync.
34 3) Before building up a list of ancestors to move around when we insert the new block, make sure to use the deepest
35 representation of the insertionPosition, so all ancestor nodes are correctly included.
37 * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply):
39 2009-03-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
41 Reviewed by Kevin Ollivier.
43 https://bugs.webkit.org/show_bug.cgi?id=24115
44 Introduce platform independent stubs for plugins.
46 * plugins/PluginDataNone.cpp: Copied from WebCore/plugins/wx/PluginDataWx.cpp.
47 * plugins/PluginPackageNone.cpp: Copied from WebCore/plugins/wx/PluginPackageWx.cpp.
48 * plugins/PluginViewNone.cpp: Copied from WebCore/plugins/wx/PluginViewWx.cpp.
49 * plugins/wx/PluginDataWx.cpp: Removed.
50 * plugins/wx/PluginPackageWx.cpp: Removed.
51 * plugins/wx/PluginViewWx.cpp: Removed.
54 2009-03-17 Darin Adler <darin@apple.com>
56 Earlier version reviewed by Adele Peterson.
58 Bug 24304: REGRESSION (r39864): Hitting the space bar to select an <input type=radio>
59 or push an <input type=button> or <button> causes the page to scroll down.
61 Would be best to add a regression test for Windows eventually; tested that this has
62 no effect on the Mac OS X platform.
64 * html/HTMLInputElement.cpp:
65 (WebCore::HTMLInputElement::defaultEventHandler): Added FIXMEs and tweaked formatting.
66 Use the code that calls the base class's defaultEventHandler early only in the cases
67 where it's needed: keydown and keypress events in text fields. In other cases, do the
68 more typical thing and call the default handler only at the end of the function.
69 This function already had code to make sure the keypress event for space never gets
70 through, but it was running too late since the scrolling code was moved into the
71 base class default event handler.
73 2009-03-17 Simon Fraser <simon.fraser@apple.com>
75 Reviewed by Dave Hyatt
77 https://bugs.webkit.org/show_bug.cgi?id=24632
79 Fix repaint issues when composited layers come and go (only applies
80 when ACCELERATED_COMPOSITING is turned on).
82 * rendering/RenderLayer.cpp:
83 (WebCore::RenderLayer::RenderLayer):
84 * rendering/RenderLayer.h:
85 (WebCore::RenderLayer::mustOverlayCompositedLayers):
86 (WebCore::RenderLayer::setMustOverlayCompositedLayers):
87 * rendering/RenderLayerBacking.cpp:
88 (WebCore::RenderLayerBacking::RenderLayerBacking):
89 * rendering/RenderLayerBacking.h:
91 Move what used to be the 'forceCompositingLayer' flag from RenderLayerBacking
92 to RenderLayer, because we don't want the side-effects of creating RenderLayerBacking
93 when setting this flag.
95 * rendering/RenderLayerCompositor.cpp:
96 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
97 When a RenderLayer flips into or out of compositing mode, compute a repaint
98 rect relative to the containerForRepaint, and repaint it.
100 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
101 Call layer->setMustOverlayCompositedLayers() rather than setForcedCompositingLayer().
103 (WebCore::RenderLayerCompositor::needsToBeComposited):
104 (WebCore::RenderLayerCompositor::requiresCompositingLayer):
105 (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
106 (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
107 * rendering/RenderLayerCompositor.h:
109 Rename requiresCompositingLayerForTransform() to requiresCompositingForTransform()
110 and make it a class static method to match requiresCompositingForAnimation(). Both
111 now take RenderObjects, rathern than RenderLayers.
113 * rendering/style/RenderStyle.h:
114 (WebCore::InheritedFlags::hasTransformRelatedProperty):
115 Minor tidyup using convenience methods added in an earlier commit.
117 2009-03-17 Simon Fraser <simon.fraser@apple.com>
119 Reviewed by Darin Adler
121 https://bugs.webkit.org/show_bug.cgi?id=24396
124 Add WTF_USE_ACCELERATED_COMPOSITING, defined to 0 for now, and add some
125 comments to make the #ifdefs more readable.
127 * css/CSSComputedStyleDeclaration.cpp:
128 (WebCore::computedTransform):
129 Add a comment to mention that we don't flatten the matrix.
131 * css/MediaQueryEvaluator.cpp:
132 (WebCore::transform_3dMediaFeatureEval):
133 Have the 'transform-3d' media query evaluate to 'true' if 3d-rendering
136 * platform/graphics/mac/GraphicsLayerCA.mm:
137 (WebCore::GraphicsLayerCA::animateTransform):
138 No need for the #ifdef here. If we don't support 3d, we will have already flattened
141 * platform/graphics/transforms/TransformationMatrix.cpp:
142 (WebCore::TransformationMatrix::makeAffine):
143 * platform/graphics/transforms/TransformationMatrix.h:
144 New method to convert the matrix to an affine matrix by throwing a way the non-affine
147 * rendering/RenderLayer.cpp:
148 (WebCore::RenderLayer::updateTransform):
149 (WebCore::RenderLayer::currentTransform):
150 * rendering/RenderLayerBacking.cpp:
151 (WebCore::RenderLayerBacking::updateLayerTransform):
152 If 3d rendering is not supported, convert the matrix to an affine matrix
153 which can be rendered, and used for hit testing.
155 * rendering/RenderLayerCompositor.cpp:
156 Change the name of the exported symbol that webkitdirs.pm uses to know if
157 3d rendering is supported. There is no other 3d-rendering-specific symbol we can sniff.
159 * rendering/RenderObject.cpp:
160 (WebCore::RenderObject::transformFromContainer):
161 Only take perspective into account if 3d rendering is supported.
163 * rendering/RenderObject.h:
164 (WebCore::makeMatrixRenderable):
165 Utility method that flattens a matrix if 3d rendering is not supported.
167 2009-03-17 Kevin Ollivier <kevino@theolliviers.com>
169 wx build fix. Fix typo after mouse wheel changes.
171 * platform/wx/MouseWheelEventWx.cpp:
172 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
174 2009-03-17 Darin Adler <darin@apple.com>
176 * inspector/ConsoleMessage.cpp:
177 (WebCore::ConsoleMessage::isEqual): Fix build, remove stray parenthesis.
179 2009-03-17 Darin Adler <darin@apple.com>
181 Fix crash seen right away when running run-webkit-tests.
183 * inspector/ConsoleMessage.cpp:
184 (WebCore::ConsoleMessage::isEqual): Restore assertion to its behavior pre-refactoring.
185 Also tweaked formatting a bit.
187 2009-03-17 Alexey Proskuryakov <ap@webkit.org>
189 Reviewed by Darin Adler.
191 HTMLSelectElement::add() doesn't look at exception code returned from insertBefore(), so
192 it doesn't need to zero it out before calling.
194 * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::add): Removed "ec = 0" line.
196 2009-03-17 Dan Bernstein <mitz@apple.com>
198 Reviewed by Adam Roben.
200 - WebCore part of adding a mechanism for controlling the caching of
201 responses through WebFrameLoaderClient
203 Mac already has such a mechanism, and this adds one for CFNetwork ports.
205 * WebCore.vcproj/WebCore.vcproj: Added EmptyClients.h
206 and ResourceLoaderCFNet.cpp.
208 * loader/EmptyClients.h:
209 (WebCore::EmptyFrameLoaderClient::shouldCacheResponse): Added an
210 implementation that always returns true.
212 * loader/FrameLoaderClient.h: Declared shouldCacheResponse().
214 * loader/ResourceLoader.h: Ditto.
216 * loader/cf/ResourceLoaderCFNet.cpp: Added.
217 (WebCore::ResourceLoader::shouldCacheResponse): Added. Calls through to
218 FrameLoaderClient::shouldCacheResponse().
220 * platform/network/ResourceHandleClient.h:
221 (WebCore::ResourceHandleClient::shouldCacheResponse): Added an
222 implementation that always returns true.
224 * platform/network/cf/ResourceHandleCFNet.cpp:
225 (WebCore::willCacheResponse): Added a call to
226 ResourceHandleClient::shouldCacheResponse(). If the client returns
227 false, return 0, which will prevent CFNetwork from caching the response.
229 2009-03-17 Alexey Proskuryakov <ap@webkit.org>
231 Reviewed by Darin Adler.
233 https://bugs.webkit.org/show_bug.cgi?id=13287
234 Cannot change SELECT to a dynamically created option
236 Tests: fast/forms/add-and-remove-option.html
237 fast/forms/add-remove-option-modification-event.html
238 fast/forms/add-selected-option.html
239 fast/forms/select-cache-desynchronization.html
241 * dom/ContainerNode.cpp:
242 (WebCore::dispatchChildInsertionEvents): Increment DOM tree version. This will happen when
243 dispatching DOMSubtreeModified again, but the version should be incremented for event
244 listeners to have an up to date view of the DOM.
245 (WebCore::dispatchChildRemovalEvents): Ditto.
247 * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::insertedIntoTree):
248 Make sure that the select element knows about its new selected option.
250 * html/HTMLOptionElement.h: Use insertedIntoTree() instead of insertedIntoDocument(),
251 because DOM also needs to be updated for forms that are not in document yet. Similar
252 problems exist for node removing, but removedFromTree() is called at a wrong time, so
253 those problems cannot be fixed without deeper refactoring.
255 * html/HTMLSelectElement.cpp:
256 (WebCore::HTMLSelectElement::setRecalcListItems): Reset m_activeSelectionAnchorIndex - it
257 doesn't make sense to keep the anchor after programmatically changing the selection, and
258 keeping it was causing a failure in fast/forms/listbox-selection.html.
260 * html/HTMLSelectElement.h: Removed overrides for ContainerNode methods that only called
263 2009-03-17 Steve Falkenburg <sfalken@apple.com>
265 <rdar://problem/6690324> Accessing FTP sites reads unallocated memory, can result in garbled entries or crashes
267 Reviewed by Darin Adler.
269 * loader/FTPDirectoryDocument.cpp:
270 (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine): Assign CString to a local while we hold pointers into it.
272 2009-03-16 David Hyatt <hyatt@apple.com>
274 <rdar://problem/6648411> REGRESSION: Layout of page is wrong at http://www.popcap.com/
276 Make sure that the initial shouldPaint check that looks at enclosingLayers properly skips over
277 layers that don't paint themselves. This is done by adding a new enclosingSelfPaintingLayer method
278 so that RenderObjects can walk up the enclosing layer chain and skip any layers that don't paint
281 Reviewed by Darin Adler.
283 Added fast/block/float/overlapping-floats-with-overflow-hidden.html
286 * rendering/RenderBlock.cpp:
287 (WebCore::RenderBlock::addOverhangingFloats):
288 * rendering/RenderObject.cpp:
289 (WebCore::RenderObject::enclosingSelfPaintingLayer):
290 * rendering/RenderObject.h:
292 2009-03-17 Xan Lopez <xlopez@igalia.com>
294 Reviewed by Holger Freyther.
296 https://bugs.webkit.org/show_bug.cgi?id=24592
297 [GTK] Crash in FcPatternHash
301 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
302 (WebCore::FontPlatformData::operator=):
303 * platform/graphics/gtk/FontPlatformDataPango.cpp:
305 2009-03-17 Xan Lopez <xlopez@igalia.com>
307 Reviewed by Holger Freyther.
309 https://bugs.webkit.org/show_bug.cgi?id=24592
310 [GTK] Crash in FcPatternHash
312 Sanitize memory management in pango fonts.
314 Release memory allocated by FontPlatformDataPango in its own
315 destructor instead of doing it from other classes, and add copy
316 constructor and '=' operator to be able to track referenced
319 * platform/graphics/gtk/FontPlatformDataPango.cpp:
320 (WebCore::FontPlatformData::~FontPlatformData):
321 (WebCore::FontPlatformData::operator=):
322 (WebCore::FontPlatformData::FontPlatformData):
323 * platform/graphics/gtk/SimpleFontDataPango.cpp:
325 2009-03-17 Darin Adler <darin@apple.com>
327 Reviewed by Alexey Proskuryakov.
329 Bug 24624: Crash in imageLoadEventTimerFired after adoptNode used on <img>,
330 seen with inspector, which uses adoptNode
331 https://bugs.webkit.org/show_bug.cgi?id=24624
332 rdar://problem/6422850
334 Test: fast/dom/HTMLImageElement/image-load-cross-document.html
337 (WebCore::Document::Document): Removed m_imageLoadEventTimer.
338 (WebCore::Document::detach): Removed m_imageLoadEventDispatchSoonList and
339 m_imageLoadEventDispatchingList.
340 (WebCore::Document::implicitClose): Called ImageLoader::dispatchPendingLoadEvents
341 instead of dispatchImageLoadEventsNow.
343 * dom/Document.h: Removed ImageLoader, dispatchImageLoadEventSoon,
344 dispatchImageLoadEventsNow, removeImage, m_imageLoadEventDispatchSoonList,
345 m_imageLoadEventDispatchingList, m_imageLoadEventTimer, and imageLoadEventTimerFired.
347 * loader/ImageLoader.cpp:
348 (WebCore::loadEventSender): Added. Returns the single global ImageLoadEventSender
349 object used privately as the target of the load event timer.
350 (WebCore::ImageLoader::~ImageLoader): Call ImageLoadEventSender::cancelLoadEvent
351 rather than Document::removeImage.
352 (WebCore::ImageLoader::setImage): Use m_element directly, not element().
353 (WebCore::ImageLoader::updateFromElement): Ditto. Also name the local variable
354 document instead of doc.
355 (WebCore::ImageLoader::notifyFinished): Call ImageLoadEventSender::dispatchLoadEventSoon
356 rather than Document::dispatchImageLoadEventSoon.
357 (WebCore::ImageLoader::dispatchPendingLoadEvent): Added. Handles the common logic
358 about when load events can be dispatched so that dispatchLoadEvent only has to
359 have the specific part for each derived class. This includes a check that the
360 document is attached, which used to be handled by having documents empty out the
361 image load event vectors in the detach function.
362 (WebCore::ImageLoader::dispatchPendingLoadEvents): Added. Calls the appropriate
363 function on the ImageLoadEventSender, which avoids the need to have that class be
364 public in the ImageLoader header.
365 (WebCore::ImageLoadEventSender::ImageLoadEventSender): Added. Has the code that
366 was previously in the Document constructor.
367 (WebCore::ImageLoadEventSender::dispatchLoadEventSoon): Added. Has the code that
368 was previously in Document::dispatchImageLoadEventSoon.
369 (WebCore::ImageLoadEventSender::cancelLoadEvent): Added. Has the code that was
370 previously in Document::removeImage.
371 (WebCore::ImageLoadEventSender::dispatchPendingLoadEvents): Added. Has the code
372 that was previously in Document::dispatchImageLoadEventsNow.
373 (WebCore::ImageLoadEventSender::timerFired): Added. Calls dispatchPendingLoadEvents.
375 * loader/ImageLoader.h: Improved comments. Made the virtual functions private
376 or protected rather than public. Added static dispatchPendingLoadEvents function
377 for use by Document and private dispatchPendingLoadEvent function for use by
378 ImageLoadEventSender. Made setLoadingImage private and eliminated
379 setHaveFiredLoadEvent since that can all be done inside the class without any
382 * html/HTMLImageLoader.cpp:
383 (WebCore::HTMLImageLoader::dispatchLoadEvent): Removed logic to check whether a
384 load event already fired and whether image() is 0. These are now both base class
386 * svg/SVGImageLoader.cpp:
387 (WebCore::SVGImageLoader::dispatchLoadEvent): Ditto.
388 * wml/WMLImageLoader.cpp:
389 (WebCore::WMLImageLoader::dispatchLoadEvent): Ditto.
391 2009-03-17 Dimitri Glazkov <dglazkov@chromium.org>
393 Reviewed by Timothy Hatcher.
395 https://bugs.webkit.org/show_bug.cgi?id=24623
396 Refactor ConsoleMessage to use ScriptFuncitonCall and eliminate JSC
399 * bindings/js/ScriptFunctionCall.cpp:
400 (WebCore::ScriptFunctionCall::appendArgument): Added uint and ScriptString-taking methods.
401 * bindings/js/ScriptFunctionCall.h:
402 * bindings/js/ScriptObjectQuarantine.cpp:
403 (WebCore::quarantineValue): Added generic ScriptValue quarantine helper.
404 * bindings/js/ScriptObjectQuarantine.h:
405 * bindings/js/ScriptValue.cpp:
406 (WebCore::ScriptValue::isEqual): Added.
407 * bindings/js/ScriptValue.h:
408 * inspector/ConsoleMessage.cpp:
409 (WebCore::ConsoleMessage::ConsoleMessage):
410 (WebCore::ConsoleMessage::addToConsole): Added.
411 (WebCore::ConsoleMessage::isEqual): Changed to use ScriptValue::isEqual.
412 * inspector/ConsoleMessage.h:
413 (WebCore::ConsoleMessage::incrementCount): Added.
414 * inspector/InspectorController.cpp:
415 (WebCore::InspectorController::addConsoleMessage): Changed to use ConsoleMessage::addToConsole.
416 (WebCore::InspectorController::populateScriptObjects): Ditto.
417 * inspector/InspectorController.h:
419 2009-03-17 Kevin Ollivier <kevino@theolliviers.com>
421 Reviewed by Mark Rowe.
423 Get BUILDING_ON_* defines from Platform.h.
425 https://bugs.webkit.org/show_bug.cgi?id=24630
429 2009-03-16 Xan Lopez <xlopez@igalia.com>
431 Reviewed by Holger Freyther.
433 https://bugs.webkit.org/show_bug.cgi?id=24592
434 [GTK] Crash in FcPatternHash
436 Sanitize memory management in gtk fonts.
438 Release memory allocated by FontPlatformDataGtk in its own
439 destructor instead of doing it from other classes, and add copy
440 constructor and '=' operator to be able to track referenced
443 * platform/graphics/gtk/FontPlatformData.h:
444 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
445 (WebCore::FontPlatformData::operator=):
446 (WebCore::FontPlatformData::FontPlatformData):
447 (WebCore::FontPlatformData::~FontPlatformData):
448 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
449 (WebCore::SimpleFontData::platformDestroy):
451 2009-03-17 Ariya Hidayat <ariya.hidayat@nokia.com>
453 Build fix for Qt < 4.5.
455 As reported by Yael Aharon <yael.aharon@nokia.com>
457 * platform/graphics/qt/GraphicsContextQt.cpp:
458 (WebCore::GraphicsContext::drawLine):
460 2009-03-17 Alexey Proskuryakov <ap@webkit.org>
462 Reviewed by Sam Weinig.
464 https://bugs.webkit.org/show_bug.cgi?id=24614
465 Access control checks are different in cached and uncached cases
467 Test: http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached.html
469 * loader/CrossOriginAccessControl.cpp:
470 (WebCore::isOnAccessControlSimpleRequestMethodWhitelist): Factored out simple method
471 check for use in both cached and uncached cases. In cached case, an old definition that
472 omitted HEAD was still used.
473 (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Check that content type has an
474 allowed value. This is needed in all call sites. Also changed to compare MIME type, not
476 (WebCore::isSimpleCrossOriginAccessRequest): Use the above methods.
478 * loader/CrossOriginAccessControl.h: Expose isOnAccessControlSimpleRequestMethodWhitelist.
480 * loader/CrossOriginPreflightResultCache.cpp:
481 (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
482 (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
483 Use the new checks for simple method and header.
485 2009-03-16 Gustavo Noronha Silva <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
487 Reviewed by Mark Rowe.
489 https://bugs.webkit.org/show_bug.cgi?id=24638
490 [GTK] HTML5 media tags do not work
492 Add a repaint-requested signal to the video sink, and use it to
493 call MediaPlayerPrivate::repaint, so that the video actually
496 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
497 (WebCore::mediaPlayerPrivateRepaintCallback):
498 (WebCore::MediaPlayerPrivate::createGSTPlayBin):
499 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
500 (webkit_video_sink_idle_func):
501 (webkit_video_sink_render):
502 (webkit_video_sink_class_init):
504 2009-03-16 Gustavo Noronha Silva <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
506 Reviewed by Holger Freyther.
508 https://bugs.webkit.org/show_bug.cgi?id=24638
509 [GTK] HTML5 media tags do not work
511 Work-around the fact that gst_element_query_duration returns true even
512 though it is unable to figure out the duration when in stream (push)
515 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
516 (WebCore::MediaPlayerPrivate::duration):
518 2009-03-16 Darin Adler <darin@apple.com>
520 Reviewed by Kevin Decker.
522 <rdar://problem/6642742> Top Sites malfunction when switching text zoom mode
525 (WebCore::Frame::setNeedsReapplyStyles): Don’t do anything if the frame is
526 currently showing a non-HTML view.
528 2009-03-16 Darin Adler <darin@apple.com>
530 Reviewed by Adele Peterson.
532 Bug 24629: moving forward or backward a paragraph fails at edge of document
533 https://bugs.webkit.org/show_bug.cgi?id=24629
534 rdar://problem/6544413
536 Test: editing/selection/move-paragraph-document-edges.html
538 * editing/visible_units.cpp:
539 (WebCore::previousParagraphPosition): Use the last result from
540 previousLinePosition rather than going all the way back to what was originally
541 passed in when we hit exception cases like null or not moving. This correctly
542 inherits the behavior of previousLinePosition when we are in a paragraph at the
544 (WebCore::nextParagraphPosition): Ditto.
546 2009-03-16 Darin Adler <darin@apple.com>
548 Reviewed by Adele Peterson.
550 Bug 24619: RenderObject::selectionStartEnd does not need to be a virtual function
551 https://bugs.webkit.org/show_bug.cgi?id=24619
553 * rendering/RenderObject.h: Remove virtual keyword from selectionStartEnd declaration.
554 * rendering/RenderView.h: Ditto.
556 2009-03-16 Peter Kasting <pkasting@google.com>
558 Reviewed by David Hyatt.
560 https://bugs.webkit.org/show_bug.cgi?id=24368
561 DOM scroll events should be based off the actual number of wheel
562 ticks, not off the number of lines scrolled. This matches IE.
565 (WebCore::Node::dispatchWheelEvent):
566 * dom/WheelEvent.cpp:
567 (WebCore::WheelEvent::WheelEvent):
569 (WebCore::WheelEvent::create):
570 * platform/PlatformWheelEvent.h:
571 (WebCore::PlatformWheelEvent::wheelTicksX):
572 (WebCore::PlatformWheelEvent::wheelTicksY):
573 * platform/gtk/WheelEventGtk.cpp:
574 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
575 * platform/mac/WheelEventMac.mm:
576 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
577 * platform/qt/WheelEventQt.cpp:
578 * platform/win/WheelEventWin.cpp:
579 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
580 * platform/wx/MouseWheelEventWx.cpp:
581 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
583 2009-03-16 Simon Fraser <simon.fraser@apple.com>
585 Reviewed by Eric Seidel
587 Clean up a few issues in the Animation code:
589 * page/animation/AnimationBase.cpp:
590 (WebCore::AnimationBase::updateStateMachine):
593 (WebCore::AnimationBase::willNeedService):
594 Don't round to float, use std::max
596 * page/animation/AnimationController.cpp:
597 (WebCore::AnimationControllerPrivate::startTimeResponse):
598 Fix erroneously copied line to null out m_lastResponseWaiter.
600 2009-03-12 David Hyatt <hyatt@apple.com>
602 Reviewed by Eric Seidel
604 https://bugs.webkit.org/show_bug.cgi?id=13632
606 Overflow scrolling needs to account for the bottom/right padding on the object itself as well
607 as for bottom/right margins on children.
609 Existing tests cover this.
611 * rendering/RenderBlock.cpp:
612 (WebCore::RenderBlock::lowestPosition):
613 (WebCore::RenderBlock::rightmostPosition):
615 2009-03-16 Sam Weinig <sam@webkit.org>
617 Reviewed by Anders Carlsson.
619 Fix for <rdar://problem/6320555>
620 Add an upper limit for setting HTMLSelectElement.length.
622 Test: fast/forms/select-max-length.html
624 * html/HTMLSelectElement.cpp:
625 (WebCore::HTMLSelectElement::setOption):
626 (WebCore::HTMLSelectElement::setLength):
628 2009-03-16 Eric Carlson <eric.carlson@apple.com>
630 Reviewed by Simon Fraser.
632 <rdar://problem/6686721> Media document crash in 64-bit WebKit
634 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
635 (WebCore::MediaPlayerPrivate::createQTMovieView): QTMovieContentViewClass is only used when
636 rendering inline with old versions of QuickTime, so don't look for it when we are in a
639 2009-03-16 Dimitri Glazkov <dglazkov@chromium.org>
641 Reviewed by Timothy Hatcher.
643 https://bugs.webkit.org/show_bug.cgi?id=24590
644 Refactor InspectorDOMStorageResource to use ScriptFunctionCall.
646 * bindings/js/ScriptFunctionCall.cpp:
647 (WebCore::ScriptFunctionCall::appendArgument): Added method for bool argument.
648 * bindings/js/ScriptFunctionCall.h: Ditto, also cleaned up.
649 * bindings/js/ScriptObjectQuarantine.cpp:
650 (WebCore::getQuarantinedScriptObject): Added Storage helper.
651 * bindings/js/ScriptObjectQuarantine.h: Ditto.
652 * inspector/InspectorController.cpp:
653 (WebCore::InspectorController::populateScriptObjects): Changed to use bind method.
654 (WebCore::InspectorController::resetScriptObjects): Changed to use unbind method.
655 (WebCore::InspectorController::didUseDOMStorage): Changed to use isSameHostAndType and bind methods.
656 * inspector/InspectorController.h: Removed add/remove methods for DOM storage.
657 * inspector/InspectorDOMStorageResource.cpp:
658 (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
659 (WebCore::InspectorDOMStorageResource::isSameHostAndType): Added.
660 (WebCore::InspectorDOMStorageResource::bind): Added.
661 (WebCore::InspectorDOMStorageResource::unbind): Added.
662 * inspector/InspectorDOMStorageResource.h:
664 2009-03-16 Mike Belshe <mike@belse.com>
666 Reviewed by Dimitri Glazkov.
668 https://bugs.webkit.org/show_bug.cgi?id=24580
669 Fix query() to match KURL behavior, this time with the code that
672 * platform/KURLGoogle.cpp:
673 (WebCore::KURL::query): Fix copy/paste mistake.
675 2009-03-16 Alexey Proskuryakov <ap@webkit.org>
677 Reviewed by Darin Adler.
679 https://bugs.webkit.org/show_bug.cgi?id=21752
680 REGRESSION: referencing XHR constructor for a not yet loaded frame permanently breaks it
682 Test: fast/dom/Window/window-early-properties-xhr.html
684 For some transitions, the Window object is not replaced, but Document is. When this happened,
685 window.document property was updated, but references to Document kept in cached constructors
688 * bindings/js/JSAudioConstructor.cpp:
689 (WebCore::JSAudioConstructor::JSAudioConstructor):
690 (WebCore::JSAudioConstructor::document):
691 (WebCore::JSAudioConstructor::mark):
692 * bindings/js/JSAudioConstructor.h:
693 * bindings/js/JSImageConstructor.cpp:
694 (WebCore::JSImageConstructor::JSImageConstructor):
695 (WebCore::JSImageConstructor::document):
696 (WebCore::JSImageConstructor::mark):
697 * bindings/js/JSImageConstructor.h:
698 * bindings/js/JSMessageChannelConstructor.cpp:
699 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
700 (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
701 (WebCore::JSMessageChannelConstructor::mark):
702 * bindings/js/JSMessageChannelConstructor.h:
703 * bindings/js/JSOptionConstructor.cpp:
704 (WebCore::JSOptionConstructor::JSOptionConstructor):
705 (WebCore::JSOptionConstructor::document):
706 (WebCore::JSOptionConstructor::mark):
707 * bindings/js/JSOptionConstructor.h:
708 * bindings/js/JSXMLHttpRequestConstructor.cpp:
709 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
710 (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext):
711 (WebCore::JSXMLHttpRequestConstructor::mark):
712 * bindings/js/JSXMLHttpRequestConstructor.h:
713 Changed cached constructors to keep a reference to Window, not Document.
715 2009-03-15 Alexey Proskuryakov <ap@webkit.org>
717 Reviewed by Darin Adler.
719 https://bugs.webkit.org/show_bug.cgi?id=24549
720 Impose a limit on Access-Control-Max-Age value
722 * loader/CrossOriginPreflightResultCache.cpp:
723 (WebCore::CrossOriginPreflightResultCacheItem::parse):
725 2009-03-15 Greg Bolsinga <bolsinga@apple.com>
727 Reviewed by David Kilzer.
729 <rdar://problem/6668875> Normalize Geolocation results
731 * platform/mac/GeolocationServiceMac.mm:
732 (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
734 2009-03-15 Greg Bolsinga <bolsinga@apple.com>
736 Reviewed by David Kilzer.
738 Update ::toString format as suggested by Darin Adler.
740 * page/Geoposition.cpp:
741 (WebCore::Geoposition::toString):
743 2009-03-15 David Kilzer <ddkilzer@apple.com>
745 <rdar://problem/6668238> WebCore is registering text encodings needlessly from KURL constructor.
747 Reviewed by Darin Adler.
749 Yet another case where we would trigger extended encoding loading needlessly.
751 * platform/text/TextEncoding.cpp:
752 (WebCore::TextEncoding::encodingForFormSubmission):
754 2009-03-15 Simon Fraser <simon.fraser@apple.com>
756 Build fix: no review.
758 * rendering/style/ContentData.h:
760 2009-03-15 David Kilzer <ddkilzer@apple.com>
762 Bug 24542: Improve ContentData encapsulation
764 <https://bugs.webkit.org/show_bug.cgi?id=24542>
766 Reviewed by Simon Fraser.
768 No tests since there is no change in behavior.
770 * rendering/RenderObject.cpp:
771 (WebCore::RenderObject::createObject): Used getter methods
772 instead of data members on ContentData class. Used isImage()
774 * rendering/RenderObjectChildList.cpp:
775 (WebCore::RenderObjectChildList::updateBeforeAfterContent): Ditto.
777 * rendering/style/ContentData.cpp:
778 (WebCore::ContentData::clear): Extracted code into
779 deleteContent() method.
780 (WebCore::ContentData::dataEquivalent): Added. Extracted code
781 from StyleRareNonInheritedData::contentDataEquivalent().
782 (WebCore::ContentData::deleteContent): Added. Used by setter
784 * rendering/style/ContentData.h: Made m_type, m_content and
786 (WebCore::ContentData::isCounter): Added.
787 (WebCore::ContentData::isImage): Added.
788 (WebCore::ContentData::isNone): Added.
789 (WebCore::ContentData::isText): Added.
790 (WebCore::ContentData::type): Added.
791 (WebCore::ContentData::dataEquivalent): Added.
792 (WebCore::ContentData::image): Added.
793 (WebCore::ContentData::setImage): Added.
794 (WebCore::ContentData::text): Added.
795 (WebCore::ContentData::setText): Added.
796 (WebCore::ContentData::counter): Added.
797 (WebCore::ContentData::setCounter): Added.
798 (WebCore::ContentData::next): Added.
799 (WebCore::ContentData::setNext): Added.
801 * rendering/style/CounterContent.h:
802 (WebCore::operator!=): Removed.
803 (WebCore::operator==): Renamed operator!=() and reversed its
804 logic after extracting code from
805 StyleRareNonInheritedData::contentDataEquivalent() to create
806 ContentData::dataEquivalent().
808 * rendering/style/RenderStyle.cpp:
809 (WebCore::RenderStyle::setContent): Used new getters and setters
810 on ContentData class. Changed first argument from a StringImpl*
811 to a PassRefPtr<StrimgImpl>. Used isText() convenience method.
812 * rendering/style/RenderStyle.h:
813 (WebCore::RenderStyle::setContent): Updated declaration.
814 * rendering/style/StyleRareNonInheritedData.cpp:
815 (WebCore::StyleRareNonInheritedData::contentDataEquivalent):
816 Extracted most logic in while() loop into
817 ContentData::dataEquivalent().
819 2009-03-15 Gustavo Noronha Silva <gns@gnome.org>
821 Reviewed by Anders Carlsson.
823 https://bugs.webkit.org/show_bug.cgi?id=24602
824 [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
826 Reintroduce the URI into the soup message after having set it in
827 the KURL, on redirects, to make sure it is properly encoded. This
828 fixes bad request problems when servers give bad URIs on their
829 response's Location header.
831 * platform/network/soup/ResourceHandleSoup.cpp:
832 (WebCore::restartedCallback):
834 2009-03-15 Alexey Proskuryakov <ap@webkit.org>
836 Reviewed by Darin Adler.
838 https://bugs.webkit.org/show_bug.cgi?id=19737
839 No cursor and paste not enabled right clicking text field/area
841 Test: fast/events/right-click-focus.html
843 * page/EventHandler.cpp:
844 (WebCore::EventHandler::handleMousePressEventSingleClick):
845 (WebCore::EventHandler::handleMousePressEvent):
846 Take normal code path for right clicks (we were taking it for Ctrl-clicks anyway).
848 2009-03-15 Alexey Proskuryakov <ap@webkit.org>
850 Reviewed by Adele Peterson.
852 https://bugs.webkit.org/show_bug.cgi?id=23949
853 HTMLSelectElement is in inconsistent state when handling mutation events
855 Test: fast/forms/mutation-event-recalc.html
857 * dom/ContainerNode.cpp:
858 (WebCore::ContainerNode::insertBefore):
859 (WebCore::ContainerNode::appendChild):
860 Call childrenChanged() before dispatching modification events, not after.
862 * html/HTMLOptGroupElement.cpp:
863 (WebCore::HTMLOptGroupElement::insertBefore):
864 (WebCore::HTMLOptGroupElement::replaceChild):
865 (WebCore::HTMLOptGroupElement::removeChild):
866 (WebCore::HTMLOptGroupElement::appendChild):
867 (WebCore::HTMLOptGroupElement::removeChildren):
868 * html/HTMLSelectElement.cpp:
869 (WebCore::HTMLSelectElement::add):
870 (WebCore::HTMLSelectElement::remove):
871 (WebCore::HTMLSelectElement::insertBefore):
872 (WebCore::HTMLSelectElement::replaceChild):
873 (WebCore::HTMLSelectElement::removeChild):
874 (WebCore::HTMLSelectElement::appendChild):
875 (WebCore::HTMLSelectElement::removeChildren):
876 Remove calls to recalcSelectOptions(). It is too late to recalc now, after mutation events
877 were already dispatched.
879 2009-03-14 Greg Bolsinga <bolsinga@apple.com>
881 <rdar://problem/6683465>
883 Geolocation has to be able to handle NULL Frames.
885 Reviewed by Mark Rowe
887 2009-03-14 Greg Bolsinga <bolsinga@apple.com>
889 Reviewed by David Kilzer.
891 Geoposition::toString was missing the Coordinates after the update.
893 * page/Geoposition.cpp:
894 (WebCore::Geoposition::toString):
896 2009-03-14 Jan Michael Alonzo <jmalonzo@webkit.org>
898 Reviewed by Mark Rowe.
900 [Gtk] Build fix - pass a Coordinate to Geoposition::create
901 https://bugs.webkit.org/show_bug.cgi?id=24603
903 Gtk build fix per r41650
904 https://bugs.webkit.org/show_bug.cgi?id=24506
905 Geolocation in Safari differs from the spec, no Coordinates attribute on Position
907 Pass a Coordinate to Geoposition::create.
909 * platform/gtk/GeolocationServiceGtk.cpp:
910 (WebCore::GeolocationServiceGtk::updatePosition):
912 2009-03-14 Alexey Proskuryakov <ap@webkit.org>
914 Reviewed by Darin Adler.
916 https://bugs.webkit.org/show_bug.cgi?id=24545
917 Make cross-site XHR simple request definition match current spec draft
919 Tests: http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type.html
920 http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers.html
922 * loader/CrossOriginAccessControl.cpp:
923 (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Added Content-Language.
924 (WebCore::isSimpleCrossOriginAccessRequest): Added HEAD. Restricted content types to those
925 that could be sent via form submission.
927 2009-03-14 Alexey Proskuryakov <ap@webkit.org>
929 Reviewed by Darin Adler.
931 https://bugs.webkit.org/show_bug.cgi?id=15172
932 object fallback - empty string for first argument of setAttributeNS does not work like null
934 https://bugs.webkit.org/show_bug.cgi?id=24548
935 createElementNS("", name) should create an element in null namespace
937 Tests: fast/dom/createElementNS-empty-namespace.html
938 fast/dom/setAttributeNS-empty-namespace.html
940 * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
941 Convert empty namespaces to null.
943 2009-03-13 Mark Rowe <mrowe@apple.com>
945 Rubber-stamped by Dan Bernstein.
947 Take advantage of the ability of recent versions of Xcode to easily switch the active
950 * Configurations/DebugRelease.xcconfig:
952 2009-03-13 John Abd-El-Malek <jam@google.com>
954 Reviewed by Darin Fisher.
956 https://bugs.webkit.org/show_bug.cgi?id=24593
957 Added requestorID so we can track the request to its WebView without using frame (which was removed).
959 * platform/network/chromium/ResourceRequest.h:
960 (WebCore::ResourceRequest::ResourceRequest):
961 (WebCore::ResourceRequest::requestorID):
962 (WebCore::ResourceRequest::setRequestorID):
963 (WebCore::ResourceRequest::setTargetType):
964 (WebCore::ResourceRequest::policyURL):
965 (WebCore::ResourceRequest::setPolicyURL):
966 (WebCore::ResourceRequest::requestorPid):
967 (WebCore::ResourceRequest::setRequestorPid):
969 2009-03-13 Mike Belshe <mike@belshe.com>
971 Reviewed by Dimitri Glazkov.
973 https://bugs.webkit.org/show_bug.cgi?id=24561
974 Add custom V8 bindings for HTMLElementCanvas, Location.
976 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Added.
977 * bindings/v8/custom/V8LocationCustom.cpp: Added.
979 2009-03-13 Stephen White <senorblanco@chromium.org>
981 Reviewed by Eric Seidel.
983 https://bugs.webkit.org/show_bug.cgi?id=24584
985 Fix transparent text rendering on Chromium. FontChromiumWin
986 was calling beginTransparencyLayer()/endTransparencyLayer(), with
987 a TransparencyWin inside to do GDI ClearType rendering over an
988 opaque background. TransparencyWin does its special sauce
989 in the destructor, but it was being called too late to be used
990 correctly in the layer. Put the special sauce into a new function,
991 composite(), and call that explicitly instead.
993 * platform/graphics/chromium/FontChromiumWin.cpp:
994 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
995 * platform/graphics/chromium/TransparencyWin.cpp:
996 (WebCore::TransparencyWin::~TransparencyWin):
997 (WebCore::TransparencyWin::composite):
998 (WebCore::TransparencyWin::init):
999 * platform/graphics/chromium/TransparencyWin.h:
1000 * rendering/RenderThemeChromiumWin.cpp:
1003 2009-03-13 Mike Belshe <mike@belshe.com>
1005 Reviewed by Dimitri Glazkov.
1007 https://bugs.webkit.org/show_bug.cgi?id=24562
1008 Add custom implementation for getCSSCanvasContext to V8 bindings.
1010 * bindings/v8/custom/V8DocumentCustom.cpp: Added new method.
1012 2009-03-13 Mike Belshe <mike@belse.com>
1014 Reviewed by Dimitri Glazkov.
1016 https://bugs.webkit.org/show_bug.cgi?id=24580
1017 Fix query() to match KURL behavior.
1019 * platform/KURLGoogle.cpp:
1020 (WebCore::KURL::query): remove extra logic around question mark.
1022 2009-03-13 Chris Fleizach <cfleizach@apple.com>
1024 Reviewed by Beth Dakin.
1026 Bug 24474: AX: in multi-body tables, asking for a cell at a specific coordinate can return nil
1027 https://bugs.webkit.org/show_bug.cgi?id=24474
1029 Test: platform/mac-snowleopard/accessibility/table-multi-bodies.html
1031 * page/AccessibilityTable.cpp:
1032 (WebCore::AccessibilityTable::cellForColumnAndRow):
1034 2009-03-13 Jian Li <jianli@chromium.org>
1036 Reviewed by Dimitri Glazkov.
1038 https://bugs.webkit.org/show_bug.cgi?id=24589
1039 Upstream changes to V8 event listeners (Chromium r11133) in order to
1040 fix worker functionality break in Chromium.
1042 * bindings/v8/V8AbstractEventListener.cpp:
1043 (WebCore::V8AbstractEventListener::invokeEventHandler):
1044 (WebCore::V8AbstractEventListener::handleEvent):
1045 * bindings/v8/V8AbstractEventListener.h:
1046 * bindings/v8/V8WorkerContextEventListener.cpp:
1047 (WebCore::V8WorkerContextEventListener::handleEvent):
1049 2009-03-13 Dimitri Glazkov <dglazkov@chromium.org>
1051 Reviewed by Timothy Hatcher.
1053 https://bugs.webkit.org/show_bug.cgi?id=24524
1054 Introduce ScriptObject and ScriptFunctionCall abstractions.
1056 * GNUmakefile.am: Added ScriptObject and ScriptFunctionCall to project.
1057 * WebCore.pro: Ditto.
1058 * WebCore.vcproj/WebCore.vcproj: Ditto.
1059 * WebCore.xcodeproj/project.pbxproj: Ditto.
1060 * WebCoreSources.bkl: Ditto.
1061 * bindings/js/ScriptFunctionCall.cpp: Added.
1062 * bindings/js/ScriptFunctionCall.h: Added.
1063 * bindings/js/ScriptObject.cpp: Added.
1064 * bindings/js/ScriptObject.h: Added.
1065 * bindings/js/ScriptObjectQuarantine.cpp: Added.
1066 * bindings/js/ScriptObjectQuarantine.h: Added.
1067 * inspector/InspectorController.cpp:
1068 (WebCore::InspectorController::populateScriptObjects): Changed to use InspectorDatabaseResource::bind.
1069 (WebCore::InspectorController::resetScriptObjects): Changed to use InspectorDatabaseResource::unbind.
1070 (WebCore::InspectorController::didOpenDatabase): Changed to use InspectorDatabaseResource::unbind.
1071 * inspector/InspectorController.h: Removed addScriptDatabaseResource and
1072 removeScriptDatabaseResource declarations.
1073 * inspector/InspectorDatabaseResource.cpp:
1074 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
1075 (WebCore::InspectorDatabaseResource::bind): Added.
1076 (WebCore::InspectorDatabaseResource::unbind): Added.
1077 * inspector/InspectorDatabaseResource.h: Added bind and unbind declarations.
1079 2009-03-13 Peter Kasting <pkasting@google.com>
1081 Reviewed by Eric Seidel.
1083 https://bugs.webkit.org/show_bug.cgi?id=24467
1084 Make Skia drawRect() and stroke behavior match CG.
1086 This makes drawRect() ignore the stroke width (like CG does), and
1087 adds a warning comment about that to the appropriate header.
1089 It also eliminates some hacky code in Skia's stroke preparation,
1090 which tried to adjust odd-width strokes to fall on pixel boundaries.
1091 Not only did this not match CG, it wouldn't necessarily work right,
1092 because there could be other transforms (e.g. full-page zoom) that
1093 would affect the stroke before it reached the device pixel level.
1095 * platform/graphics/GraphicsContext.h:
1096 * platform/graphics/skia/GraphicsContextSkia.cpp:
1097 (WebCore::GraphicsContext::drawRect):
1098 (WebCore::GraphicsContext::fillRect):
1099 * platform/graphics/skia/PlatformContextSkia.cpp:
1100 (PlatformContextSkia::drawRect):
1101 (PlatformContextSkia::setupPaintForStroking):
1103 2009-03-13 Jian Li <jianli@chromium.org>
1105 Reviewed by Dimitri Glazkov.
1107 https://bugs.webkit.org/show_bug.cgi?id=24583
1108 Need to change scope of constructor and destructor of V8ObjectEventListener from private
1109 to protected so that they could be used in its derived class V8WorkerContextEventListener.
1111 * bindings/v8/V8ObjectEventListener.h:
1113 2009-03-13 David Levin <levin@chromium.org>
1115 Reviewed by Dimitri Glazkov.
1117 https://bugs.webkit.org/show_bug.cgi?id=24579
1118 Many V8*Event* files are misplaced.
1120 This code is infrastructure for supporting the bindings and thus should
1121 be in the bindings/v8 directory.
1123 * bindings/v8/V8AbstractEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8AbstractEventListener.cpp.
1124 * bindings/v8/V8AbstractEventListener.h: Renamed from WebCore/bindings/v8/custom/V8AbstractEventListener.h.
1125 * bindings/v8/V8LazyEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8LazyEventListener.cpp.
1126 * bindings/v8/V8LazyEventListener.h: Renamed from WebCore/bindings/v8/custom/V8LazyEventListener.h.
1127 * bindings/v8/V8ObjectEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8ObjectEventListener.cpp.
1128 * bindings/v8/V8ObjectEventListener.h: Renamed from WebCore/bindings/v8/custom/V8ObjectEventListener.h.
1129 * bindings/v8/V8WorkerContextEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8WorkerContextEventListener.cpp.
1130 * bindings/v8/V8WorkerContextEventListener.h: Renamed from WebCore/bindings/v8/custom/V8WorkerContextEventListener.h.
1132 2009-03-13 Adele Peterson <adele@apple.com>
1134 Reviewed by Justin Garcia.
1136 Fix for <rdar://problem/5089327> Color of quoted content is wrong when pasted inside other quoted content
1138 Test: editing/pasteboard/5089327.html
1140 Handle spans being pasted within a quoted region in the same way we handle "paste as quotation" content.
1142 * editing/ReplaceSelectionCommand.cpp:
1143 (WebCore::handleStyleSpansBeforeInsertion):
1144 (WebCore::ReplaceSelectionCommand::handleStyleSpans):
1146 2009-03-13 Greg Bolsinga <bolsinga@apple.com>
1148 Reviewed by Simon Fraser.
1150 Update Geolocation perimission dialogs to be asynchronous.
1151 https://bugs.webkit.org/show_bug.cgi?id=24505
1153 Geolocation now requests permission from the Chrome asynchronously.
1154 The Chrome is passed the Geolocation object, and the Chrome sets the permission
1155 on the Geolocation. Geolocation also tracks if the Chrome should clear its cache
1156 of SecurityOrigins with geolocation permission. This is so that the GeolocationService
1157 can inform the Chrome of its request, and the Chrome is also free to implement its
1161 * WebCore.xcodeproj/project.pbxproj:
1163 (WebCore::Chrome::requestGeolocationPermissionForFrame):
1165 * page/ChromeClient.h:
1166 (WebCore::ChromeClient::requestGeolocationPermissionForFrame):
1167 * page/Geolocation.cpp:
1168 (WebCore::Geolocation::Geolocation):
1169 (WebCore::Geolocation::getCurrentPosition):
1170 (WebCore::Geolocation::watchPosition):
1171 (WebCore::Geolocation::setIsAllowed):
1172 (WebCore::Geolocation::displayChallengeIfNecessary):
1173 (WebCore::Geolocation::geolocationServicePositionChanged):
1174 * page/Geolocation.h:
1175 (WebCore::Geolocation::isAllowed):
1176 (WebCore::Geolocation::setShouldClearCache):
1177 (WebCore::Geolocation::shouldClearCache):
1178 (WebCore::Geolocation::):
1180 2009-03-13 Anders Carlsson <andersca@apple.com>
1182 Reviewed by Dan Bernstein.
1184 <rdar://problem/6610666> Revise the Cocoa event model text API
1186 Add a NPCocoaEventTextInput event type. Remove the text input variables.
1191 2009-03-13 Kevin Decker <kdecker@apple.com>
1195 <rdar://problem/6630340> REGRESSION (39114-39115): Unity Web Player no longer works if Flip4Mac is also installed
1197 The code assumed if we have a plug-in that supports "application/x-oleobject" we should always prefer the object tag
1198 over of an embed tag. That assumption can cause the Mac platform to load the wrong plug-in, as Flip4Mac claims supports
1201 * rendering/RenderPartObject.cpp:
1202 (WebCore::shouldUseEmbedDescendant): Made the Mac platform always return true here.
1204 2009-03-13 Jian Li <jianli@chromium.org>
1206 Reviewed by Dimitri Glazkov.
1208 https://bugs.webkit.org/show_bug.cgi?id=24559
1209 Need to port JSC fix (r41565) to V8 in order to fix layout test onload-single-line-comment.html.
1211 * bindings/v8/custom/V8LazyEventListener.cpp:
1212 (WebCore::V8LazyEventListener::getListenerFunction):
1213 (WebCore::V8LazyEventListener::getWrappedListenerFunction):
1215 2009-03-13 Jian Li <jianli@chromium.org>
1217 Reviewed by Dimitri Glazkov.
1219 https://bugs.webkit.org/show_bug.cgi?id=24557
1220 This is to support running multiple workers in a single worker process in chromium.
1222 * bindings/v8/custom/V8WorkerContextEventListener.cpp:
1223 (WebCore::V8WorkerContextEventListener::handleEvent):
1224 Add locker to v8 event listener of worker context.
1226 2009-03-13 Alexey Proskuryakov <ap@webkit.org>
1228 Reviewed by Sam Weinig.
1230 https://bugs.webkit.org/show_bug.cgi?id=24575
1231 XHR response is incorrect after a network error.
1233 Tests: http/tests/xmlhttprequest/cross-site-denied-response-sync-2.html
1234 http/tests/xmlhttprequest/cross-site-denied-response-sync.html
1235 http/tests/xmlhttprequest/cross-site-denied-response.html
1237 * xml/XMLHttpRequest.cpp:
1238 (WebCore::XMLHttpRequest::networkError): Call internalAbort() to fully reset the request.
1239 (WebCore::XMLHttpRequest::didFailRedirectCheck): No need to call internalAbort() here. Note
1240 that since internalAbort() can drop GC protection, it is not safe to use the object after
1242 (WebCore::XMLHttpRequest::didReceiveData): Check that the request wasn't aborted, and
1243 return early if it was. This can happen during sync requests, as the loader does not know
1244 that it was aborted, and just synthesizes all callbacks.
1246 2009-03-13 Adam Bergkvist <adam.bergkvist@ericsson.com>
1248 Reviewed by Alexey Proskuryakov.
1250 https://bugs.webkit.org/show_bug.cgi?id=3547
1251 XMLHttpRequest.statusText returns always "OK"
1253 Covered by existing tests (which now pass on all platforms but Mac).
1255 * xml/XMLHttpRequest.cpp:
1256 (WebCore::XMLHttpRequest::statusText): Return ResourceResponse status text. It is now up
1257 to each platform to correctly set the status text or set it to "OK" to retain current
1260 2009-03-13 Adam Bergkvist <adam.bergkvist@ericsson.com>
1262 Reviewed by Alexey Proskuryakov.
1264 https://bugs.webkit.org/show_bug.cgi?id=24349
1265 [QT] HTTP status text is never set
1267 Set HTTP status text to the reason phrase attribute of QNetworkReply.
1269 * platform/network/qt/QNetworkReplyHandler.cpp:
1270 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1272 2009-03-12 Simon Fraser <simon.fraser@apple.com>
1274 Reviewed by Mark Rowe
1276 <rdar://problem/6622300>: Reproducible crash on
1277 <http://www.editgrid.com/explore/tnc/dave/FusionChart%3A_Candlestick>
1279 Prevent CSSStyleSheet::checkLoaded() writing to freed memory when it gets
1280 deleted from under itself. The sheetLoaded() notification can allow scripts
1281 to run via HTMLTokenizer::executeScriptsWaitingForStylesheets(),
1282 which can cause the last ref to the CSSStyleSheet to be released.
1284 * css/CSSStyleSheet.cpp:
1285 (WebCore::CSSStyleSheet::checkLoaded):
1287 2009-03-12 Kevin Ollivier <kevino@theolliviers.com>
1289 wx build fix. Allow make-generated-sources.sh to pass args down to DerivedSources.make
1291 * make-generated-sources.sh:
1293 2009-03-12 Adam Treat <adam.treat@torchmobile.com>
1295 Reviewed by Oliver Hunt.
1297 https://bugs.webkit.org/show_bug.cgi?id=24498
1298 Fix the Qt port to use the same algorithm for drawing dashed and dotted
1299 borders as the other ports. This makes the Qt port pixel-for-pixel perfect
1300 compared to border drawing with Apple's canonical mac port and much closer
1301 to konqueror and firefox behavior.
1303 * platform/graphics/qt/GraphicsContextQt.cpp:
1304 (WebCore::GraphicsContext::drawLine):
1306 2009-02-26 Eric Seidel <eric@webkit.org>
1308 Reviewed by Justin Garcia.
1310 Clean up DOMSelection to use some helper functions
1311 making the code smaller, and less error-prone.
1312 https://bugs.webkit.org/show_bug.cgi?id=19221
1314 I tried moving DOMSelection off of rangeCompliantEquivalent
1315 but failed. VisibleSelection holds positions like (table, 1) to mean
1318 * page/DOMSelection.cpp:
1319 (WebCore::DOMSelection::visibleSelection):
1320 (WebCore::anchorPosition):
1321 (WebCore::focusPosition):
1322 (WebCore::basePosition):
1323 (WebCore::extentPosition):
1324 (WebCore::DOMSelection::anchorNode):
1325 (WebCore::DOMSelection::anchorOffset):
1326 (WebCore::DOMSelection::focusNode):
1327 (WebCore::DOMSelection::focusOffset):
1328 (WebCore::DOMSelection::baseNode):
1329 (WebCore::DOMSelection::baseOffset):
1330 (WebCore::DOMSelection::extentNode):
1331 (WebCore::DOMSelection::extentOffset):
1332 * page/DOMSelection.h:
1334 2009-03-12 Dmitry Titov <dimich@chromium.org>
1336 Reviewed by Dimitri Glazkov.
1338 https://bugs.webkit.org/show_bug.cgi?id=24563
1339 Change ResourceRequest to be a struct rather then a class to match other declarations.
1341 * platform/network/chromium/ResourceRequest.h:
1343 2009-03-12 David Levin <levin@chromium.org>
1345 Reviewed by Darin Fisher.
1347 Bug 24530: width100percent-searchfield.html should be fixed for chromium.
1348 <https://bugs.webkit.org/show_bug.cgi?id=24530>
1350 Compensate for r39924 in chromium, which broke LayoutTests/fast/replaced/width100percent-searchfield.html
1352 * css/themeChromiumWin.css: Added.
1353 Overrides the changes to start supporting input[type="search"] on Windows (since
1354 Chromium doesn't do anything special for this).
1356 * rendering/RenderThemeChromiumWin.cpp:
1357 (WebCore::supportsFocus):
1358 (WebCore::RenderThemeChromiumWin::extraDefaultStyleSheet):
1359 (WebCore::RenderThemeChromiumWin::determineState):
1360 (WebCore::RenderThemeChromiumWin::getThemeData):
1362 2009-03-12 Greg Bolsinga <bolsinga@apple.com>
1364 Reviewed by Antti Koivisto.
1366 https://bugs.webkit.org/show_bug.cgi?id=24506
1367 Geolocation in Safari differs from the spec, no Coordinates attribute on Position
1371 * DerivedSources.make:
1375 * WebCore.vcproj/WebCore.vcproj:
1376 * WebCore.xcodeproj/project.pbxproj:
1377 * WebCoreSources.bkl:
1378 * bindings/js/JSGeolocationCustom.cpp:
1379 (WebCore::createPositionOptions):
1380 * page/Coordinates.cpp: Added.
1381 (WebCore::Coordinates::toString):
1382 * page/Coordinates.h: Added.
1383 (WebCore::Coordinates::create):
1384 (WebCore::Coordinates::latitude):
1385 (WebCore::Coordinates::longitude):
1386 (WebCore::Coordinates::altitude):
1387 (WebCore::Coordinates::accuracy):
1388 (WebCore::Coordinates::altitudeAccuracy):
1389 (WebCore::Coordinates::heading):
1390 (WebCore::Coordinates::speed):
1391 (WebCore::Coordinates::Coordinates):
1392 * page/Coordinates.idl: Added.
1393 * page/Geoposition.cpp:
1394 (WebCore::Geoposition::toString):
1395 * page/Geoposition.h:
1396 (WebCore::Geoposition::create):
1397 (WebCore::Geoposition::coords):
1398 (WebCore::Geoposition::Geoposition):
1399 * page/Geoposition.idl:
1400 * page/PositionOptions.h:
1401 (WebCore::PositionOptions::create):
1402 (WebCore::PositionOptions::maximumAge):
1403 (WebCore::PositionOptions::setMaximumAge):
1404 (WebCore::PositionOptions::PositionOptions):
1405 * platform/mac/GeolocationServiceMac.mm:
1406 (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
1408 2009-03-12 Dimitri Glazkov <dglazkov@chromium.org>
1410 Reviewed by Darin Fisher.
1412 https://bugs.webkit.org/show_bug.cgi?id=24496
1413 Fix console logging of non-string values by coercing the argument to
1414 a string, for V8 bindings.
1416 Test: fast/js/console-non-string-values.html
1418 * bindings/v8/ScriptValue.cpp: Added toString method.
1419 (WebCore::ScriptValue::toString):
1420 * bindings/v8/ScriptValue.h: Added PlatformString, ScriptState includes
1421 and toString declaration.
1423 2009-03-12 Darin Fisher <darin@chromium.org>
1425 Reviewed by Dimitri Glazkov.
1427 Eliminate ChromiumBridge::uiResourceProtocol
1428 https://bugs.webkit.org/show_bug.cgi?id=24558
1430 * platform/chromium/ChromiumBridge.h:
1432 2009-03-12 Greg Bolsinga <bolsinga@apple.com>
1434 Reviewed by Simon Fraser.
1436 Missing breaks in switch statement
1437 https://bugs.webkit.org/show_bug.cgi?id=24556
1439 * platform/mac/GeolocationServiceMac.mm:
1440 (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]):
1442 2009-03-12 Darin Fisher <darin@chromium.org>
1444 Reviewed by Dimitri Glazkov.
1446 https://bugs.webkit.org/show_bug.cgi?id=24554
1447 Remove some unused functions from ChromiumBridge.
1449 * platform/chromium/ChromiumBridge.h:
1451 2009-03-02 Eric Seidel <eric@webkit.org>
1453 Reviewed by Darin Fisher and Justin Garcia.
1455 Safari crashes during drag and drop in Google presentations
1456 due to mutation event handlers removing DOM content during insertNode
1457 https://bugs.webkit.org/show_bug.cgi?id=22634
1459 Added a bunch of "null" checks to make sure nodes are still
1460 in the document before we operate on them. This is an
1461 inelegant solution, but it's the best we have for now.
1463 Test: editing/selection/crash-on-drag-with-mutation-events.html
1465 * editing/CompositeEditCommand.cpp:
1466 (WebCore::CompositeEditCommand::insertNodeAt):
1467 * editing/ReplaceSelectionCommand.cpp:
1468 (WebCore::ReplaceSelectionCommand::doApply):
1470 2009-03-12 Dimitri Glazkov <dglazkov@chromium.org>
1472 Reviewed by Adam Treat.
1474 https://bugs.webkit.org/show_bug.cgi?id=24525
1475 REGRESSION: Inspector window doesn't close when inspected page is
1476 destroyed. This is a revert of r41158, which became unnecessary when
1477 InspectorController became ref-counted in r41462.
1479 * inspector/InspectorController.cpp:
1480 (WebCore::InspectorController::inspectedPageDestroyed): Reset m_inspectedPage
1481 after calling close().
1482 (WebCore::InspectorController::stopUserInitiatedProfiling): Remove
1483 m_inspectedPage check guard around profile logic.
1485 2009-03-12 Peter Kasting <pkasting@google.com>
1487 Reviewed by Darin Fisher.
1489 https://bugs.webkit.org/show_bug.cgi?id=24502
1490 Make horizontal scrolling on Windows always go the correct direction.
1492 * platform/PlatformWheelEvent.h:
1493 * platform/win/WheelEventWin.cpp:
1494 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1496 2009-03-12 Dimitri Glazkov <dglazkov@chromium.org>
1498 Reviewed by Simon Fraser.
1500 https://bugs.webkit.org/show_bug.cgi?id=24496
1501 Fix console logging of non-string values by coercing the argument to
1504 Test: fast/js/console-non-string-values.html
1506 * bindings/js/ScriptValue.cpp: Removed PlatformString include.
1507 * bindings/js/ScriptValue.h: Added toString method.
1508 (WebCore::ScriptValue::toString):
1510 (WebCore::getFirstArgumentAsString): Changed firstArgumentAsString method to use
1511 ScriptValue::toString.
1512 (WebCore::Console::addMessage): added extra ScriptState argument to callsite.
1513 (WebCore::Console::count): Ditto.
1515 2009-03-12 Simon Fraser <simon.fraser@apple.com>
1517 Reviewed by Adele Peterson.
1519 https://bugs.webkit.org/show_bug.cgi?id=24508
1521 Fix updating of text field with placeholder text when value is set
1522 by ensuring that updatePlaceholderVisibility() is called after
1523 the value has been updated, not before.
1525 Test: fast/forms/placeholder-set-value.html
1527 * html/HTMLInputElement.cpp:
1528 (WebCore::HTMLInputElement::setValue):
1530 2009-03-12 Simon Fraser <simon.fraser@apple.com>
1532 Reviewed by Dave Hyatt
1534 https://bugs.webkit.org/show_bug.cgi?id=24552
1536 Hit testing involving normal flow, self-painting layers (e.g. reflections)
1537 was broken because it was not null-testing the result of hitTestLayer(),
1538 so bailing early with a nil hit layer.
1540 Test: fast/layers/normal-flow-hit-test.html
1542 * rendering/RenderLayer.cpp:
1543 (WebCore::RenderLayer::hitTestLayer):
1545 2009-03-12 Dimitri Glazkov <dglazkov@chromium.org>
1547 Reviewed by Cameron Zwarich.
1549 Removed zero-sized files, left over from improperly applied patch.
1551 * platform/graphics/chromium/ThemeHelperChromiumWin.cpp: Removed.
1552 * platform/graphics/chromium/ThemeHelperChromiumWin.h: Removed.
1554 2009-03-12 Adam Treat <adam.treat@torchmobile.com>
1556 Reviewed by George Staikos.
1558 Do not ignore alpha color in optimization. Hard to believe, but there
1559 are websites that fill the entire page with a tiled image consisting of
1560 nothing but a 100% transparent 1x1 image. <cough>orbitz.com</cough>
1562 * platform/graphics/qt/ImageQt.cpp:
1563 (WebCore::BitmapImage::checkForSolidColor):
1565 2009-03-12 Julien Chaffraix <jchaffraix@webkit.org>
1567 Reviewed by Darin Adler.
1569 Bug 24110: cloneNode should call cloneElement and not the reverse
1571 - Splitted the code from cloneNode into cloneElementWithChildren and cloneElementWithChildren.
1572 Now cloneNode calls one of the 2 previous methods.
1574 - Renamed cloneElement to cloneElementWithoutChildren as it was the previous behaviour.
1576 - Moved cloneNode to the Element private section so that WebCore callers cannot use it.
1578 - Removed Element::cloneNode usage through WebCore.
1581 (WebCore::Element::cloneNode): Moved to Element's private section and it
1582 now calls the two next methods.
1583 (WebCore::Element::cloneElementWithChildren): Added.
1584 (WebCore::Element::cloneElementWithoutChildren): Renamed from cloneElement
1588 * editing/ApplyStyleCommand.cpp:
1589 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Changed call to cloneElement
1590 to call to cloneElementWithoutChildren.
1591 * editing/BreakBlockquoteCommand.cpp:
1592 (WebCore::BreakBlockquoteCommand::doApply): Ditto.
1593 * editing/IndentOutdentCommand.cpp:
1594 (WebCore::IndentOutdentCommand::indentRegion): Ditto.
1595 * editing/InsertParagraphSeparatorCommand.cpp:
1596 (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
1597 * editing/ModifySelectionListLevel.cpp:
1598 (WebCore::IncreaseSelectionListLevelCommand::doApply): Ditto.
1599 * editing/SplitElementCommand.cpp:
1600 (WebCore::SplitElementCommand::doApply): Ditto.
1601 * editing/markup.cpp:
1602 (WebCore::createFragmentFromText): Ditto.
1603 * svg/SVGUseElement.cpp:
1604 (WebCore::SVGUseElement::buildShadowTree): Ditto.
1605 (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto.
1607 2009-03-12 Dirk Schulze <krit@webkit.org>
1609 Reviewed by Oliver Hunt.
1611 Fixed a crash on the 1x1 pixel check for background image in gtk.
1612 We need to load the image first and need to be sure that the image
1613 is not null before checking the type.
1615 * platform/graphics/cairo/ImageCairo.cpp:
1616 (WebCore::BitmapImage::checkForSolidColor):
1618 2009-03-12 Xan Lopez <xlopez@igalia.com>
1620 Reviewed by Alexey Proskuryakov.
1622 https://bugs.webkit.org/show_bug.cgi?id=24544
1623 Rename setUrl to setURL
1625 Use proper case for setUrl method, rename it to setURL.
1627 * platform/network/ResourceResponseBase.cpp:
1628 (WebCore::ResourceResponseBase::adopt):
1629 * platform/network/ResourceResponseBase.h:
1630 * platform/network/curl/ResourceHandleManager.cpp:
1631 (WebCore::writeCallback):
1632 (WebCore::headerCallback):
1633 * platform/network/soup/ResourceHandleSoup.cpp:
1634 (WebCore::fillResponseFromMessage):
1635 (WebCore::queryInfoCallback):
1637 2009-03-12 Xan Lopez <xlopez@igalia.com>
1639 Reviewed by Alexey Proskuryakov.
1641 https://bugs.webkit.org/show_bug.cgi?id=24519
1642 [GTK] Use two argument KURL ctor in ResourceHandleSoup
1644 Use two argument KURL ctor, the single argument ctor expects its
1645 input to be the output of a previous KURL::parse call, which is
1648 * platform/network/soup/ResourceHandleSoup.cpp:
1649 (WebCore::fillResponseFromMessage):
1650 (WebCore::queryInfoCallback):
1652 2009-03-11 Jon Honeycutt <jhoneycutt@apple.com>
1654 Fix for <rdar://6418681>
1655 https://bugs.webkit.org/show_bug.cgi?id=22644
1657 Reviewed by Steve Falkenburg.
1659 * plugins/win/PluginPackageWin.cpp:
1660 (WebCore::PluginPackage::isPluginBlacklisted): Add the Citrix ICA
1661 Client plug-in to the blacklist; it requires a Mozilla-based browser.
1663 2009-03-12 Oliver Hunt <oliver@apple.com>
1665 Reviewed by NOBODY (build fix).
1669 * html/CanvasRenderingContext2D.h:
1671 2009-03-11 Oliver Hunt <oliver@apple.com>
1673 Reviewed by Adele Peterson.
1675 <rdar://problem/6673852> Widget "Simple World Clock" does not display with Safari 4
1677 A number of dashboard widgets rely on canvas failing silently when given invalid
1678 colors for gradient stops, but both the spec and firefox throw exceptions here.
1679 So we work around this by creating a dashboard quirk that will only suppress the
1680 exception in dashboard compatibility mode.
1682 Test: fast/canvas/canvas-gradient-addStop-error.html
1684 * html/CanvasGradient.cpp:
1685 (WebCore::CanvasGradient::CanvasGradient):
1686 (WebCore::CanvasGradient::addColorStop):
1687 * html/CanvasGradient.h:
1688 (WebCore::CanvasGradient::setDashboardCompatibilityMode):
1689 * html/CanvasRenderingContext2D.cpp:
1690 (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
1691 (WebCore::CanvasRenderingContext2D::createLinearGradient):
1692 (WebCore::CanvasRenderingContext2D::createRadialGradient):
1693 * html/CanvasRenderingContext2D.h:
1695 2009-03-11 David Kilzer <ddkilzer@apple.com>
1697 Clarify comments regarding order of FEATURE_DEFINES
1699 Rubber-stamped by Mark Rowe.
1701 * Configurations/WebCore.xcconfig: Added warning about the
1702 consequences when FEATURE_DEFINES are not kept in sync.
1704 2009-03-11 Gustavo Noronha Silva <gns@gnome.org>
1706 Reviewed by Holger Freyther.
1708 https://bugs.webkit.org/show_bug.cgi?id=24515
1709 [GTK] soup backend should use GMappedFile instead of mmap directly
1711 Rewrite mmap code used to upload files to use GMappedFile, so that
1712 it is platform-independent.
1714 * platform/network/soup/ResourceHandleSoup.cpp:
1715 (WebCore::ResourceHandle::startHttp):
1717 2009-03-11 Dan Bernstein <mitz@apple.com>
1719 Reviewed by Darin Adler.
1721 - WebCore part of fixing <rdar://problem/3919124> Thai text selection
1722 in Safari is incorrect
1724 Test: platform/mac/editing/selection/word-thai.html
1726 Tested on Mac, but should work on all ICU platforms (or more precisely
1727 on all platforms that implement
1728 WTF::Unicode::hasLineBreakingPropertyComplexContext() correctly).
1730 * editing/TextIterator.cpp:
1731 (WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator):
1733 (WebCore::BackwardsCharacterIterator::range): Added.
1734 (WebCore::BackwardsCharacterIterator::advance): Added.
1736 * editing/TextIterator.h: Added BackwardsCharacterIterator with the
1737 minimal functionality required for this patch.
1738 (WebCore::BackwardsCharacterIterator::atEnd): Added.
1740 * editing/visible_units.cpp:
1741 (WebCore::firstNonComplexContextLineBreak): Added this helper function
1742 that returns the index of the first character in the string whose
1743 Unicode line breaking property value is not SA ("Complex Context"), or
1744 the length of the string if there is no such character.
1745 (WebCore::lastNonComplexContextLineBreak): Added this helper function
1746 that returns the index of the last character in the string whose
1747 Unicode line breaking property value is not SA ("Complex Context"), or
1748 -1 if there is no such character.
1749 (WebCore::previousBoundary): Changed the signature of the search
1750 function to include an offset parameter. Renamed the 'exception' local
1751 variable to 'ec' and changed its type to ExceptionCode. Extend the
1752 string forwards until the first character with Unicode line breaking
1753 property value other than SA. This gives the boundary search function
1754 enough context in the forward direction. Changed to use a
1755 BackwardsCharacterIterator for translating the backwards offset into
1757 (WebCore::nextBoundary): Changed the signature of the search
1758 function to include an offset parameter. Extend the string backwards
1759 until the first character with Unicode line breaking property value
1760 other than SA. This gives the boundary search function enough context in
1761 the backwards direction. Restricted the workaround for <rdar://5192593>
1762 only to the line break case, because it was causing an extra character
1763 to be selected following a word that ended with a combining mark.
1764 (WebCore::startWordBoundary): Added an offset parameter. Check that
1765 going backwards from the given offset, there is a character with Unicode
1766 line breaking property value other than SA, and otherwise return 0 to
1767 request more context.
1768 (WebCore::endWordBoundary): Similar, but in reverse.
1769 (WebCore::previousWordPositionBoundary): Similar.
1770 (WebCore::nextWordPositionBoundary): Similar.
1771 (WebCore::startSentenceBoundary): Updated for the new search function
1773 (WebCore::endSentenceBoundary): Ditto.
1774 (WebCore::previousSentencePositionBoundary): Ditto.
1775 (WebCore::nextSentencePositionBoundary): Ditto.
1777 2009-03-11 Darin Adler <darin@apple.com>
1779 Reviewed by Mark Rowe.
1781 Don't use "::" in thread names because it is ugly!
1783 * loader/icon/IconDatabase.cpp:
1784 (WebCore::IconDatabase::open): Use "WebCore: " instead of "WebCore::".
1785 * platform/network/cf/ResourceHandleCFNet.cpp:
1786 (WebCore::ResourceHandle::loaderRunLoop): Call this "WebCore: CFNetwork Loader" to make
1787 it clear this is a WebCore-created thread.
1788 * storage/DatabaseThread.cpp:
1789 (WebCore::DatabaseThread::start): Use "WebCore: " instead of "WebCore::".
1790 * storage/LocalStorageThread.cpp:
1791 (WebCore::LocalStorageThread::start): Use "WebCore: " instead of "WebCore::".
1792 * workers/WorkerThread.cpp:
1793 (WebCore::WorkerThread::start): Use "WebCore: " instead of "WebCore::".
1795 2009-03-11 Mark Rowe <mrowe@apple.com>
1797 Rubber-stamped by Darin Adler.
1799 <rdar://problem/6653286> WebCore's implementation of screenIsMonochrome is needlessly complex
1801 * platform/mac/PlatformScreenMac.mm:
1802 (WebCore::screenIsMonochrome): Return false.
1804 2009-03-11 Beth Dakin <bdakin@apple.com>
1806 Reviewed by Dan Bernstein.
1808 Fix for https://bugs.webkit.org/show_bug.cgi?id=14749 percentage
1809 top value on position:relative child not calculated correctly if
1810 parent has percentage height
1811 - and corresponding -
1812 <rdar://problem/6172925>
1814 * rendering/RenderBoxModelObject.cpp:
1815 (WebCore::RenderBoxModelObject::relativePositionOffsetY):
1817 2009-03-11 Jian Li <jianli@chromium.org>
1819 Reviewed by Dimitri Glazkov.
1821 Implement ScriptValue::hasNoValue for V8.
1822 https://bugs.webkit.org/show_bug.cgi?id=24507
1824 * bindings/v8/ScriptValue.h:
1825 (WebCore::ScriptValue::hasNoValue):
1827 2009-03-11 David Levin <levin@chromium.org>
1829 Reviewed by Dimitri Glazkov.
1831 Bug 24459: Add v8 bindings for event.
1832 <https://bugs.webkit.org/show_bug.cgi?id=24459>
1834 Adding custom event bindings.
1836 * bindings/v8/custom/V8AbstractEventListener.cpp: Added.
1837 * bindings/v8/custom/V8AbstractEventListener.h: Added.
1838 * bindings/v8/custom/V8AttrCustom.cpp:
1839 Fixed messed up copyright header.
1840 * bindings/v8/custom/V8CustomEventListener.cpp: Added.
1841 * bindings/v8/custom/V8CustomEventListener.h:
1842 Replaced forwarding header with the real implementation.
1843 * bindings/v8/custom/V8ElementCustom.cpp:
1844 * bindings/v8/custom/V8LazyEventListener.cpp: Added.
1845 * bindings/v8/custom/V8LazyEventListener.h: Added.
1846 * bindings/v8/custom/V8ObjectEventListener.cpp: Added.
1847 * bindings/v8/custom/V8ObjectEventListener.h: Added.
1848 * bindings/v8/custom/V8WorkerContextEventListener.cpp: Added.
1849 * bindings/v8/custom/V8WorkerContextEventListener.h: Added.
1851 2009-03-11 Darin Fisher <darin@chromium.org>
1853 Reviewed by Dimitri Glazkov.
1855 https://bugs.webkit.org/show_bug.cgi?id=24521
1856 Add some missing includes for the non-JSC build.
1858 * platform/text/PlatformString.h: added OwnPtr.h
1859 * xml/XMLHttpRequest.cpp: added SecurityOrigin.h
1861 2009-03-11 Simon Fraser <simon.fraser@apple.com>
1863 Reviewed by Darin Adler
1865 https://bugs.webkit.org/show_bug.cgi?id=24531
1867 Make sure that AnimationControllerPrivate::getAnimatedStyleForRenderer() never
1868 returns a null style if it has a valid renderer, which could happen if a
1869 CompositeAnimation existed, but wasn't running any animations or transitions.
1871 * page/animation/AnimationController.cpp:
1872 (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
1874 2009-03-11 Simon Fraser <simon.fraser@apple.com>
1876 Fix Scons build. Patch from Alexander Guy.
1880 2009-03-11 Simon Fraser <simon.fraser@apple.com>
1882 Reviewed by Dan Bernstein
1884 https://bugs.webkit.org/show_bug.cgi?id=23093
1886 When the cancel button in the search field is shown or hidden,
1887 we need to explicitly setStyle() on the cancel button's renderer,
1888 to ensure that repaint happens. Changing the style without telling
1889 the renderer won't work.
1891 Test: fast/repaint/search-field-cancel.html
1893 * rendering/RenderTextControlSingleLine.cpp:
1894 (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
1895 (WebCore::RenderTextControlSingleLine::updateFromElement):
1896 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
1897 (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility):
1898 (WebCore::RenderTextControlSingleLine::visibilityForCancelButton):
1899 * rendering/RenderTextControlSingleLine.h:
1901 2009-03-11 Hironori Bono <hbono@chromium.org>
1903 Reviewed by Alexey Proskuryakov.
1905 https://bugs.webkit.org/show_bug.cgi?id=15790
1906 Ligatures aren't accounted for when manipulating VisiblePositions
1908 Changed cursorMovementIterator rules to prevent a cursor from moving in the middle of an
1909 Indic ligature which uses a virama sign.
1911 Test: editing/deleting/skip-virama-001.html
1913 * platform/text/TextBreakIteratorICU.cpp:
1914 (WebCore::cursorMovementIterator):
1916 2009-03-11 Alexey Proskuryakov <ap@webkit.org>
1918 Reviewed by George Staikos.
1920 https://bugs.webkit.org/show_bug.cgi?id=24513
1921 REGRESSION: Cursor movement doesn't work on Tiger (ICU 3.2)
1923 Fixes existing tests on Tiger.
1925 * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator):
1926 Use characterBreakIterator on Tiger (like we used to do).
1928 2009-03-11 Alexey Proskuryakov <ap@webkit.org>
1930 Reviewed by Oliver Hunt.
1932 <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
1934 * platform/network/mac/ResourceRequestMac.mm:
1935 (WebCore::ResourceRequest::doUpdatePlatformRequest): Correct selector name
1936 in instancesRespondToSelector.
1938 2009-03-11 Jan Michael Alonzo <jmalonzo@webkit.org>
1940 Reviewed by Holger Freyther.
1942 [GTK]DumpRenderTree doesn't compile for non-X11 GTK ports anymore
1943 https://bugs.webkit.org/show_bug.cgi?id=2260
1945 Add missing stdio.h include to get the build going
1947 * plugins/gtk/PluginPackageGtk.cpp:
1949 2009-03-10 Justin Garcia <justin.garcia@apple.com>
1951 Reviewed by Ken Kocienda.
1954 (WebCore::Range::addLineBoxRects): If the range ended at [div, 0], addLineBoxRects
1955 would include rects for the divs contents. Set the correct RenderObject to stop at.
1957 2009-03-10 Alexey Proskuryakov <ap@webkit.org>
1959 Reviewed by Sam Weinig.
1961 <rdar://problem/6123770> Restrict access to document.cookie when making a cross-site XHR
1963 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseXML): Removed an incorrect
1964 comment about cookie support. Firefox doesn't expose cookies on responseXML at all, and
1965 there are security concerns with exposing them for cross-origin requests, so it's not clear
1966 if we want to change anything here.
1968 2009-03-10 Simon Fraser <simon.fraser@apple.com>
1970 Reviewed by Darin Adler
1972 https://bugs.webkit.org/show_bug.cgi?id=24503
1974 Fix hit testing of absolutely positioned single line text controls by
1975 ensuring that we set result.innerNode() correctly. If the hit node is
1976 a descendant of the inner text element or if it is the <input> itself,
1977 then we say we hit the innerTextElement.
1979 Rename hitInnerTextBlock() to hitInnerTextElement() to match the
1980 'innerTextElement' terminology used elsewhere.
1982 Assert that if renderer()->hitTest() returns false, no-one set
1985 Test: fast/forms/search-abs-pos-cancel-button.html
1987 * rendering/RenderLayer.cpp:
1988 (WebCore::RenderLayer::hitTestContents):
1989 * rendering/RenderTextControl.cpp:
1990 (WebCore::RenderTextControl::hitInnerTextElement):
1991 * rendering/RenderTextControl.h:
1992 * rendering/RenderTextControlMultiLine.cpp:
1993 (WebCore::RenderTextControlMultiLine::nodeAtPoint):
1994 * rendering/RenderTextControlSingleLine.cpp:
1995 (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1997 2009-03-10 Antti Koivisto <antti@apple.com>
1999 Reviewed by Mark Rowe.
2001 <rdar://problem/6668238> WebCore is registering text encodings needlessly from KURL constructor.
2003 Another case where we would trigger extended encoding loading needlessly.
2005 * platform/text/TextEncoding.cpp:
2006 (WebCore::TextEncoding::isNonByteBasedEncoding):
2008 2009-03-10 Beth Dakin <bdakin@apple.com>
2010 Reviewed by Darin Adler.
2012 Fix for <rdar://problem/6624769> REGRESSION (Safari 4 PB): No
2013 scroll bar appears for long line of text with NOWRAP set
2015 This is a regression from http://trac.webkit.org/changeset/32226
2016 I talked with Dan about the original change, and we decided that
2017 the best fix was to remove his small potential-optimization that
2018 only created a separate line box for whitespace under certain
2019 circumstances. This new code will always create a separate line
2022 * rendering/bidi.cpp:
2023 (WebCore::RenderBlock::layoutInlineChildren):
2025 2009-03-10 Sam Weinig <sam@webkit.org>
2027 Reviewed by Geoffrey Garen.
2029 Fix for <rdar://problem/6166844>
2030 https://bugs.webkit.org/show_bug.cgi?id=24495
2032 Use same rule for loading java applets as we do for images.
2034 * html/HTMLAppletElement.cpp:
2035 (WebCore::HTMLAppletElement::createRenderer):
2036 * loader/FrameLoader.cpp:
2037 (WebCore::FrameLoader::loadItem):
2039 2009-03-10 Justin Garcia <justin.garcia@apple.com>
2041 Reviewed by David Kilzer.
2043 Get rid of revealCaret and use revealSelection instead.
2046 * editing/SelectionController.cpp:
2047 (WebCore::SelectionController::setSelection):
2049 (WebCore::Frame::revealSelection):
2052 2009-03-10 Cameron Zwarich <cwzwarich@uwaterloo.ca>
2054 Reviewed by Geoff Garen.
2056 Bug 23736: WebKit Crashes on http://g-conquest.fr/~server2
2057 <https://bugs.webkit.org/show_bug.cgi?id=23736>
2058 <rdar://problem/6560278>
2060 Before replacing the document, FrameLoader::executeIfJavaScriptURL()
2061 should call stopAllLoaders(), just like continueLoadAfterNavigationPolicy().
2063 * loader/FrameLoader.cpp:
2064 (WebCore::FrameLoader::executeIfJavaScriptURL):
2066 2009-03-10 Darin Adler <darin@apple.com>
2068 Reviewed by Alexey Proskuryakov.
2070 Bug 24494: crash when deleting at end of document and merging paragraphs
2071 https://bugs.webkit.org/show_bug.cgi?id=24494
2072 rdar://problem/6571537
2074 Test: editing/deleting/merge-at-end-of-document.html
2077 (WebCore::Range::compareBoundaryPoints): Split out assertion. It's better not to
2078 use && in assertions since we'd like to know which condition is failing.
2080 * editing/ApplyStyleCommand.cpp:
2081 (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null check before
2082 calling compareBoundaryPoints, since a 0 for the node is ambiguous and so the
2083 function doesn't know which value to return.
2085 2009-03-10 Dirk Schulze <krit@webkit.org>
2087 Reviewed by Eric Seidel. Math checked by Oliver Hunt.
2089 Implement the Cairo version of the checkForSolidColor() method. This halfes the
2090 time to draw on 1x1 px background images.
2091 I added two new calls to Color for the pixel manipulation on cairo_surface's.
2092 They are neede to premultiply/unpremultiply the colors of the surface.
2094 [CAIRO] Introduce single-pixel image optimizations
2095 https://bugs.webkit.org/show_bug.cgi?id=17284
2097 * platform/graphics/Color.cpp:
2098 (WebCore::colorFromPremultipliedARGB):
2099 (WebCore::premultipliedARGBFromColor):
2100 * platform/graphics/Color.h:
2101 * platform/graphics/cairo/ImageBufferCairo.cpp:
2102 (WebCore::ImageBuffer::getImageData):
2103 (WebCore::ImageBuffer::putImageData):
2104 * platform/graphics/cairo/ImageCairo.cpp:
2105 (WebCore::BitmapImage::checkForSolidColor):
2107 2009-03-06 Darin Fisher <darin@chromium.org>
2109 Reviewed by Sam Weinig.
2111 https://bugs.webkit.org/show_bug.cgi?id=24437
2113 Add support for registering noAccess URL schemes:
2114 1- Add FrameLoader::registerURLSchemeAsNoAccess, and have SecurityOrigin check
2115 that list upon construction (similar to how isLocal is implemented).
2116 2- Make InspectorController call grantUniversalAccess on its Document's
2117 SecurityOrigin at the time when windowScriptObjectAvailable is called.
2119 This enables content such as the inspector to be loaded from a custom (non-file)
2120 URL, which is how Chromium loads the inspector. It also allows other URL schemes
2121 to be treated like data: URLs, which Chromium utilizes for its various HTML-based
2124 * inspector/InspectorController.cpp:
2125 (WebCore::InspectorController::windowScriptObjectAvailable):
2126 * loader/FrameLoader.cpp:
2127 (WebCore::localSchemes):
2128 (WebCore::noAccessSchemes):
2129 (WebCore::FrameLoader::loadItem):
2130 * loader/FrameLoader.h:
2131 * page/SecurityOrigin.cpp:
2132 (WebCore::SecurityOrigin::SecurityOrigin):
2133 (WebCore::SecurityOrigin::isLocal):
2135 2009-03-10 Xan Lopez <xlopez@igalia.com>
2137 Build fix, no review
2139 * page/mac/AccessibilityObjectWrapper.mm:
2140 (textMarkerForVisiblePosition):
2141 (visiblePositionForTextMarker):
2143 2009-03-10 Xan Lopez <xlopez@igalia.com>
2145 Reviewed by Darin Adler.
2147 https://bugs.webkit.org/show_bug.cgi?id=24491
2148 Rename posOffset to m_offset, get rid of accessor
2150 As suggested in dom/Position.h, this patch gets rid of the
2151 'offset()' accessor and renames posOffset to m_offset. I've used
2152 m_offset instead of offset to follow the style guide lines, since
2153 Position is still a class and not a structure. If the long term
2154 plan is still to make it a structure it would be pretty easy to
2155 just s/m_offset/offset/ globally when that is achieved.
2158 (WebCore::Position::previous):
2159 (WebCore::Position::next):
2160 (WebCore::Position::atStart):
2161 (WebCore::Position::atEnd):
2162 (WebCore::Position::renderedOffset):
2163 (WebCore::Position::isCandidate):
2164 (WebCore::Position::inRenderedText):
2165 (WebCore::Position::isRenderedCharacter):
2166 (WebCore::Position::rendersInDifferentPosition):
2167 (WebCore::Position::leadingWhitespacePosition):
2168 (WebCore::Position::debugPosition):
2169 (WebCore::Position::formatForDebugger):
2171 (WebCore::Position::Position):
2172 * dom/PositionIterator.h:
2173 (WebCore::PositionIterator::PositionIterator):
2175 * dom/RangeBoundaryPoint.h:
2176 (WebCore::RangeBoundaryPoint::position):
2177 (WebCore::RangeBoundaryPoint::set):
2178 (WebCore::RangeBoundaryPoint::setOffset):
2179 (WebCore::RangeBoundaryPoint::setToChild):
2180 (WebCore::RangeBoundaryPoint::setToStart):
2181 (WebCore::RangeBoundaryPoint::setToEnd):
2182 (WebCore::RangeBoundaryPoint::childBeforeWillBeRemoved):
2183 * editing/ApplyStyleCommand.cpp:
2184 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2185 (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
2186 (WebCore::ApplyStyleCommand::removeInlineStyle):
2187 (WebCore::ApplyStyleCommand::nodeFullySelected):
2188 (WebCore::ApplyStyleCommand::nodeFullyUnselected):
2189 (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
2190 (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
2191 (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
2192 (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
2193 (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
2194 (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
2195 (WebCore::ApplyStyleCommand::joinChildTextNodes):
2196 * editing/BreakBlockquoteCommand.cpp:
2197 (WebCore::BreakBlockquoteCommand::doApply):
2198 * editing/CompositeEditCommand.cpp:
2199 (WebCore::CompositeEditCommand::insertNodeAt):
2200 (WebCore::CompositeEditCommand::positionOutsideTabSpan):
2201 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
2202 (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
2203 (WebCore::CompositeEditCommand::deleteInsignificantText):
2204 (WebCore::CompositeEditCommand::removePlaceholderAt):
2205 (WebCore::CompositeEditCommand::moveParagraphs):
2206 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2207 * editing/DeleteSelectionCommand.cpp:
2208 (WebCore::updatePositionForNodeRemoval):
2209 (WebCore::updatePositionForTextRemoval):
2210 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2211 (WebCore::DeleteSelectionCommand::fixupWhitespace):
2212 * editing/Editor.cpp:
2213 (WebCore::Editor::setComposition):
2214 (WebCore::Editor::advanceToNextMisspelling):
2215 (WebCore::Editor::getCompositionSelection):
2216 * editing/InsertLineBreakCommand.cpp:
2217 (WebCore::InsertLineBreakCommand::doApply):
2218 * editing/InsertParagraphSeparatorCommand.cpp:
2219 (WebCore::InsertParagraphSeparatorCommand::doApply):
2220 * editing/InsertTextCommand.cpp:
2221 (WebCore::InsertTextCommand::performTrivialReplace):
2222 (WebCore::InsertTextCommand::input):
2223 (WebCore::InsertTextCommand::insertTab):
2224 * editing/MoveSelectionCommand.cpp:
2225 (WebCore::MoveSelectionCommand::doApply):
2226 * editing/ReplaceSelectionCommand.cpp:
2227 (WebCore::ReplaceSelectionCommand::doApply):
2228 * editing/SelectionController.cpp:
2229 (WebCore::SelectionController::debugRenderer):
2230 * editing/TextIterator.cpp:
2231 (WebCore::TextIterator::rangeFromLocationAndLength):
2232 * editing/TypingCommand.cpp:
2233 (WebCore::TypingCommand::deleteKeyPressed):
2234 (WebCore::TypingCommand::forwardDeleteKeyPressed):
2235 * editing/VisiblePosition.cpp:
2236 (WebCore::VisiblePosition::characterAfter):
2237 (WebCore::VisiblePosition::debugPosition):
2238 (WebCore::makeRange):
2239 (WebCore::setStart):
2241 * editing/VisibleSelection.cpp:
2242 (WebCore::VisibleSelection::toNormalizedRange):
2243 (WebCore::makeSearchRange):
2244 (WebCore::VisibleSelection::debugPosition):
2245 (WebCore::VisibleSelection::showTreeForThis):
2246 * editing/htmlediting.cpp:
2247 (WebCore::comparePositions):
2248 (WebCore::rangeCompliantEquivalent):
2249 (WebCore::isFirstPositionAfterTable):
2250 (WebCore::isLastPositionBeforeTable):
2251 * editing/visible_units.cpp:
2252 (WebCore::previousBoundary):
2253 (WebCore::nextBoundary):
2254 (WebCore::startPositionForLine):
2255 (WebCore::startOfLine):
2256 (WebCore::endPositionForLine):
2257 (WebCore::nextLinePosition):
2258 (WebCore::startOfParagraph):
2259 (WebCore::endOfParagraph):
2260 * page/AccessibilityObject.cpp:
2261 (WebCore::updateAXLineStartForVisiblePosition):
2262 * page/AccessibilityRenderObject.cpp:
2263 (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
2264 * page/DOMSelection.cpp:
2265 (WebCore::DOMSelection::anchorOffset):
2266 (WebCore::DOMSelection::baseOffset):
2267 (WebCore::DOMSelection::focusOffset):
2268 (WebCore::DOMSelection::extentOffset):
2269 * page/EventHandler.cpp:
2270 (WebCore::EventHandler::handleMousePressEventSingleClick):
2272 (WebCore::Frame::selectionLayoutChanged):
2273 * rendering/RenderTextControl.cpp:
2274 (WebCore::RenderTextControl::indexForVisiblePosition):
2275 * rendering/RenderTreeAsText.cpp:
2276 (WebCore::writeSelection):
2278 2009-03-10 Darin Adler <darin@apple.com>
2280 Reviewed by Dan Bernstein.
2282 Bug 23564: REGRESSION (r39230-39286): crash loading page that changes <input> display type and then calls innerHTML
2283 https://bugs.webkit.org/show_bug.cgi?id=23564
2284 rdar://problem/6537238
2286 Test: fast/dom/HTMLElement/innerHTML-selection-crash.html
2288 * editing/markup.cpp: (WebCore::createMarkup): Added updateLayoutIgnorePendingStylesheets
2289 call to the one of the two overloads of this function that wasn't calling it. This fixes
2290 this crash and other possible crashes inside innerHTML.
2292 2009-03-10 Alexey Proskuryakov <ap@webkit.org>
2294 Reviewed by Darin Adler.
2296 https://bugs.webkit.org/show_bug.cgi?id=24285
2297 Text resource loading checks for BOM twice
2299 This removes TextDecoder class, since its only purpose was to check for BOM, which is
2300 already done in TextResourceDecoder. Callers that use TextEncoding::decode() won't get
2301 BOM checked, but I didn't find any cases where it would significantly change behavior.
2306 * WebCore.vcproj/WebCore.vcproj:
2307 * WebCore.xcodeproj/project.pbxproj:
2308 * WebCoreSources.bkl:
2309 Remove TextDecoder.{h,cpp}.
2311 * platform/text/TextDecoder.cpp: Removed.
2312 * platform/text/TextDecoder.h: Removed.
2314 * loader/TextResourceDecoder.h: Instead of a TextDecoder object, keep TextEncoding and
2315 TextCodec separately.
2317 * loader/TextResourceDecoder.cpp:
2318 (WebCore::TextResourceDecoder::TextResourceDecoder): Updated for m_encoding being a member.
2319 (WebCore::TextResourceDecoder::setEncoding): Ditto.
2320 (WebCore::TextResourceDecoder::checkForBOM): Removed a FIXME saying that a BOM could override
2321 even a user-chosen encoding - this is how it already worked due to TextDecoder checking for
2322 BOM again. Made this function return the detected BOM length.
2323 (WebCore::TextResourceDecoder::decode): Skip the BOM if it was found at the beginning of
2325 (WebCore::TextResourceDecoder::flush): Reset m_checkedForBOM, so that re-decoding the same
2326 resource again (as frequently done by CachedResource subclasses) will skip the BOM correctly.
2328 * platform/text/TextEncoding.cpp: (WebCore::TextEncoding::decode):
2329 Use TextCodec directly without a TextDecoder wrapper. This means that this method no longer
2330 checks for BOM, which was a counter-intuitive feature.
2332 * loader/CachedScript.cpp:
2333 (WebCore::CachedScript::CachedScript):
2334 (WebCore::CachedScript::setEncoding):
2335 (WebCore::CachedScript::encoding):
2336 (WebCore::CachedScript::script):
2337 * loader/CachedScript.h:
2338 * loader/appcache/ManifestParser.cpp:
2339 (WebCore::parseManifest):
2340 Use TextResourceDecoder, as TextEncoding::decode() no longer checks for BOM.
2341 A side effect of this is that these resources will now be subject to encoding auto-detection.
2343 * loader/CachedFont.cpp: (WebCore::CachedFont::ensureSVGFontData):
2344 * page/Page.cpp: (WebCore::Page::userStyleSheet):
2345 Be sure to flush TextResourceDecoder, pushing any remaining bytes out, and making the decoder
2346 re-usable (for repeated decoding of the same resource).
2348 * platform/text/TextEncodingRegistry.h: Updated comments for newTextCodec().
2350 2009-03-10 Alexey Proskuryakov <ap@webkit.org>
2352 Reviewed by Darin Adler.
2354 https://bugs.webkit.org/show_bug.cgi?id=24488
2355 An assertion failure when updating an offline application cache after emptying caches
2357 Emptying appcache cannot be performed automatically, so no test.
2359 * loader/appcache/ApplicationCacheGroup.cpp:
2360 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Ensure that the cache is in disk
2361 storage, even if the application wasn't updated server side.
2363 2009-03-10 Oliver Hunt <oliver@apple.com>
2365 Reviewed by Alexey Proskuryakov.
2367 <rdar://problem/6425807> Implement WorkerUtils.importScripts()
2368 <https://bugs.webkit.org/show_bug.cgi?id=22721>
2370 Implement importScripts, currently uses a series of synchronous loads
2371 to fetch the scripts, but this is simpler than a synchronous load of
2372 multiple loads in parallel. In future we'll want to switch to parallel
2373 loading, but this will do for now.
2375 Test: http/tests/workers/worker-importScripts.html
2378 * WebCore.vcproj/WebCore.vcproj:
2379 * WebCore.xcodeproj/project.pbxproj:
2380 * bindings/js/JSWorkerContextCustom.cpp:
2381 (WebCore::JSWorkerContext::importScripts):
2382 * bindings/js/ScriptValue.h:
2383 (WebCore::ScriptValue::hasNoValue):
2384 * bindings/js/WorkerScriptController.cpp:
2385 (WebCore::WorkerScriptController::evaluate):
2386 (WebCore::WorkerScriptController::setException):
2387 * bindings/js/WorkerScriptController.h:
2389 (WebCore::Document::scriptImported):
2391 * dom/ScriptExecutionContext.h:
2392 * inspector/InspectorController.cpp:
2393 (WebCore::InspectorController::scriptImported):
2394 * inspector/InspectorController.h:
2395 * inspector/InspectorResource.cpp:
2396 (WebCore::InspectorResource::setScriptProperties):
2397 * inspector/InspectorResource.h:
2398 * workers/WorkerContext.cpp:
2399 (WebCore::WorkerContext::scriptImported):
2400 (WebCore::WorkerContext::importScripts):
2401 * workers/WorkerContext.h:
2402 * workers/WorkerContext.idl:
2403 * workers/WorkerImportScriptsClient.cpp: Added.
2404 (WebCore::WorkerImportScriptsClient::didReceiveResponse):
2405 (WebCore::WorkerImportScriptsClient::didReceiveData):
2406 (WebCore::WorkerImportScriptsClient::didFinishLoading):
2407 (WebCore::WorkerImportScriptsClient::didFail):
2408 (WebCore::WorkerImportScriptsClient::didFailRedirectCheck):
2409 (WebCore::WorkerImportScriptsClient::didReceiveAuthenticationCancellation):
2410 * workers/WorkerImportScriptsClient.h: Added.
2411 (WebCore::WorkerImportScriptsClient::WorkerImportScriptsClient):
2412 (WebCore::WorkerImportScriptsClient::script):
2413 (WebCore::WorkerImportScriptsClient::failed):
2415 2009-03-10 Alexey Proskuryakov <ap@webkit.org>
2417 Reviewed by Darin Adler.
2419 https://bugs.webkit.org/show_bug.cgi?id=24462
2420 Move cross-origin access control code out of XMLHttpRequest
2422 Step 1: move preflight result cache and access control helper functions.
2424 No change in behavior, so no test.
2429 * WebCore.vcproj/WebCore.vcproj:
2430 * WebCore.xcodeproj/project.pbxproj:
2431 * WebCoreSources.bkl:
2432 * loader/CrossOriginAccessControl.cpp: Added.
2433 (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
2434 (WebCore::isSimpleCrossOriginAccessRequest):
2435 (WebCore::createAllowedCrossOriginResponseHeadersSet):
2436 (WebCore::isOnAccessControlResponseHeaderWhitelist):
2437 (WebCore::passesAccessControlCheck):
2438 * loader/CrossOriginAccessControl.h: Added.
2439 * loader/CrossOriginPreflightResultCache.cpp: Added.
2440 (WebCore::parseAccessControlMaxAge):
2441 (WebCore::addToAccessControlAllowList):
2442 (WebCore::parseAccessControlAllowList):
2443 (WebCore::CrossOriginPreflightResultCacheItem::parse):
2444 (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
2445 (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
2446 (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
2447 (WebCore::CrossOriginPreflightResultCache::shared):
2448 (WebCore::CrossOriginPreflightResultCache::appendEntry):
2449 (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
2450 * loader/CrossOriginPreflightResultCache.h: Added.
2451 (WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem):
2452 (WebCore::CrossOriginPreflightResultCache::CrossOriginPreflightResultCache):
2453 * xml/XMLHttpRequest.cpp:
2454 (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
2455 (WebCore::XMLHttpRequest::createRequest):
2456 (WebCore::XMLHttpRequest::makeCrossOriginAccessRequest):
2457 (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest):
2458 (WebCore::XMLHttpRequest::makeCrossOriginAccessRequestWithPreflight):
2459 (WebCore::XMLHttpRequest::didReceiveResponse):
2460 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
2461 * xml/XMLHttpRequest.h:
2463 2009-03-10 Alexey Proskuryakov <ap@webkit.org>
2465 Reviewed by Darin Adler.
2467 https://bugs.webkit.org/show_bug.cgi?id=19797
2468 Bring the list of forbidden headers in sync with XMLHttpRequest spec draft
2470 Added new checks to http/tests/xmlhttprequest/set-dangerous-headers.html.
2472 * xml/XMLHttpRequest.cpp:
2473 (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): Added all headers from
2474 XMLHttpRequest 2 draft.
2476 2009-03-10 Dan Bernstein <mitz@apple.com>
2478 Reviewed by Adele Peterson.
2480 - fix https://bugs.webkit.org/show_bug.cgi?id=23975
2481 <rdar://problem/6593610> REGRESSION: Scrollbar arrow not repainted
2483 * rendering/RenderLayer.cpp:
2484 (WebCore::RenderLayer::invalidateScrollbarRect): Corrected the vertical
2485 scrollbar rect calculation.
2487 2009-03-09 Simon Fraser <simon.fraser@apple.com>
2489 Reviewed by Dan Bernstein, Oliver Hunt
2491 https://bugs.webkit.org/show_bug.cgi?id=24475
2493 When repainting replaced elements, need to union the selection
2494 and overflow rects because either may extend outside the other.
2496 Test: fast/repaint/transform-replaced-shadows.html
2498 * rendering/RenderReplaced.cpp:
2499 (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
2501 2009-03-09 Stephanie Lewis <slewis@apple.com>
2505 * editing/Editor.cpp:
2506 (WebCore::Editor::advanceToNextMisspelling):
2507 (WebCore::markAllMisspellingsAndBadGrammarInRanges):
2509 2009-03-09 Kim Christensen <kimworking@gmail.com>
2511 Reviewed by Darin Fisher.
2513 https://bugs.webkit.org/show_bug.cgi?id=24276
2514 Dropdown / select boxes do not consider the windows task bar in Chromium.
2516 * platform/chromium/PopupMenuChromium.cpp:
2517 (WebCore::PopupContainer::showPopup):
2519 2009-03-09 Dan Bernstein <mitz@apple.com>
2521 Reviewed by Adele Peterson and Dave Hyatt.
2523 - fix <rdar://problem/6654344> REGRESSION (r41041): Zillow.com has
2524 misaligned edit fields
2526 Test: fast/forms/legend-display-none.html
2528 * css/CSSStyleSelector.cpp:
2529 (WebCore::CSSStyleSelector::adjustRenderStyle): Change the display
2530 property of legend elements to 'block' unless it is 'none'.
2531 * css/html4.css: Do not force the display property of legend elements to
2532 'block' using CSS, because that prevents style rules from setting it to
2535 2009-03-09 Alpha Lam <hclam@chromium.org>
2537 Reviewed by Dave Hyatt.
2539 https://bugs.webkit.org/show_bug.cgi?id=23024
2541 Fix an incorrect criteria in the if statement that leaves references to
2542 deleted floating objects in RenderBlock.
2544 Test: fast/block/float/crash-on-absolute-positioning.html
2546 * rendering/RenderBlock.cpp:
2547 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
2549 2009-03-09 Mike Belshe <mike@belshe.com>
2551 Reviewed by Eric Seidel.
2553 Unify JSC/V8 idl file.
2554 https://bugs.webkit.org/show_bug.cgi?id=24424
2556 * page/Location.idl:
2558 2009-03-09 Mike Belshe <mike@belshe.com>
2560 Reviewed by Eric Seidel.
2562 Unify JSC/V8 for History.idl.
2566 2009-03-09 Mike Belshe <mike@belshe.com>
2568 Reviewed by Eric Seidel.
2570 Unify JSC/V8 implementations of DOMWindow.idl.
2572 * page/DOMWindow.idl:
2574 2009-03-09 Simon Fraser <simon.fraser@apple.com>
2576 Reviewed by Dave Hyatt
2578 https://bugs.webkit.org/show_bug.cgi?id=24163
2580 Implement mapping of FloatQuads through 3D transforms.
2582 Removed the redundant localToContainerQuad() methods, which can now
2583 shared code with the old mapLocalToAbsolutePoint(), which was
2584 renamed to mapLocalToContainer(). This can now convert a point,
2585 and optionally a FloatQuad, which are carried along in the TransformState.
2587 Optimized TransformState to reduce to simple FloatPoint.move()
2588 if there are no transforms, and to heap-allocate a transform only if
2589 necessary to accumulate transforms (when using preserve-3d).
2591 Tested by 3d point mapping tests, and the inspector highlight (which now shows
2592 the correct quads for 3d-transformed elements).
2594 * platform/graphics/transforms/TransformationMatrix.cpp:
2595 (WebCore::TransformationMatrix::projectQuad):
2596 (WebCore::TransformationMatrix::translateRight):
2597 (WebCore::TransformationMatrix::translateRight3d):
2598 * platform/graphics/transforms/TransformationMatrix.h:
2599 * rendering/RenderBox.cpp:
2600 (WebCore::RenderBox::mapLocalToContainer):
2601 (WebCore::RenderBox::mapAbsoluteToLocalPoint):
2602 * rendering/RenderBox.h:
2603 * rendering/RenderObject.cpp:
2604 (WebCore::RenderObject::localToAbsolute):
2605 (WebCore::RenderObject::absoluteToLocal):
2606 (WebCore::RenderObject::mapLocalToContainer):
2607 (WebCore::RenderObject::localToContainerQuad):
2608 * rendering/RenderObject.h:
2609 * rendering/RenderTableCell.cpp:
2610 (WebCore::RenderTableCell::mapLocalToContainer):
2611 * rendering/RenderTableCell.h:
2612 * rendering/RenderView.cpp:
2613 (WebCore::RenderView::mapLocalToContainer):
2614 * rendering/RenderView.h:
2615 * rendering/TransformState.cpp:
2616 (WebCore::TransformState::move):
2617 (WebCore::TransformState::applyTransform):
2618 (WebCore::TransformState::flatten):
2619 (WebCore::TransformState::mappedPoint):
2620 (WebCore::TransformState::mappedQuad):
2621 (WebCore::TransformState::flattenWithTransform):
2622 (WebCore::HitTestingTransformState::mappedQuad):
2623 * rendering/TransformState.h:
2624 (WebCore::TransformState::TransformState):
2625 (WebCore::TransformState::move):
2626 (WebCore::TransformState::lastPlanarPoint):
2627 (WebCore::TransformState::lastPlanarQuad):
2628 * rendering/style/RenderStyle.h:
2629 (WebCore::InheritedFlags::preserves3D):
2631 2009-03-09 Simon Fraser <simon.fraser@apple.com>
2633 Reviewed by Dave Hyatt
2635 https://bugs.webkit.org/show_bug.cgi?id=24433
2637 During hit testing with transforms, if a layer has backface-visibility: hidden,
2638 we need to check for it whether or not the layer has a transform, because it
2639 might be an ancestor that is transformed.
2641 Test: transforms/3d/hit-testing/backface-no-transform-hit-test.html
2643 * rendering/RenderLayer.cpp:
2644 (WebCore::RenderLayer::hitTestLayer):
2646 2009-03-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
2648 Reviewed by George Staikos.
2650 https://bugs.webkit.org/show_bug.cgi?id=24353
2651 Allow to overrule default build options for Qt build.
2653 * WebCore.pro: Allow to overrule ENABLE_VIDEO and ENABLE_NETSCAPE_PLUGIN_API
2655 2009-03-09 Adam Treat <adam.treat@torchmobile.com>
2657 Reviewed by George Staikos.
2659 https://bugs.webkit.org/show_bug.cgi?id=24463
2660 WebCore::qstring is detaching and copying twice for every single
2661 WebCore::TextRun that is processed and drawn. This elevates this method
2662 to one of the top-ten most expensive methods in all of QtWebKit according
2663 to profiling. This changes the method so that QString only detaches
2664 when absolutely necessary.
2666 * platform/graphics/qt/FontQt.cpp:
2668 (WebCore::fixSpacing):
2669 (WebCore::Font::drawComplexText):
2670 (WebCore::Font::floatWidthForComplexText):
2671 (WebCore::Font::offsetForPositionForComplexText):
2672 (WebCore::Font::selectionRectForComplexText):
2674 2009-03-08 Mark Rowe <mrowe@apple.com>
2676 Reviewed by Oliver Hunt.
2678 Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that
2679 Frame.h no longer needs to include it. This cuts the size of the symbols
2680 for a debug build by around 3%.
2683 (WebCore::Element::scrollIntoView):
2684 (WebCore::Element::scrollIntoViewIfNeeded):
2685 * editing/Editor.cpp:
2686 (WebCore::Editor::insertTextWithoutSendingTextEvent):
2687 (WebCore::Editor::revealSelectionAfterEditingOperation):
2688 * editing/SelectionController.cpp:
2689 (WebCore::SelectionController::setSelection):
2690 * loader/FrameLoader.cpp:
2691 (WebCore::FrameLoader::gotoAnchor):
2692 * page/ContextMenuController.cpp:
2693 (WebCore::ContextMenuController::contextMenuItemSelected):
2695 (WebCore::Frame::revealSelection):
2696 (WebCore::Frame::revealCaret):
2698 * rendering/RenderLayer.cpp:
2699 (WebCore::RenderLayer::getRectToExpose):
2700 (WebCore::RenderLayer::autoscroll):
2701 * rendering/RenderLayer.h:
2702 * rendering/ScrollBehavior.cpp: Added.
2704 * rendering/ScrollBehavior.h: Added.
2706 (WebCore::ScrollAlignment::getVisibleBehavior):
2707 (WebCore::ScrollAlignment::getPartialBehavior):
2708 (WebCore::ScrollAlignment::getHiddenBehavior):
2710 Add the new files to the build systems:
2715 * WebCore.vcproj/WebCore.vcproj:
2716 * WebCore.xcodeproj/project.pbxproj:
2717 * WebCoreSources.bkl:
2719 Add includes that were previously pulled in by way of RenderLayer.h from Frame.h:
2720 * dom/Clipboard.cpp:
2721 * editing/EditorCommand.cpp:
2722 * editing/InsertLineBreakCommand.cpp:
2723 * editing/TypingCommand.cpp:
2724 * html/HTMLFormControlElement.cpp:
2725 * loader/archive/cf/LegacyWebArchive.cpp:
2726 * loader/icon/IconLoader.cpp:
2727 * page/animation/AnimationController.cpp:
2728 * rendering/RenderSlider.cpp:
2729 * rendering/RenderTextControl.cpp:
2732 2009-03-08 Mark Rowe <mrowe@apple.com>
2734 Reviewed Dan Bernstein.
2736 Push the include of Frame.h out of RenderView.h and down to those files
2737 that need it. This cuts the size of symbols for RenderFoo object files
2738 by around 15% in a debug build.
2740 * bindings/objc/DOM.mm:
2741 * rendering/RenderFileUploadControl.cpp:
2742 * rendering/RenderInline.cpp:
2743 * rendering/RenderObject.cpp:
2744 * rendering/RenderReplaced.cpp:
2745 * rendering/RenderText.cpp:
2746 * rendering/RenderView.cpp:
2747 (WebCore::RenderView::zoomFactor):
2748 * rendering/RenderView.h:
2750 2009-03-08 Mark Rowe <mrowe@apple.com>
2752 Rubber-stamped by Dan Bernstein.
2754 Remove some unnecessary or redundant includes from files related to the JS bindings.
2755 This cuts the size of the symbols for a debug build by around 3%.
2757 * bindings/js/JSCustomPositionCallback.cpp:
2758 * bindings/js/JSCustomPositionErrorCallback.cpp:
2759 * bindings/js/JSCustomSQLStatementCallback.cpp:
2760 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2761 * bindings/js/JSCustomSQLTransactionCallback.cpp:
2762 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2763 * bindings/js/JSCustomVoidCallback.cpp:
2764 * bindings/js/JSCustomXPathNSResolver.cpp:
2765 * bindings/js/JSDocumentCustom.cpp:
2766 * bindings/js/JSPluginElementFunctions.cpp:
2767 * bindings/js/JSSVGPODTypeWrapper.h:
2769 2009-03-08 Cameron Zwarich <cwzwarich@uwaterloo.ca>
2771 Reviewed by Oliver Hunt.
2773 Remove the unused methods previousHistoryItem(), setPreviousHistoryItem()
2774 and provisionalHistoryItem() from FrameLoader.
2778 * loader/FrameLoader.cpp:
2779 (WebCore::FrameLoader::frameLoadCompleted):
2780 (WebCore::FrameLoader::loadItem):
2781 * loader/FrameLoader.h:
2783 2009-03-08 Gustavo Noronha Silva <gns@gnome.org>
2785 Reviewed by Holger Freyther.
2787 Implement proper logging for the GTK+ port, inspired by the one in
2788 Qt. We use the WEBKIT_DEBUG environment variable which was already
2789 being used to decide whether to setup a logger for soup or not.
2791 * platform/gtk/LoggingGtk.cpp:
2792 (WebCore::getChannelFromName):
2793 (WebCore::InitializeLoggingChannelsIfNecessary):
2794 * platform/network/soup/ResourceHandleSoup.cpp:
2795 (WebCore::ensureSessionIsInitialized):
2797 2009-03-07 Dan Bernstein <mitz@apple.com>
2799 Reviewed by Mark Rowe.
2801 - WebCore part of removing build-time and run-time support for legacy
2802 versions of CFNetwork and Core Graphics
2804 * platform/graphics/win/FontCGWin.cpp:
2805 (WebCore::Font::drawGlyphs):
2806 * platform/graphics/win/FontCustomPlatformData.cpp:
2807 (WebCore::FontCustomPlatformData::fontPlatformData):
2808 * platform/graphics/win/FontPlatformDataCGWin.cpp:
2809 (WebCore::FontPlatformData::platformDataInit):
2810 * platform/network/cf/FormDataStreamCFNet.cpp:
2811 (WebCore::setHTTPBody):
2812 (WebCore::httpBodyFromRequest):
2813 * platform/network/cf/ResourceHandleCFNet.cpp:
2814 (WebCore::didSendBodyData):
2815 (WebCore::shouldUseCredentialStorageCallback):
2816 (WebCore::ResourceHandle::start):
2817 * platform/network/win/CookieJarCFNetWin.cpp:
2818 (WebCore::filterCookies):
2820 2009-03-07 Adele Peterson <adele@apple.com>
2822 Reviewed by Dan Bernstein.
2824 Fix for https://bugs.webkit.org/show_bug.cgi?id=24444
2825 No multiple JS property for <input type="file" multiple />
2827 * html/HTMLInputElement.cpp:
2828 (WebCore::HTMLInputElement::multiple):
2829 (WebCore::HTMLInputElement::setMultiple):
2830 * html/HTMLInputElement.h:
2831 * html/HTMLInputElement.idl:
2833 2009-03-07 Xan Lopez <xan@gnome.org>
2835 Reviewed by Holger Freyther.
2837 https://bugs.webkit.org/show_bug.cgi?id=24358
2838 [GTK] Scrollbars not clipped correctly
2840 ScrollView scrollbars in subframes are *not* native, so take that
2843 * platform/gtk/ScrollbarGtk.cpp:
2844 (ScrollbarGtk::getLocationInParentWindow):
2845 (ScrollbarGtk::frameRectsChanged):
2846 (ScrollbarGtk::paint):
2847 * platform/gtk/ScrollbarGtk.h:
2849 2009-03-06 Peter Kasting <pkasting@google.com>
2851 Reviewed by Darin Fisher.
2853 https://bugs.webkit.org/show_bug.cgi?id=24405
2854 Horizontal scrolling on Windows was reversed from Mac (and intuition).
2856 * platform/gtk/WheelEventGtk.cpp:
2857 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2858 * platform/win/WheelEventWin.cpp:
2859 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2861 2009-03-06 Peter Kasting <pkasting@google.com>
2863 Reviewed by Sam Weinig.
2865 Convert some C-style casts to static_cast<>()s.
2867 * platform/gtk/WheelEventGtk.cpp:
2868 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2869 * platform/mac/WheelEventMac.mm:
2870 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2871 * platform/win/WheelEventWin.cpp:
2872 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2873 * platform/wx/MouseWheelEventWx.cpp:
2874 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2876 2009-03-06 Adele Peterson <adele@apple.com>
2878 Reviewed by Oliver Hunt.
2880 Fix for <rdar://problem/6607524> REGRESSION (Safari 3-4): I can't tab back to the URL field in an empty window (key loop is broken)
2882 I haven't been able to make a test for this since the problem is not reproducible within an empty iframe.
2884 * page/EventHandler.cpp: (WebCore::eventTargetNodeForDocument): We used to ensure that every html document had a body element.
2885 That is no longer true, so we should return the document element for a truly empty document.
2887 2009-03-06 Jay Campan <jcampan@google.com>
2889 Reviewed by Darin Fisher.
2891 https://bugs.webkit.org/show_bug.cgi?id=24306
2893 Adding a flag to ResourceRequestBase to indicate whether or not upload
2894 progress notifications are needed for a resource. This is useful to
2895 avoid sending these notifications when there are no consumers
2896 (especially in the Chromium case where IPC is involved).
2898 * platform/network/ResourceRequestBase.h:
2899 (WebCore::ResourceRequestBase::reportUploadProgress):
2900 (WebCore::ResourceRequestBase::setReportUploadProgress):
2901 (WebCore::ResourceRequestBase::ResourceRequestBase):
2902 * xml/XMLHttpRequest.cpp:
2903 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2905 2009-03-06 Dmitry Titov <dimich@chromium.org>
2907 Reviewed by Alexey Proskuryakov.
2909 https://bugs.webkit.org/show_bug.cgi?id=24150
2910 Add virtual ScriptExecutionContext::encoding()
2912 Test: http/tests/workers/text-encoding.html
2915 (WebCore::Document::encoding):
2917 (WebCore::Document::inputEncoding):
2918 (WebCore::Document::charset):
2919 (WebCore::Document::characterSet):
2920 Add new virtual method and route DOM synonym functions on Document through it.
2922 * dom/ScriptExecutionContext.h:
2923 * workers/Worker.cpp:
2924 (WebCore::Worker::Worker):
2925 (WebCore::Worker::notifyFinished):
2926 * workers/WorkerContext.cpp:
2927 (WebCore::WorkerContext::WorkerContext):
2928 (WebCore::WorkerContext::encoding):
2929 (WebCore::WorkerContext::completeURL): Added comment on why this is different from Document::completeURL
2930 * workers/WorkerContext.h:
2931 (WebCore::WorkerContext::create):
2932 * workers/WorkerContextProxy.h:
2933 * workers/WorkerMessagingProxy.cpp:
2934 (WebCore::WorkerMessagingProxy::startWorkerContext):
2935 * workers/WorkerMessagingProxy.h:
2936 * workers/WorkerThread.cpp:
2937 (WebCore::WorkerThreadStartupData::create):
2938 (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
2939 (WebCore::WorkerThread::create):
2940 (WebCore::WorkerThread::WorkerThread):
2941 (WebCore::WorkerThread::workerThread):
2942 * workers/WorkerThread.h:
2943 All of the above route the 'encoding' parameter of parent context to the new
2944 instance of WorkerContext - from Worker::notifyFinished() via WorkerMessagingProxy
2945 through WorkerThread through WorkerThreadStartupData and into constructor of WorkerContext.
2947 2009-03-06 Peter Kasting <pkasting@google.com>
2952 (WebCore::Node::dispatchWheelEvent):
2954 2009-03-06 Eric Carlson <eric.carlson@apple.com>
2956 Reviewed by Antti Koivisto.
2958 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2959 (WebCore::MediaPlayerPrivate::createQTMovieView): Delay callback while setting up movieview.
2961 2009-03-06 Douglas R. Davidson <ddavidso@apple.com>
2963 Reviewed by Justin Garcia.
2965 https://bugs.webkit.org/show_bug.cgi?id=24108
2967 Update spelling and grammar checking to use the new combined text
2968 checking (with automatic language identification) on Snow Leopard.
2969 Tested manually in Mail and Safari; automated tests to come later.
2971 * editing/Editor.cpp:
2972 (WebCore::findFirstMisspellingOrBadGrammarInRange):
2973 (WebCore::Editor::advanceToNextMisspelling):
2974 (WebCore::guessesForMisspelledOrUngrammaticalRange):
2975 (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
2976 (WebCore::Editor::markMisspellingsAfterTypingToPosition):
2977 (WebCore::markAllMisspellingsAndBadGrammarInRanges):
2978 (WebCore::Editor::markMisspellingsAndBadGrammar):
2980 * loader/EmptyClients.h:
2981 (WebCore::EmptyEditorClient::checkSpellingAndGrammarOfParagraph):
2982 * page/EditorClient.h:
2984 (WebCore::Frame::respondToChangedSelection):
2985 * platform/ContextMenu.cpp:
2986 (WebCore::ContextMenu::populate):
2988 2009-03-06 Peter Kasting <pkasting@google.com>
2990 Reviewed by Darin Fisher.
2992 https://bugs.webkit.org/show_bug.cgi?id=24407
2993 Windows scroll amount was too small, and wheel scroll distance
2994 conversion code was overly complex.
2996 * page/EventHandler.cpp:
2997 (WebCore::scrollAndAcceptEvent):
2998 * platform/PlatformWheelEvent.h:
3000 * platform/ScrollView.cpp:
3001 (WebCore::ScrollView::wheelEvent):
3002 * platform/Scrollbar.h:
3003 * platform/gtk/WheelEventGtk.cpp:
3004 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3005 * platform/mac/WheelEventMac.mm:
3006 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3007 * platform/qt/WheelEventQt.cpp:
3008 * platform/win/WheelEventWin.cpp:
3009 (WebCore::horizontalScrollChars):
3010 (WebCore::verticalScrollLines):
3011 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3012 * platform/wx/MouseWheelEventWx.cpp:
3013 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3015 2009-03-06 Dimitri Glazkov <dglazkov@chromium.org>
3017 Reviewed by Adam Roben.
3019 Generate valid bindings with HTML5 database support disabled.
3021 * inspector/InspectorController.idl: Added feature guard around
3022 databaseTableNames definition.
3024 2009-03-04 Xan Lopez <xan@gnome.org>
3026 Reviewed by Holger Freyther.
3028 https://bugs.webkit.org/show_bug.cgi?id=24358
3029 [GTK] Scrollbars not clipped correctly
3031 Do not take into account the case of being a ScrollView scrollbar,
3032 since those are native in our case.
3034 * platform/gtk/ScrollbarGtk.cpp:
3035 (ScrollbarGtk::frameRectsChanged):
3037 2009-03-04 Xan Lopez <xan@gnome.org>
3039 Reviewed by Holger Freyther.
3041 https://bugs.webkit.org/show_bug.cgi?id=24358
3042 [GTK] Scrollbars not clipped correctly
3044 Move Widget::paint to ScrollbarGtk::paint, since it's scrollbar
3045 specific and it's our only Widget anyway.
3047 * platform/gtk/ScrollbarGtk.cpp:
3048 (ScrollbarGtk::paint):
3049 * platform/gtk/ScrollbarGtk.h:
3050 * platform/gtk/WidgetGtk.cpp:
3052 2009-03-04 Xan Lopez <xan@gnome.org>
3054 Reviewed by Holger Freyther.
3056 https://bugs.webkit.org/show_bug.cgi?id=24358
3057 [GTK] Scrollbars not clipped correctly
3059 Use correct clip rectangle and apply coordinate translation needed
3060 for non-ScrollView scrollbars.
3062 We were ignoring the clip rectangle passed as parameter, which is
3063 wrong in the case of non coalesced expose events. This, in turn,
3064 uncovers the fact that we were not applying coordinate translation
3067 * platform/gtk/WidgetGtk.cpp:
3068 (WebCore::Widget::paint):
3070 2009-03-06 Eric Carlson <eric.carlson@apple.com>
3072 Build fix, no review
3074 * platform/graphics/chromium/MediaPlayerPrivateChromium.h: fix setSize declaration
3076 2009-03-06 Eric Carlson <eric.carlson@apple.com>
3078 Reviewed by Simon Fraser.
3080 https://bugs.webkit.org/show_bug.cgi?id=22790
3081 Bug 22790: [Transforms] MediaPlayer::setRect() makes no sense with transforms
3082 Replace media engine setRect with setSize since they don't use about the
3085 * platform/graphics/MediaPlayer.cpp:
3086 (WebCore::NullMediaPlayerPrivate::setSize): Changed from setRect.
3087 (WebCore::MediaPlayer::setSize): Ditto.
3088 * platform/graphics/MediaPlayer.h:
3089 (WebCore::MediaPlayer::size): Changed from rect().
3091 * platform/graphics/MediaPlayerPrivate.h: Changed setRect to setSize.
3093 * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Ditto.
3095 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3096 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_size instead of m_rect
3097 (WebCore::MediaPlayerPrivate::setSize): Changed from setRect
3098 (WebCore::MediaPlayerPrivate::paint): update comment
3099 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: m_rect -> m_size.
3101 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: m_rect
3102 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3103 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_rect.
3104 (WebCore::MediaPlayerPrivate::createQTMovieView): setRect-> setSize.
3105 (WebCore::MediaPlayerPrivate::setSize): Changed from setRect
3106 (WebCore::MediaPlayerPrivate::paint): Call view:setFrame: when in a media document so
3107 the movie is drawn in the correct location.
3109 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3110 (WebCore::MediaPlayerPrivate::setSize): Changed from setRect
3111 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
3113 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3114 (WebCore::MediaPlayerPrivate::setSize): Changed from setRect
3115 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3117 * rendering/RenderVideo.cpp:
3118 (WebCore::RenderVideo::updatePlayer): Call setSize instead of setRect.
3120 2009-03-06 Darin Adler <darin@apple.com>
3122 Reviewed by Darin Fisher.
3124 Bug 24422: REGRESSION: null-URL crash in FrameLoader setting location.hash on new window
3125 https://bugs.webkit.org/show_bug.cgi?id=24422
3126 rdar://problem/6402208
3128 Test: fast/dom/location-new-window-no-crash.html
3130 The issue here is empty (or null) URLs. I picked the "schedule navigation" bottleneck
3131 to add some checks for empty URLs. We could also put the empty URL checks at some
3132 other bottleneck level and add more assertions over time. I tried adding a few more
3133 assertions to functions like loadURL and hit them while running the regression tests,
3134 so it's probably going to be a bit tricky to clean this up throughout the loader.
3136 * loader/FrameLoader.cpp:
3137 (WebCore::ScheduledRedirection::ScheduledRedirection): Explicitly marked this struct
3138 immutable by making all its members const. Added assertions about the arguments,
3139 including that the URL is not empty. Initialized one uninitialized member in one of
3141 (WebCore::FrameLoader::scheduleHTTPRedirection): Added an early exit to make this
3142 a no-op if passed an empty URL.
3143 (WebCore::FrameLoader::scheduleLocationChange): Ditto.
3144 (WebCore::FrameLoader::scheduleRefresh): Ditto.
3146 2009-03-06 Gustavo Noronha Silva <gns@gnome.org>
3148 Reviewed by Holger Freyther.
3150 https://bugs.webkit.org/show_bug.cgi?id=24423
3151 Use new soup_message_body_set_accumulate API in soup backend
3153 Disable accumulating chunks for request_body on file uploads,
3154 using the new soup API.
3156 * platform/network/soup/ResourceHandleSoup.cpp:
3157 (WebCore::ResourceHandle::startHttp):
3159 2009-03-06 Gustavo Noronha Silva <gns@gnome.org>
3161 Reviewed by Holger Freyther.
3163 Replace use of deprecated SOUP_MESSAGE_OVERWRITE_CHUNKS flag with
3164 the new soup_message_body_set_accumulate API in soup.
3166 * platform/network/soup/ResourceHandleSoup.cpp:
3167 (WebCore::gotHeadersCallback):
3168 (WebCore::ResourceHandle::startHttp):
3170 2009-03-06 Gustavo Noronha Silva <gns@gnome.org>
3172 Reviewed by Holger Freyther.
3174 https://bugs.webkit.org/show_bug.cgi?id=24051
3175 Soup backend needs content sniffing capabilities
3177 Perform content sniffing when using soup, so that we have a chance
3178 of figuring out the Content-Type of the file if it's not sent by
3181 * platform/network/ResourceHandleInternal.h:
3182 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3183 * platform/network/soup/ResourceHandleSoup.cpp:
3184 (WebCore::gotHeadersCallback):
3185 (WebCore::gotChunkCallback):
3187 2009-03-06 Hironori Bono <hbono@chromium.org>
3189 Reviewed by Alexey Proskuryakov.
3191 https://bugs.webkit.org/show_bug.cgi?id=24342
3192 Cannot insert a Thai character after a Thai prepend character when using ICU 4.0
3194 This change creates a new break iterator "cursorMovementIterator" for
3195 moving cursors and use it when moving an input cursor.
3196 In "TextBreakIteratorICU.cpp", this break iterator uses custom ruleset
3197 based on the one of ICU 3.8.
3198 On the other hand, in "TextBreakIteratorQt.cpp", this break iterator
3199 just calls the characterBreakIterator() function.
3201 Test: editing/inserting/insert-thai-characters-001.html
3203 * platform/text/TextBreakIterator.h: Added a new function cursorMovementIterator().
3204 * platform/text/TextBreakIteratorICU.cpp: Implemented the cursorMovementIterator() function for ICU.
3205 (WebCore::setUpIteratorWithRules): Ditto.
3206 (WebCore::cursorMovementIterator): Ditto.
3207 * platform/text/qt/TextBreakIteratorQt.cpp: Implemented the cursorMovementIterator() function for Qt.
3208 (WebCore::cursorMovementIterator): Ditto.
3209 * rendering/RenderText.cpp: Call the cursorMovementIterator() function when moving an input cursor.
3210 (WebCore::RenderText::previousOffset): Ditto.
3211 (WebCore::RenderText::nextOffset): Ditto.
3213 2009-03-05 Alexey Proskuryakov <ap@webkit.org>
3215 Reviewed by Oliver Hunt.
3217 <rdar://problem/6621701> Safari 4 Beta Breaks XMLHttpRequest Response Text With Special
3218 Characters (a compatibility issue with widgets).
3220 Test: http/tests/xmlhttprequest/broken-xml-encoding.html
3222 Revert part of an Acid 3 fix - now we are no longer strict when decoding XMLHttpRequest XML
3225 * loader/TextResourceDecoder.cpp:
3226 (WebCore::TextResourceDecoder::TextResourceDecoder):
3227 (WebCore::TextResourceDecoder::decode):
3228 (WebCore::TextResourceDecoder::flush):
3229 * loader/TextResourceDecoder.h:
3230 (WebCore::TextResourceDecoder::useLenientXMLDecoding):
3231 Don't stop on XML decoding errors if useLenientXMLDecoding() was called.
3233 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData): Don't stop on XML
3234 decoding errors. This behavior is now limited to other kinds of XML content.
3236 2009-03-05 Simone Fiorentino <simone.fiorentino@consulenti.fastweb.it>
3238 Bug 24382: request to add SH4 platform
3240 <https://bugs.webkit.org/show_bug.cgi?id=24382>
3242 Reviewed by David Kilzer.
3244 * platform/text/AtomicString.cpp:
3245 (WebCore::equal): Aligned memory access on SH4 platform.
3247 2009-03-05 Jeremy Moskovich <jeremy@chromium.org>
3249 Reviewed by Simon Fraser.
3251 Fix for https://bugs.webkit.org/show_bug.cgi?id=24215
3253 Gears expects an object tag with display:none to instantiate the plugin,
3254 so we add a workaround to make this work and fix Gears on WebKit trunk.
3256 * html/HTMLObjectElement.cpp:
3257 (WebCore::HTMLObjectElement::rendererIsNeeded):
3259 2009-03-05 Avi Drissman <avi@chromium.org>
3261 Reviewed by Darin Fisher.
3263 Need to have Chromium Mac match Safari Mac's accesskey handling
3264 https://bugs.webkit.org/show_bug.cgi?id=24404
3266 * page/chromium/EventHandlerChromium.cpp:
3267 (WebCore::EventHandler::accessKeyModifiers): Share access key modifiers with Mac Safari when building for the Mac.
3269 2009-03-05 Simon Fraser <simon.fraser@apple.com>
3271 Reviewed by Dave Hyatt
3273 https://bugs.webkit.org/show_bug.cgi?id=24412
3275 Fix crash when hit-testing elements with -webkit-transform-style: preserve-3d
3276 but no transform. We need to make localTransformState if we see preserve-3d.
3277 Also need to call update3DTransformedDescendantStatus() before we test
3278 m_has3DTransformedDescendant.
3280 Test: transforms/3d/hit-testing/hit-preserves-3d.html
3282 * rendering/RenderLayer.cpp:
3283 (WebCore::RenderLayer::hitTestLayer):
3285 2009-03-05 Eric Seidel <eric@webkit.org>
3287 Reviewed by David Hyatt.
3289 Changes to RenderLayer destruction to hopefully help catch an elusive crasher
3290 https://bugs.webkit.org/show_bug.cgi?id=24409
3292 Added a new RenderBoxModelObject::destroyLayer() call which is
3293 now the only way which RenderLayers should ever be destroyed.
3294 This ensures that the pointer to the layer is cleared in the
3295 RenderObject after destruction, allowing us to ASSERT in the
3296 RenderBoxModelObject destructor.
3298 * rendering/RenderBox.cpp:
3299 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3300 * rendering/RenderBoxModelObject.cpp:
3301 (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
3302 (WebCore::RenderBoxModelObject::destroyLayer):
3303 (WebCore::RenderBoxModelObject::destroy):
3304 (WebCore::RenderBoxModelObject::styleDidChange):
3305 * rendering/RenderBoxModelObject.h:
3306 * rendering/RenderLayer.cpp:
3307 (WebCore::RenderLayer::stackingContext):
3308 (WebCore::RenderLayer::destroy):
3309 (WebCore::RenderLayer::removeOnlyThisLayer):
3310 * rendering/RenderLayer.h:
3311 * rendering/RenderObject.cpp:
3312 (WebCore::RenderObject::destroy):
3313 * rendering/RenderWidget.cpp:
3314 (WebCore::RenderWidget::destroy):
3316 2009-03-05 Eric Seidel <eric@webkit.org>
3318 Reviewed by David Hyatt.
3320 Remove old, unused IE 5.5 scrollbar-* CSS properties.
3321 Sort the unimplemented getComputedStyle properties so it's
3322 easier to see which ones actually need implementation.
3324 * css/CSSComputedStyleDeclaration.cpp:
3325 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3326 * css/CSSParser.cpp:
3327 (WebCore::CSSParser::parseValue):
3328 * css/CSSPropertyNames.in:
3329 * css/CSSStyleSelector.cpp:
3330 (WebCore::CSSStyleSelector::applyProperty):
3332 2009-03-05 Justin Garcia <justin.garcia@apple.com>
3334 Reviewed by Darin Adler.
3336 WebViewDidChangeSelectionNotifications weren't being sent for commands that change the selection's position
3337 within the document without changing its position in the DOM. For example, pressing return in (caret marked by ^):
3338 <div contentEditable="true"><div>^Hello</div></div>
3339 Undo was being enabled, shouldDeleteDOMRange called, etc. when doing no-op deletes (a delete in an empty document
3342 Changes to layout tests demonstrate fix.
3344 * editing/EditCommand.cpp:
3345 (WebCore::EditCommand::apply): Don't call applyEditing for a TypingCommand. The TypingCommand knows whether or
3346 not it did work that needs to be applied.
3347 * editing/Editor.cpp:
3348 (WebCore::Editor::appliedEditing): Moved code (but did not alter) to changeSelectionAfterCommand.
3349 (WebCore::Editor::unappliedEditing): Ditto.
3350 (WebCore::Editor::reappliedEditing): Ditto.
3351 (WebCore::Editor::changeSelectionAfterCommand): Moved code from *appliedEditing into here. Also call out to
3352 EditorClient::respondToChangedSelection() for commands that changed the selection's position in the document
3353 even if they did not change it's position in the DOM. Any TypingCommand that gets this far changed it's position
3356 * editing/TypingCommand.cpp:
3357 (WebCore::TypingCommand::TypingCommand): Removed unused m_appliedEditing.
3358 (WebCore::TypingCommand::typingAddedToOpenCommand): Always apply editing. We won't get this far if we don't need to.
3359 (WebCore::TypingCommand::deleteKeyPressed): Don't do any of the things that only make sense for Range selections, like
3360 adding to the killring and responding to a change in selections if the delete was a no-op.
3361 (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
3362 * editing/TypingCommand.h:
3364 2009-03-05 Dimitri Glazkov <dglazkov@chromium.org>
3366 Reviewed by Adam Roben.
3368 Eliminate a ref-counting leak in InspectorController.
3370 * inspector/InspectorController.h: Made constructor private, added static create method.
3372 (WebCore::Page::Page): Change initializer to use static create method.
3374 2009-03-05 Dimitri Glazkov <dglazkov@chromium.org>
3376 Reviewed by Timothy Hatcher.
3378 https://bugs.webkit.org/show_bug.cgi?id=24355
3379 Add InspectorController.idl and convert InspectorController.cpp to use
3382 * DerivedSources.make: Added InspectorController.idl
3383 * WebCore.xcodeproj/project.pbxproj: Added idl, bindings files.
3384 * bindings/js/JSInspectorControllerCustom.cpp: Added.
3385 * bindings/scripts/CodeGeneratorJS.pm: Added Array to no-header types.
3386 * inspector/InspectorController.cpp: Removed hand-rolled bindings.
3387 * inspector/InspectorController.h: Added platform and addSourceToFrame methods.
3388 * inspector/InspectorController.idl: Added.
3389 * page/Page.h: Changed member to RefPtr since InspectorController is now ref-counted.
3391 2009-03-05 Eric Carlson <eric.carlson@apple.com>
3393 Reviewed by Simon Fraser.
3395 https://bugs.webkit.org/show_bug.cgi?id=24400
3396 Bug 24400: Remove "start", "end", "loopStart", "loopEnd", "currentLoop", and "playCount"
3397 media element attributes
3399 Test: media/video-loop.html
3401 * html/HTMLMediaElement.cpp:
3402 (WebCore::HTMLMediaElement::HTMLMediaElement):
3403 (WebCore::HTMLMediaElement::loadInternal):
3404 (WebCore::HTMLMediaElement::setNetworkState):
3405 (WebCore::HTMLMediaElement::seek):
3406 (WebCore::HTMLMediaElement::playInternal):
3407 (WebCore::HTMLMediaElement::loop):
3408 (WebCore::HTMLMediaElement::setLoop):
3409 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3410 (WebCore::HTMLMediaElement::endedPlayback):
3411 (WebCore::HTMLMediaElement::updatePlayState):
3412 * html/HTMLMediaElement.h:
3413 * html/HTMLMediaElement.idl:
3415 2009-03-05 Steve Falkenburg <sfalken@apple.com>
3417 <rdar://problem/6651112> Safari asks about re-posting a form even when page is cached
3419 Reviewed by Ada Chan.
3421 * platform/network/cf/ResourceHandleCFNet.cpp:
3422 (WebCore::ResourceHandle::willLoadFromCache): Ported from Mac version.
3424 2009-03-05 David Hyatt <hyatt@apple.com>
3426 Reviewed by Eric Seidel
3428 https://bugs.webkit.org/show_bug.cgi?id=24248
3430 Make sure painting of overflow controls checks that visibility:visible is set on the block before
3431 painting. Pixel tests caught this regression.
3433 Make sure resizer painting pushes a clip of the corner rect. It was relying on the clip layers happened
3434 to do to their bounds (which had nothing to do with overflow).
3436 * rendering/RenderBlock.cpp:
3437 (WebCore::RenderBlock::paint):
3438 * rendering/RenderLayer.cpp:
3439 (WebCore::RenderLayer::paintResizer):
3441 2009-03-05 Yong Li <yong.li@torchmobile.com>
3443 Reviewed by Simon Fraser.
3445 https://bugs.webkit.org/show_bug.cgi?id=24386
3446 A faster implementation of extractMIMETypeFromMediaType.
3448 * platform/network/HTTPParsers.cpp:
3449 (WebCore::extractMIMETypeFromMediaType):
3451 2009-03-05 Yong Li <yong.li@torchmobile.com>
3453 Reviewed by Antti Koivisto.
3455 https://bugs.webkit.org/show_bug.cgi?id=24392
3456 Do not get the current time for unless we're doing PRELOAD_DEBUG as this
3457 can be unnecessarily expensive.
3459 * html/PreloadScanner.cpp:
3460 (WebCore::PreloadScanner::write):
3462 2009-03-04 Simon Fraser <simon.fraser@apple.com>
3464 Reviewed by Dave Hyatt
3466 https://bugs.webkit.org/show_bug.cgi?id=24327
3468 When mapping points and hit testing through transforms, work
3469 correctly when acclerated animations of transforms are running.
3471 Tested by LayoutTests/animations/animation-hit-test-transform.html,
3472 which only failed when ACCELERATED_COMPOSITING was turned on.
3474 * rendering/RenderLayer.cpp:
3475 (WebCore::RenderLayer::currentTransform):
3476 * rendering/RenderLayer.h:
3477 * rendering/RenderObject.cpp:
3478 (WebCore::RenderObject::transformFromContainer):
3480 2009-03-05 Mike Belshe <mike@belshe.com>
3482 Reviewed by Darin Fisher.
3484 https://bugs.webkit.org/show_bug.cgi?id=24391
3485 Frame.cpp uses JSC specific includes
3489 2009-03-05 Gustavo Noronha Silva <gns@gnome.org>
3491 Reviewed by Alexey Proskuryakov.
3493 https://bugs.webkit.org/show_bug.cgi?id=24389
3494 WebKitGTK+ crashes when cancelling plugin loads
3496 Remove bogus calls to the client's didFinishLoading method from
3497 our ResourceHandle::cancel implementation. Calling
3498 didFinishLoading here is mostly inoffensive for most loads, but
3499 causes crashes when plugin loads are cancelled.
3501 * platform/network/soup/ResourceHandleSoup.cpp:
3502 (WebCore::ResourceHandle::cancel):
3504 2009-03-05 Steve Falkenburg <sfalken@apple.com>
3508 * WebCore.vcproj/QTMovieWin.vcproj:
3510 2009-03-05 Adam Treat <adam.treat@torchmobile.com>
3512 Build fix for when ENABLE_NETSCAPE_PLUGIN_API = 0. The method
3513 ScriptController::jsObjectForPluginElement(HTMLPlugInElement*); is not
3514 protected by an #if and uses HTMLPlugInElement so it must be included.
3516 * bindings/js/ScriptController.cpp:
3518 2009-03-05 Dimitri Glazkov <dglazkov@chromium.org>
3522 * inspector/ConsoleMessage.h: Use proper header.
3524 2009-03-05 Dimitri Glazkov <dglazkov@chromium.org>
3526 Reviewed by Timothy Hatcher.
3528 https://bugs.webkit.org/show_bug.cgi?id=24376
3529 Split InspectorController.cpp file into separate classes.
3531 * GNUmakefile.am: Modified to include new files.
3532 * WebCore.pro: Ditto.
3533 * WebCore.scons: Ditto.
3534 * WebCore.vcproj/WebCore.vcproj: Ditto.
3535 * WebCore.xcodeproj/project.pbxproj: Ditto.
3536 * WebCoreSources.bkl: Ditto.
3537 * inspector/ConsoleMessage.cpp: Added.
3538 * inspector/ConsoleMessage.h: Added.
3539 * inspector/InspectorController.cpp:
3540 * inspector/InspectorDOMStorageResource.cpp: Added.
3541 * inspector/InspectorDOMStorageResource.h: Added.
3542 * inspector/InspectorDatabaseResource.cpp: Added.
3543 * inspector/InspectorDatabaseResource.h: Added.
3544 * inspector/InspectorResource.cpp: Added.
3545 * inspector/InspectorResource.h: Added.
3547 2009-03-05 Eric Carlson <eric.carlson@apple.com>
3549 Reviewed by Darin Adler
3551 https://bugs.webkit.org/show_bug.cgi?id=24387
3552 Remove media element bufferingRate attribute. No test necessary as there
3553 were none for this attribute.
3555 * html/HTMLMediaElement.cpp:
3556 (WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_bufferingRate.
3557 (WebCore::HTMLMediaElement::loadInternal): Ditto.
3558 (WebCore::HTMLMediaElement::setNetworkState): Ditto.
3559 (WebCore::HTMLMediaElement::progressEventTimerFired): Don't calculate m_bufferingRate.
3560 * html/HTMLMediaElement.h: Remove m_bufferingRate.
3561 * html/HTMLMediaElement.idl: Ditto.
3563 2009-03-05 Xan Lopez <xan@gnome.org>
3565 Reviewed by Mark Rowe.
3567 https://bugs.webkit.org/show_bug.cgi?id=24377
3568 [GTK] Comply better with coding style guidelines in ResourceHandleSoup
3570 Use C++ booleans, 0 instead of NULL, prefix boolean variables with
3571 'is', do not use 'else if' if the previous if had a return, delete
3572 trailing whitespace, etc.
3574 * platform/network/ResourceHandleInternal.h:
3575 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3576 * platform/network/soup/ResourceHandleSoup.cpp:
3577 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
3578 (WebCore::fillResponseFromMessage):
3579 (WebCore::restartedCallback):
3580 (WebCore::finishedCallback):
3581 (WebCore::parseDataUrl):
3582 (WebCore::ensureSessionIsInitialized):
3583 (WebCore::ResourceHandle::startHttp):
3584 (WebCore::reportUnknownProtocolError):
3585 (WebCore::ResourceHandle::start):
3586 (WebCore::cleanupGioOperation):
3587 (WebCore::closeCallback):
3588 (WebCore::readCallback):
3589 (WebCore::openCallback):
3590 (WebCore::queryInfoCallback):
3591 (WebCore::ResourceHandle::startGio):
3593 2009-03-04 Simon Fraser <simon.fraser@apple.com>
3595 Reviewed by Eric Seidel
3597 https://bugs.webkit.org/show_bug.cgi?id=24328
3599 If an element has backface-visibility: hidden, hit testing should not
3600 hit the back sides of elements. Test for that by inverting the accumulated
3601 transform and looking at the z vector.
3603 Tested by transforms/3d/hit-testing/backface-hit-test.html
3605 * rendering/RenderLayer.cpp:
3606 (WebCore::RenderLayer::hitTestLayer):
3608 2009-03-04 Adam Langley <agl@google.com>
3610 Reviewed by Darin Fisher.
3612 r41362 mistakenly added functions "RenderThemeWin::" into
3613 RenderThemeChromiumGtk.cpp. When correcting this, I somehow changed
3614 them to void return types. This patch switches them back to ints.
3616 https://bugs.webkit.org/show_bug.cgi?id=24360
3618 * rendering/RenderThemeChromiumLinux.cpp:
3619 (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingLeft):
3620 (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingRight):
3621 (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingTop):
3622 (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingBottom):
3624 2009-03-04 Adam Langley <agl@google.com>
3626 Reviewed by Darin Fisher.
3628 Chromium Linux: change some metrics to better match Windows after
3629 r41416. Aesthetically this may be worse, but web-compat is king.
3631 Also, the previous code had an off by one error when drawing
3632 scrollbars which caused the scrollbar to overflow it's bounds by 1px
3633 at the right and bottom edges.
3635 https://bugs.webkit.org/show_bug.cgi?id=24369
3637 * rendering/RenderThemeChromiumLinux.cpp:
3639 (WebCore::RenderThemeChromiumLinux::systemFont):
3640 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3641 (WebCore::ScrollbarThemeChromium::paintTrackPiece):
3643 2009-03-04 Eric Seidel <eric@webkit.org>
3645 Reviewed by Adam Roben.
3647 Add an ASSERT to better demonstrate the cause of the crash in
3648 https://bugs.webkit.org/show_bug.cgi?id=23736
3650 * loader/DocLoader.cpp:
3651 (WebCore::DocLoader::~DocLoader):
3653 2009-03-04 David Levin <levin@chromium.org>
3655 Reviewed by Alexey Proskuryakov.
3657 Bug 24337: Assert when doing sync XHR in a worker for a cacheable response.
3658 <https://bugs.webkit.org/show_bug.cgi?id=24337>
3660 Tests: http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html
3661 http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html
3663 * loader/mac/ResourceLoaderMac.mm:
3664 (WebCore::ResourceLoader::willCacheResponse):
3665 An identifier is only asssigned if resource load callbacks are done. So don't send
3666 willCacheResponse which uses identifier if resource load callbacks aren't being sent.
3668 2009-03-04 David Levin <levin@chromium.org>
3670 Reviewed by Alexey Proskuryakov.
3672 Bug 24330: Sync xhr in workers should send an abort exception when the worker is terminated.
3673 <https://bugs.webkit.org/show_bug.cgi?id=24330>
3675 Test: http/tests/xmlhttprequest/workers/abort-exception-assert.html
3677 * dom/ExceptionCode.cpp:
3678 (WebCore::xmlHttpRequestExceptionNames):
3679 Added missing ABORT_ERR whose absence caused an assert.
3681 * loader/WorkerThreadableLoader.cpp:
3682 (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
3683 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
3684 Add more logic to handle the termination case for sync xhr.
3686 2009-03-04 Eric Carlson <eric.carlson@apple.com>
3688 Reviewed by Antti Koivisto.
3690 https://bugs.webkit.org/show_bug.cgi?id=24364
3691 Add support for HTMLMediaElement canPlayType method. Make
3692 MediaPlayer::supportsType take a ContentType instead of a
3693 separate mime type and codecs parameter.
3695 Test: media/video-can-play-type.html
3697 * dom/DOMImplementation.cpp:
3698 (WebCore::DOMImplementation::createDocument):
3699 * html/HTMLMediaElement.cpp:
3700 (WebCore::HTMLMediaElement::canPlayType): Add canPlayType method.
3701 (WebCore::HTMLMediaElement::loadInternal): selectMediaURL returns a ContentType.
3702 (WebCore::HTMLMediaElement::selectMediaURL): Return a ContentType instead of raw MIME type.
3703 (WebCore::HTMLMediaElement::initialURL): selectMediaURL returns a ContentType.
3704 * html/HTMLMediaElement.h: Add prototype.
3705 * html/HTMLMediaElement.idl: Ditto.
3706 * platform/graphics/MediaPlayer.cpp:
3707 (WebCore::MediaPlayer::load): Take a ContentType instead of raw MIME type.
3708 (WebCore::MediaPlayer::supportsType): Ditto.
3709 * platform/graphics/MediaPlayer.h:
3711 2009-03-04 Antti Koivisto <antti@apple.com>
3713 Reviewed by Dave Hyatt.
3715 https://bugs.webkit.org/show_bug.cgi?id=24359
3716 Repaint throttling mechanism
3718 Excessive repainting can slow down page loadind. This implements a timer
3719 based throttling mechanism. It is behind ENABLE(REPAINT_THROTTLING) and not
3722 * loader/FrameLoader.cpp:
3723 (WebCore::FrameLoader::checkCompleted):
3724 * page/EventHandler.cpp:
3725 (WebCore::EventHandler::dispatchDragEvent):
3726 (WebCore::EventHandler::dispatchMouseEvent):
3727 (WebCore::EventHandler::keyEvent):
3728 (WebCore::EventHandler::handleTextInputEvent):
3729 * page/FrameView.cpp:
3730 (WebCore::FrameView::FrameView):
3731 (WebCore::FrameView::reset):
3732 (WebCore::FrameView::repaintContentRectangle):
3733 (WebCore::FrameView::beginDeferredRepaints):
3734 (WebCore::FrameView::endDeferredRepaints):
3735 (WebCore::FrameView::checkStopDelayingDeferredRepaints):
3736 (WebCore::FrameView::doDeferredRepaints):
3737 (WebCore::FrameView::updateDeferredRepaintDelay):
3738 (WebCore::FrameView::resetDeferredRepaintDelay):
3739 (WebCore::FrameView::adjustedDeferredRepaintDelay):
3740 (WebCore::FrameView::deferredRepaintTimerFired):
3741 (WebCore::FrameView::paintContents):
3744 2009-03-04 Sam Weinig <sam@webkit.org>
3746 Rubber-stamped by Antti Koivisto.
3748 Remove LOW_BANDWIDTH_DISPLAY as it is not being used by any platforms.
3751 (WebCore::Document::Document):
3753 (WebCore::Document::haveStylesheetsLoaded):
3754 * html/HTMLTokenizer.cpp:
3755 (WebCore::HTMLTokenizer::scriptHandler):
3757 (WebCore::Cache::requestResource):
3758 * loader/CachedCSSStyleSheet.cpp:
3759 (WebCore::CachedCSSStyleSheet::checkNotify):
3760 * loader/DocLoader.h:
3761 * loader/FrameLoader.cpp:
3762 (WebCore::FrameLoader::FrameLoader):
3763 (WebCore::FrameLoader::requestFrame):
3764 (WebCore::FrameLoader::stopLoading):
3765 (WebCore::FrameLoader::begin):
3766 (WebCore::FrameLoader::write):
3767 (WebCore::FrameLoader::endIfNotLoadingMainResource):
3768 (WebCore::FrameLoader::checkCompleted):
3769 (WebCore::FrameLoader::requestObject):
3770 (WebCore::FrameLoader::loadItem):
3771 * loader/FrameLoader.h:
3773 2009-03-02 Xan Lopez <xan@gnome.org>
3775 Reviewed by Mark Rowe.
3777 https://bugs.webkit.org/show_bug.cgi?id=24287
3778 [GTK] Move auth dialog feature to WebKit/
3780 Remove WebKitSoupAuthDialog files from build and stop using it.
3783 * platform/network/soup/ResourceHandleSoup.cpp:
3784 (WebCore::ensureSessionIsInitialized):
3785 * platform/network/soup/webkit-soup-auth-dialog.c: Removed.
3786 * platform/network/soup/webkit-soup-auth-dialog.h: Removed.
3788 2009-03-04 Simon Fraser <simon.fraser@apple.com>
3790 Reviewed by Dave Hyatt
3792 https://bugs.webkit.org/show_bug.cgi?id=24361
3794 Reinstate code that sets result.innerNode when hitTest() returns true,
3795 but never filled in the innerNode. Fixes hit testing of generated content.
3797 Test: fast/css-generated-content/hit-test-generated-content.html
3799 * rendering/RenderLayer.cpp:
3800 (WebCore::RenderLayer::hitTestContents):
3802 2009-03-04 Adam Barth <abath@webkit.org>
3804 Reviewed by Alexey Proskuryakov.
3806 https://bugs.webkit.org/show_bug.cgi?id=24356
3808 Fix WebKit style for allowUniversalAccessFromFileURLs.
3812 (WebCore::Document::initSecurityContext):
3813 * page/Settings.cpp:
3814 (WebCore::Settings::Settings):
3815 (WebCore::Settings::setAllowUniversalAccessFromFileURLs):
3817 (WebCore::Settings::allowUniversalAccessFromFileURLs):
3819 2009-03-04 Brady Eidson <beidson@apple.com>
3821 Reviewed by Darin Adler
3823 <rdar://problem/6619630> Quick Look of vCards stuck on image of first card opened.
3825 I narrowed this down to http://trac.webkit.org/changeset/39304 which, among other things,
3826 consolidated some of the various decision making pieces of the Cache into the new method
3827 FrameLoader::cachePolicy().
3829 Before 39304, when deciding whether to use an existing CachedResource, we checked if the FrameLoader
3830 is reloading. If it is, we'd evict any existing resource then recreate it. Quick looks uses the
3831 same URL for this image every time and expects it to be reloaded with each new card.
3833 The FrameLoader::isReloading() check did one thing - Ask the DocumentLoader if it's cache policy
3834 is "ReloadIgnoringCacheData". This check was lost in the consolidation to the new method.
3836 * loader/FrameLoader.cpp:
3837 (WebCore::FrameLoader::cachePolicy): Restore the DocumentLoader's cachePolicy check as a possible
3838 condition for returning CachePolicyReload.
3840 2009-03-04 Timothy Hatcher <timothy@apple.com>
3842 * English.lproj/localizedStrings.js: Update strings to include "DATABASES",
3843 "LOCAL STORAGE" and "SESSION STORAGE".
3845 2009-03-04 Timothy Hatcher <timothy@apple.com>
3847 Fix a regression where the Web Inspector console would not animate
3848 in or out correctly.
3850 Reviewed by Anders Carlsson.
3852 * inspector/front-end/inspector.css: Move a z-index to a child element
3853 to get the correct stacking order during the animation.
3855 2009-03-03 David Hyatt <hyatt@apple.com>
3857 https://bugs.webkit.org/show_bug.cgi?id=24201, pathologically bad block layout.
3859 Make sure to factor clear deltas into y position estimates. Also avoid doing the comparison of
3860 the final position against the y position estimate until after the clear has happened. This gets rid
3861 of some duplicated cut/pasted code and also ensures a layout delta only has to be put in once.
3863 Reviewed by Dan Bernstein
3865 Added fast/block/float/nested-clearance.html
3867 * rendering/RenderBlock.cpp:
3868 (WebCore::RenderBlock::collapseMargins):
3869 (WebCore::RenderBlock::clearFloatsIfNeeded):
3870 (WebCore::RenderBlock::estimateVerticalPosition):
3871 (WebCore::RenderBlock::layoutBlockChildren):
3872 (WebCore::RenderBlock::getClearDelta):
3873 * rendering/RenderBlock.h:
3875 2009-03-02 Kim Grönholm <kim.gronholm@nomovok.com>
3877 Reviewed by Simon Hausmann.
3879 Improvement to 3d transformations rendering in QtWebKit. QTransform is used
3880 instead of QMatrix. This allows perspective transformations since QTransform is
3883 * platform/graphics/qt/GraphicsContextQt.cpp: Use QTransform instead of QMatrix everywhere.
3884 (WebCore::GraphicsContext::getCTM):
3885 (WebCore::GraphicsContext::restorePlatformState):
3886 (WebCore::GraphicsContext::fillPath):
3887 (WebCore::GraphicsContext::strokePath):
3888 (WebCore::GraphicsContext::fillRect):
3889 (WebCore::GraphicsContext::translate):
3890 (WebCore::GraphicsContext::rotate):
3891 (WebCore::GraphicsContext::scale):
3892 (WebCore::GraphicsContext::concatCTM):
3893 * platform/graphics/qt/ImageQt.cpp:
3894 (WebCore::Image::drawPattern):
3895 * platform/graphics/qt/PathQt.cpp:
3896 (WebCore::Path::translate):
3897 (WebCore::Path::transform):
3898 * platform/graphics/qt/PatternQt.cpp:
3899 (WebCore::Pattern::createPlatformPattern):
3900 * platform/graphics/qt/TransformationMatrixQt.cpp:
3901 (WebCore::TransformationMatrix::operator QTransform): Replace the conversion operator
3902 to QMatrix with one to QTransform.
3903 * platform/graphics/transforms/TransformationMatrix.h:
3904 * platform/graphics/qt/FontQt.cpp:
3906 2009-02-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
3908 Reviewed by Simon Hausmann.
3910 https://bugs.webkit.org/show_bug.cgi?id=24151
3911 Fix Qt/S60 build break
3913 * platform/FileSystem.h: Create a default case for non-win and non-mac Qt builds
3914 * platform/qt/FileSystemQt.cpp: Ditto
3915 (WebCore::unloadModule):
3917 2009-03-03 Mike Belshe <mike@belshe.com>
3919 Reviewed by Alexey Proskuryakov.
3921 https://bugs.webkit.org/show_bug.cgi?id=21939
3922 Uninitialized ExceptionCode in DOMWindow::postMessage
3924 * dom/MessagePort.cpp:
3925 (WebCore::MessagePort::postMessage):
3927 2009-03-03 David Kilzer <ddkilzer@apple.com>
3929 <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase
3931 Reviewed by Mark Rowe.
3933 The fix is to add INSTALLHDRS_COPY_PHASE = YES and
3934 INSTALLHDRS_SCRIPT_PHASE = YES to WebCore.xcconfig, then to make
3935 sure various build phase scripts work with the installhdrs build
3938 * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME
3939 based on PLATFORM_NAME to work around the missing definition on
3941 * Configurations/WebCore.xcconfig: Added
3942 JAVASCRIPTCORE_PRIVATE_HEADERS_DIR variable to simplify logic in
3943 the "Generate Derived Sources" script. Added
3944 INSTALLHDRS_COPY_PHASE = YES and INSTALLHDRS_SCRIPT_PHASE = YES.
3946 * WebCore.xcodeproj/project.pbxproj:
3947 - Added shell code to prevent running "Check For Global
3948 Initializers", "Check For Exit Time Destructors" and "Check
3949 For Weak VTables" scripts during the installhdrs build phase.
3950 - Made "Generate Derived Sources" work for the installhdrs build
3951 phase. Also simplified setting of CREATE_HASH_TABLE by using
3952 JAVASCRIPTCORE_PRIVATE_HEADERS_DIR.
3954 2009-03-02 Adam Langley <agl@google.com>
3956 Reviewed by Darin Fisher.
3958 Chromium Linux: Switch to using Skia to render widgets.
3960 In order to sandbox the Chromium renderer on Linux we need to remove
3961 the X connection. GTK cannot render without an X connection so, for
3962 now, we render widgets ourselves.
3964 Previously didn't use anti-alias fonts in order to match Windows font
3965 rendering exactly. This was helpful when bootstrapping our layout
3966 tests. Now, however, we are ready to enable it.
3968 https://bugs.webkit.org/show_bug.cgi?id=24244
3970 * platform/chromium/ScrollbarThemeChromium.cpp:
3971 (WebCore::ScrollbarThemeChromium::buttonSize):
3972 * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3973 (WebCore::ScrollbarThemeChromium::scrollbarThickness):
3974 (WebCore::ScrollbarThemeChromium::paintTrackPiece):
3975 (WebCore::ScrollbarThemeChromium::paintButton):
3976 (WebCore::ScrollbarThemeChromium::paintThumb):
3977 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
3978 (WebCore::FontPlatformData::setupPaint):
3979 * platform/graphics/skia/PlatformContextSkia.cpp:
3980 (PlatformContextSkia::PlatformContextSkia):
3981 (PlatformContextSkia::~PlatformContextSkia):
3982 * platform/graphics/skia/PlatformContextSkia.h:
3983 * rendering/RenderThemeChromiumGtk.cpp: Removed.
3984 * rendering/RenderThemeChromiumGtk.h: Removed.
3985 * rendering/RenderThemeChromiumLinux.cpp: Added.
3986 * rendering/RenderThemeChromiumLinux.h: Added.
3988 2009-03-03 Dimitri Glazkov <dglazkov@chromium.org>
3990 Reviewed by Darin Fisher.
3992 https://bugs.webkit.org/show_bug.cgi?id=24261
3995 Test: LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg
3997 * bindings/v8/V8Binding.h:
3998 (WebCore::toInt32): change return type to int
3999 (WebCore::toFloat): change return type to float.
4001 2009-03-03 Anders Carlsson <andersca@apple.com>
4003 Reviewed by John Sullivan.
4005 https://bugs.webkit.org/show_bug.cgi?id=22884
4006 <rdar://problem/6449783>
4007 modified layout test crashes Safari
4009 Null check NPStream before dereferencing it.
4011 * plugins/PluginView.cpp:
4012 (WebCore::PluginView::destroyStream):
4014 2009-03-03 Eric Carlson <eric.carlson@apple.com>
4016 Reviewed by Simon Fraser.
4018 Fix for <rdar://problem/6641045>
4019 Don't call QTKit to get movie properties until movie metadata has been loaded.
4021 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
4022 (WebCore::MediaPlayerPrivate::metaDataAvailable): defined
4023 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
4024 (WebCore::MediaPlayerPrivate::createQTTime): return default if !metaDataAvailable.
4025 (WebCore::MediaPlayerPrivate::play): Ditto.
4026 (WebCore::MediaPlayerPrivate::pause): Ditto.
4027 (WebCore::MediaPlayerPrivate::duration): Ditto.
4028 (WebCore::MediaPlayerPrivate::currentTime): Ditto.
4029 (WebCore::MediaPlayerPrivate::seek): Ditto.
4030 (WebCore::MediaPlayerPrivate::seekTimerFired): Ditto.
4031 (WebCore::MediaPlayerPrivate::paused): Ditto.
4032 (WebCore::MediaPlayerPrivate::seeking): Ditto.
4033 (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
4034 (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
4035 (WebCore::MediaPlayerPrivate::setVolume): Ditto.
4036 (WebCore::MediaPlayerPrivate::setRate): Ditto.
4037 (WebCore::MediaPlayerPrivate::dataRate): Ditto.
4038 (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
4039 (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
4041 2009-03-03 Kevin McCullough <kmccullough@apple.com>
4046 (WebCore::Console::profile):
4048 2009-03-03 Dimitri Glazkov <dglazkov@chromium.org>
4050 Reviewed by Darin Fisher.
4052 https://bugs.webkit.org/show_bug.cgi?id=23657
4053 Remove Database API callback IDLs from the project.
4054 They were removed in r40633.
4056 * WebCore.xcodeproj/project.pbxproj: Removed IDL files from the project.
4058 2009-03-03 Kevin McCullough <kmccullough@apple.com>
4060 Reviewed by Oliver Hunt.
4062 <rdar://problem/6639110> console.profile() doesn't work without a title
4065 (WebCore::Console::profile): If there is no title assume this is a user
4066 initiated profile and give it the next incremented title name.
4068 2009-03-03 Timothy Hatcher <timothy@apple.com>
4070 Fix a regression that broke dirxml and caused an ASSERT in debug builds. Also simplified
4071 the console code and refactored things to have fewer code paths and duplication.
4073 rdar://problem/6367127
4074 https://bugs.webkit.org/show_bug.cgi?id=24329
4076 Reviewed by Kevin McCullough.
4078 Test: manual-tests/inspector/console-dir.html
4080 * bindings/js/JSInspectedObjectWrapper.cpp:
4081 (WebCore::JSInspectedObjectWrapper::wrap): Use the lexicalGlobalObject instead of dynamicGlobalObject
4082 to fix an ASSERT about using a wrapper from the wrong ExecState.
4083 * bindings/js/JSQuarantinedObjectWrapper.cpp:
4084 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): Ditto.
4085 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Ditto.
4086 * inspector/front-end/Console.js:
4087 (WebInspector.Console.prototype._format): Remove the inline argument and add forceObjectFormat.
4088 When forceObjectFormat is true, the only formatter used is _formatobject.
4089 (WebInspector.Console.prototype._formatvalue): Remove the inline argument.
4090 (WebInspector.Console.prototype._formatstring): Ditto.
4091 (WebInspector.Console.prototype._formatregexp): Ditto.
4092 (WebInspector.Console.prototype._formatarray): Ditto.
4093 (WebInspector.Console.prototype._formatnode): Remove the inline argument and make a DOM tree instead of an anchor.
4094 (WebInspector.Console.prototype._formatobject): Remove the inline argument and always make a property graph.
4095 (WebInspector.Console.prototype._formaterror): Remove the inline argument.
4096 (WebInspector.ConsoleMessage): Remove the case for MessageLevel.Node and
4097 simplify the case for MessageLevel.Object to use the normal _format code path with the %O formatter.
4098 (WebInspector.ConsoleMessage.prototype._format.formatForConsole): Don't pass an additional true argument for inline.
4099 (WebInspector.ConsoleMessage.prototype._format.formatAsObjectForConsole): Added. Pass a true argument for forceObjectFormat.
4100 (WebInspector.ConsoleMessage.prototype._format): Added support for the %O formatter. Use formatForConsole for all arguments.
4101 (WebInspector.ConsoleMessage.prototype.toString): Add the other message levels.
4102 * inspector/front-end/inspector.css: Tweak styles to look and work correctly.
4103 * inspector/front-end/utilities.js:
4104 (Object.type): Return "node" for Node objects.
4105 (Object.describe): Handle the "node" type.
4107 (WebCore::printMessageSourceAndLevelPrefix): Fix an assert by adding the other message level types.
4108 (WebCore::Console::dirxml): Use the standard log fuction since it prints a DOM tree for nodes by default.
4110 (WebCore::enum MessageLevel): Removed NodeMessageLevel. Added a FIXME.
4112 2009-03-03 Scott Violet <sky@google.com>
4114 Reviewed by Eric Seidel.
4116 https://bugs.webkit.org/show_bug.cgi?id=24325
4117 Crash on replacing document contents during drop.
4119 Makes sure a node is in the document during a move before using it.
4121 Test: fast/events/crash-on-mutate-during-drop.html
4123 * editing/MoveSelectionCommand.cpp:
4124 (WebCore::MoveSelectionCommand::doApply):
4126 2009-03-03 Jungshik Shin <jshin@chromium.org>
4128 Reviewed by Eric Seidel.
4130 https://bugs.webkit.org/show_bug.cgi?id=23028
4131 Enable dynamic web font support to Chromium on Windows.
4132 Files that were omitted by mistake in the latest patch
4135 * loader/CachedFont.cpp:
4136 (WebCore::CachedFont::~CachedFont):
4137 (WebCore::CachedFont::ensureCustomFontData):
4138 (WebCore::CachedFont::platformDataFromCustomData):
4139 (WebCore::CachedFont::allClientsRemoved):
4140 * platform/graphics/chromium/FontCustomPlatformData.cpp:
4141 (WebCore::EOTStream::EOTStream):
4142 (WebCore::createFontCustomPlatformData):
4143 * platform/graphics/win/FontCustomPlatformData.cpp:
4144 (WebCore::EOTStream::EOTStream):
4145 (WebCore::createFontCustomPlatformData):
4147 2009-03-03 Gustavo Noronha Silva <gns@gnome.org>
4149 Reviewed by Alexey Proskuryakov.
4151 https://bugs.webkit.org/show_bug.cgi?id=16826
4152 [Gtk] Implement WebKitDownload
4154 Make the Soup backend able to handle requests without a frame,
4155 since we may have such things now that we support downloads.
4157 * platform/network/ResourceHandleInternal.h:
4158 * platform/network/soup/ResourceHandleSoup.cpp:
4159 (WebCore::ResourceHandle::start):
4161 2009-03-03 Dimitri Glazkov <dglazkov@chromium.org>
4163 Reviewed by Eric Seidel.
4165 https://bugs.webkit.org/show_bug.cgi?id=24331
4166 Add custom V8 bindings for Element, Attr, HTMLFrame, and HTMLIFrame.
4168 * bindings/v8/custom/V8AttrCustom.cpp: Added.
4169 * bindings/v8/custom/V8CustomBinding.cpp: Added.
4170 * bindings/v8/custom/V8CustomBinding.h: Added attribute-checking helpers.
4171 * bindings/v8/custom/V8ElementCustom.cpp: Added.
4172 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added.
4173 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Added.
4175 2009-03-03 Brady Eidson <beidson@apple.com>
4177 Reviewed by Darin Adler
4179 <rdar://problem/6616664> - Quick looks of various file types is broken
4181 In http://trac.webkit.org/changeset/40553 there was an attempt to prevent NSURLRequest churn
4182 for non-HTTP loads when the underlying ResourceRequest changed. Unfortunately it was a little
4183 overzealous as the mainDocumentURL is relevant for all loads, not only HTTP/HTTPS loads.
4185 Partially reverted behavior to always set the mainDocumentURL in situations when we would've
4188 * loader/FrameLoader.cpp:
4189 (WebCore::FrameLoader::addExtraFieldsToRequest):
4191 * platform/network/ResourceRequestBase.cpp:
4192 (WebCore::ResourceRequestBase::setMainDocumentURL):
4194 2009-03-03 Chris Marrin <cmarrin@apple.com>
4196 Reviewed by Simon Fraser.
4198 https://bugs.webkit.org/show_bug.cgi?id=24256
4200 Added a WebCoreForceSoftwareAnimation flag.
4202 * platform/graphics/mac/GraphicsLayerCA.mm:
4203 (WebCore::forceSoftwareAnimation):
4204 (WebCore::GraphicsLayerCA::setOpacity):
4205 (WebCore::GraphicsLayerCA::animateTransform):
4206 (WebCore::GraphicsLayerCA::animateFloat):
4208 2009-03-02 Chris Marrin <cmarrin@apple.com>
4210 Reviewed by Sam Weinig.
4212 https://bugs.webkit.org/show_bug.cgi?id=24257
4214 Added prototype properties for several classes with constructors that
4215 were missing them, including the one mentioned in the bug.
4217 Test: fast/dom/Window/custom-constructors.html
4219 * bindings/js/JSAudioConstructor.cpp:
4220 (WebCore::JSAudioConstructor::JSAudioConstructor):
4221 * bindings/js/JSDOMWindowBase.cpp:
4222 (jsDOMWindowBaseWebKitCSSMatrix):
4223 * bindings/js/JSImageConstructor.cpp:
4224 (WebCore::JSImageConstructor::JSImageConstructor):
4225 * bindings/js/JSOptionConstructor.cpp:
4226 (WebCore::JSOptionConstructor::JSOptionConstructor):
4227 * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
4228 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
4229 * bindings/js/JSWebKitCSSMatrixConstructor.h:
4230 * bindings/js/JSWebKitPointConstructor.cpp:
4231 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
4232 * bindings/js/JSWorkerConstructor.cpp:
4233 (WebCore::JSWorkerConstructor::JSWorkerConstructor):
4235 2009-03-03 Dimitri Glazkov <dglazkov@chromium.org>
4237 Reviewed by Darin Fisher.
4239 https://bugs.webkit.org/show_bug.cgi?id=24321
4240 Add V8 bindings headers.
4242 * bindings/v8/V8Binding.h: Added.
4243 * bindings/v8/V8Proxy.h: Added.
4244 * bindings/v8/custom/V8CustomBinding.h: Added.
4245 * bindings/v8/custom/V8CustomEventListener.h: Added.
4247 2009-03-03 Jungshik Shin <jshin@chromium.org>
4249 Reviewed by Eric Seidel.
4251 https://bugs.webkit.org/show_bug.cgi?id=23803
4252 Fix an 'off-by-1' error in ChromiumWin's font fallback.
4254 * platform/graphics/chromium/FontCacheChromiumWin.cpp: