6fa2eedf24a83f8a3f96c7e6f2cab457b5cf2106
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-03-30  Dominic Cooney  <dominicc@google.com>
2
3         Reviewed by Dimitri Glazkov.
4
5         Adds layoutTestController.shadowRoot accessor to Mac DRT.
6         https://bugs.webkit.org/show_bug.cgi?id=57415
7
8         * WebCore.exp.in: DRT needs to link WebCore::Element::shadowRoot
9
10 2011-03-30  Kent Tamura  <tkent@chromium.org>
11
12         Reviewed by Dimitri Glazkov.
13
14         Simplify HTMLFormElement::validateInteractively() for asynchronous scroll event
15         https://bugs.webkit.org/show_bug.cgi?id=57424
16
17         r75555 made 'scroll' event asynchronous. So we don't need to worry about
18         deleting or moving a target node in scrollIntoViewIfNeeded().
19
20         * html/HTMLFormElement.cpp:
21         (WebCore::HTMLFormElement::validateInteractively): Remove unnecessary code.
22
23 2011-03-30  Kent Tamura  <tkent@chromium.org>
24
25         Reviewed by Darin Adler.
26
27         REGRESSION (r74895): Crash if input.type = 'file' twice
28         https://bugs.webkit.org/show_bug.cgi?id=57343
29
30         * html/HTMLInputElement.cpp:
31         (WebCore::HTMLInputElement::updateType):
32           Don't call setAttribute() if the type is not changed.
33
34 2011-03-30  Jia Pu  <jpu@apple.com>
35
36         Reviewed by Darin Adler.
37
38         Autocorrection panel isn't positioned correctly in Safari (mac) when the zooming is not 1x.
39         https://bugs.webkit.org/show_bug.cgi?id=57353
40         <rdar://problem/9163983>
41
42         We use Range::textQuads() instead of Range::boundingRect() to compute the position of correction
43         panel. The latter function compensates for zooming, which we don't need in this case. We also
44         dismiss correction panel when zooming factor is changed. This is done in Frame::setPageAndTextZoomFactors().
45
46         * WebCore.exp.in:
47         * dom/Range.cpp:
48         (WebCore::Range::textQuads):
49         * dom/Range.h:
50         * editing/Editor.cpp:
51         (WebCore::Editor::windowRectForRange):
52         * editing/Editor.h:
53         * page/Frame.cpp:
54         (WebCore::Frame::setPageAndTextZoomFactors):
55
56 2011-03-30  Chris Guillory  <chris.guillory@google.com>
57
58         Reviewed by Dimitri Glazkov.
59
60         Render fonts using skia when requested by platform context.
61         https://bugs.webkit.org/show_bug.cgi?id=56441
62
63         * platform/graphics/skia/PlatformContextSkia.cpp:
64         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
65         * platform/graphics/skia/PlatformContextSkia.h:
66         * platform/graphics/skia/SkiaFontWin.cpp:
67         (WebCore::windowsCanHandleTextDrawing):
68         (WebCore::skiaDrawText):
69         (WebCore::setupPaintForFont):
70         (WebCore::paintSkiaText):
71
72 2011-03-30  Dan Bernstein  <mitz@apple.com>
73
74         Reviewed by Darin Adler.
75
76         <rdar://problem/9199518> Crash when focusing a styled editable element
77
78         Test: editing/deleting/delete-button-background-image-none.html
79
80         * editing/DeleteButtonController.cpp:
81         (WebCore::isDeletableElement): Check all background layers for background images.
82         * rendering/style/RenderStyle.h: Removed backgroundImage() as it was only used, incorrectly,
83         in the above function.
84
85 2011-03-30  Martin Robinson  <mrobinson@igalia.com>
86
87         Try once more to fix the EFL build.
88
89         * platform/efl/RenderThemeEfl.cpp:
90
91 2011-03-30  Chris Fleizach  <cfleizach@apple.com>
92
93         Reviewed by Darin Adler.
94
95         Regression: VO cursor doesn't follow KB focus back into HTML view
96         https://bugs.webkit.org/show_bug.cgi?id=57509
97
98         In WK2, because the web area never believes focus leave the area, sending the initial
99         focus change when moving back into the web area, does not trigger a notification.
100
101         That behavior needs to be overridden by explicitly posting a focused UI element change
102         at the appropriate time. This is only used in WK2, hence the absence of a layout test for now.
103
104         * page/FocusController.cpp:
105         (WebCore::FocusController::setInitialFocus):
106
107 2011-03-30  MORITA Hajime  <morrita@google.com>
108
109         Reviewed by Simon Fraser.
110
111         box-shadow radii stays the same regardless of any spread set
112         https://bugs.webkit.org/show_bug.cgi?id=49726
113
114         - Removed special shadowSpread handling path
115         - Fixed broken multple inset shadow border computation.
116
117         Test: fast/box-shadow/spread-multiple-inset.html
118
119         * rendering/RenderBoxModelObject.cpp:
120         (WebCore::RenderBoxModelObject::paintBoxShadow):
121
122 2011-03-29  Matthew Delaney  <mdelaney@apple.com>
123
124         Reviewed by Simon Fraser.
125
126         Use the Accelerate vImage vectorized (un)premultiplyImageData functions for ImageBufferCG
127
128         https://bugs.webkit.org/show_bug.cgi?id=53134
129
130         Test: fast/canvas/getPutImageDataPairTest.html
131
132         * platform/graphics/cg/ImageBufferCG.cpp:
133
134 2011-03-30  Martin Robinson  <mrobinson@igalia.com>
135
136         Try to fix the WinCairo build.
137
138         * platform/graphics/win/GraphicsContextCairoWin.cpp:
139         (WebCore::GraphicsContext::platformInit): Fix misspelling of GraphicsContextPlatformPrivateToplevel.
140
141 2011-03-30  Steve Falkenburg  <sfalken@apple.com>
142
143         Reviewed by Adam Roben.
144
145         Share most vsprops between Release and Production builds in releaseproduction.vsprops
146         https://bugs.webkit.org/show_bug.cgi?id=57508
147
148         * WebCore.vcproj/QTMovieWinProduction.vsprops:
149         * WebCore.vcproj/QTMovieWinRelease.vsprops:
150         * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops:
151         * WebCore.vcproj/WebCoreProduction.vsprops:
152         * WebCore.vcproj/WebCoreRelease.vsprops:
153         * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops:
154
155 2011-03-30  Timur Iskhodzhanov  <timurrrr@google.com>
156
157         Reviewed by Alexey Proskuryakov.
158
159         Add some dynamic annotations to JavaScriptCore/wtf
160         https://bugs.webkit.org/show_bug.cgi?id=53747
161
162         By using these annotations we can improve the precision of finding
163         WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind.
164         These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1".
165
166         These files don't add new functionality, so don't need extra tests.
167
168         * ForwardingHeaders/wtf/DynamicAnnotations.h: Added.
169
170 2011-03-30  Martin Robinson  <mrobinson@igalia.com>
171
172         Try to fix the EFL build.
173
174         * platform/efl/RenderThemeEfl.cpp:
175         (WebCore::RenderThemeEfl::paintThemePart): Use the new cairo_t accessor on the platform context.
176
177 2011-03-30  Abhishek Arya  <inferno@chromium.org>
178
179         Reviewed by Simon Fraser.
180
181         Fix wrong type assumptions in editing code. Move code
182         from ASSERTs to hard checks.
183         https://bugs.webkit.org/show_bug.cgi?id=57348
184
185         Test: editing/execCommand/remove-format-non-html-element-crash.html
186
187         * css/CSSStyleSelector.cpp:
188         (WebCore::CSSStyleSelector::applyProperty):
189         * editing/ApplyStyleCommand.cpp:
190         (WebCore::getRGBAFontColor):
191         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
192         * editing/DeleteButtonController.cpp:
193         (WebCore::enclosingDeletableElement):
194         * editing/EditingStyle.cpp:
195         (WebCore::EditingStyle::textDirection):
196         (WebCore::EditingStyle::prepareToApplyAt):
197         * editing/Editor.cpp:
198         (WebCore::Editor::textDirectionForSelection):
199         * editing/FormatBlockCommand.cpp:
200         (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
201
202 2011-03-30  Stephen White  <senorblanco@chromium.org>
203
204         Reviewed by Kenneth Russell.
205
206         Speed up clipping in accelerated 2D canvas.
207         https://bugs.webkit.org/show_bug.cgi?id=57464
208
209         Instead of clearing the entire stencil buffer when removing clipping paths, we erase the path with a DECR stencil operation.
210         Covered by canvas/philip/tests/2d.path.clip.intersect.html, and others.
211
212         * platform/graphics/chromium/GLES2Canvas.cpp:
213         (WebCore::PathAndTransform::PathAndTransform):
214         New structure to keep track of the CTM at the time the clipping path was added.
215         (WebCore::GLES2Canvas::State::State):
216         Replace m_clippingEnabled with a count of total clipping paths.
217         (WebCore::GLES2Canvas::clearRect):
218         Check the total clipping path count, instead of m_clippingEnabled.
219         (WebCore::GLES2Canvas::fillPath):
220         (WebCore::GLES2Canvas::fillRect):
221         Perform state application after doing shadows.  This is necessary
222         since restore() may now leave clipping enabled.
223         (WebCore::GLES2Canvas::clipPath):
224         Explicitly specify the stencil operation as INCR.  Store the current
225         transformation when saving clipping paths.
226         (WebCore::GLES2Canvas::restore):
227         Don't clear the stencil buffer and re-draw active paths on each restore.
228         Erase the old paths with DECR.
229         (WebCore::GLES2Canvas::drawTexturedRect):
230         Check m_numClippingPaths instead of m_clippingEnabled.
231         (WebCore::GLES2Canvas::beginShadowDraw):
232         Perform state application when drawing hard shadows.
233         (WebCore::GLES2Canvas::endShadowDraw):
234         Check m_numClippingPaths instead of m_clippingEnabled.
235         (WebCore::GLES2Canvas::beginStencilDraw):
236         Make the stencil op a parameter to beginShadowDraw().
237         (WebCore::GLES2Canvas::applyClipping):
238         Compare against the total number of stencil paths, not just the ones in
239         the current state.
240         * platform/graphics/chromium/GLES2Canvas.h:
241         Make the stencil op a parameter to beginShadowDraw().
242
243 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
244
245         Reviewed by Darin Adler.
246
247         Move factory-like things in EventDispatcher::dispatchMouseEvent to a factory, clean up names and ordering.
248         https://bugs.webkit.org/show_bug.cgi?id=57419
249
250         Refactoring, covered by existing tests.
251
252         * dom/EventDispatcher.cpp:
253         (WebCore::EventDispatcher::dispatchMouseEvent): Reordered and clarified names.
254         * dom/MouseEvent.cpp:
255         (WebCore::MouseEvent::create): Added a new factory method that takes PlatformMouseEvent.
256         * dom/MouseEvent.h: Added decl.
257
258 2011-03-30  Erik Arvidsson  <arv@chromium.org>
259
260         Reviewed by Alexey Proskuryakov.
261
262         Missing DOM bindings for a ping
263         https://bugs.webkit.org/show_bug.cgi?id=51955
264
265         Test: fast/dom/ping-attribute-dom-binding.html
266
267         * html/HTMLAnchorElement.idl:
268         * html/HTMLAreaElement.idl:
269
270 2011-03-30  Martin Robinson  <mrobinson@igalia.com>
271
272         Reviewed by Dirk Schulze.
273
274         [Cairo] Better separate the concerns of GraphicsContextCairo
275         https://bugs.webkit.org/show_bug.cgi?id=55150
276
277         Add a PlatformContextCairo which right now stores the cairo_t* for a
278         GraphicsContextCairo. Later patches will move logic for tracking ContextShadow
279         and image masking layers into this PlatformContextCairo class.
280
281         No new tests. This patch is only a code cleanup.
282
283         * GNUmakefile.am:
284         * platform/graphics/GraphicsContext.h: The platform context is no longer a
285         cairo_t, but our new class the PlatformContextCairo.
286         * platform/graphics/cairo/ContextShadowCairo.cpp: Updated to reflect new class.j
287         * platform/graphics/cairo/FontCairo.cpp: Ditto.
288         * platform/graphics/cairo/GradientCairo.cpp: Ditto.
289         * platform/graphics/cairo/GraphicsContextCairo.cpp: Mostly mechanical
290         changes which now reference platformContext()->cr() to get the cairo_t.
291         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Now hold the
292         PlatformContextCairo instead of the cairo_t.
293         * platform/graphics/cairo/ImageBufferCairo.cpp: Update to reflect new class.
294         * platform/graphics/cairo/ImageCairo.cpp: Ditto.
295         * platform/graphics/cairo/PathCairo.cpp: Ditto.
296         * platform/graphics/cairo/PlatformContextCairo.cpp: Added.
297         * platform/graphics/cairo/PlatformContextCairo.h: Added.
298         * platform/graphics/gtk/FontGtk.cpp: Update to reflect new class.
299         * platform/graphics/gtk/IconGtk.cpp: Ditto.
300         * platform/graphics/win/GraphicsContextCairoWin.cpp: Now fill out
301         m_data with a private section containing the platform context instead of
302         just a cairo_t.
303         * platform/gtk/RenderThemeGtk.cpp: Update to reflect new class.
304         * platform/gtk/WidgetRenderingContext.cpp: Ditto.
305         (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Ditto.
306         * plugins/gtk/PluginViewGtk.cpp: Ditto.
307
308 2011-03-30  Patrick Gansterer  <paroga@webkit.org>
309
310         Unreviewed WinCE build fix for r82465.
311
312         * CMakeListsWinCE.txt:
313
314 2011-03-30  Steve Falkenburg  <sfalken@apple.com>
315
316         Reviewed by Adam Roben.
317
318         Update Windows production build logic for new production configurations
319         https://bugs.webkit.org/show_bug.cgi?id=57494
320
321         * WebCore.vcproj/QTMovieWinProduction.vsprops:
322         * WebCore.vcproj/WebCore.make:
323         * WebCore.vcproj/WebCoreProduction.vsprops:
324
325 2011-03-30  Sam Weinig  <sam@webkit.org>
326
327         Reviewed by Brady Eidson.
328
329         WebKit2: Attempting to view css file from url causes it to download
330         <rdar://problem/9102611>
331         https://bugs.webkit.org/show_bug.cgi?id=57501
332
333         * WebCore.exp.in:
334         * platform/MIMETypeRegistry.cpp:
335         (WebCore::initializeUnsupportedTextMIMETypes):
336         (WebCore::initializeMIMETypeRegistry):
337         (WebCore::MIMETypeRegistry::isUnsupportedTextMIMEType):
338         (WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes):
339         * platform/MIMETypeRegistry.h:
340         Add set of unsupported text MIME types, taken from WebKit/mac.
341
342 2011-03-30  Brian Weinstein  <bweinstein@apple.com>
343
344         Reviewed by Darin Adler.
345         
346         Crash when closing "Add Bookmark" dialog using the Enter Key
347         https://bugs.webkit.org/show_bug.cgi?id=57294
348         <rdar://problem/9044756>
349
350         Protect the FrameView in EventHandler::keyEvent, like we do in other EventHandler
351         functions that could destroy the frame.
352
353         * page/EventHandler.cpp:
354         (WebCore::EventHandler::keyEvent):
355
356 2011-03-30  Sheriff Bot  <webkit.review.bot@gmail.com>
357
358         Unreviewed, rolling out r82463.
359         http://trac.webkit.org/changeset/82463
360         https://bugs.webkit.org/show_bug.cgi?id=57482
361
362         Assertion failure in Node::rendererIsEditable on multiple
363         editing tests (Requested by aroben|meeting on #webkit).
364
365         * css/CSSParser.cpp:
366         (WebCore::CSSParser::parseValue):
367         * css/CSSPrimitiveValueMappings.h:
368         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
369         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
370         * css/CSSValueKeywords.in:
371         * rendering/style/RenderStyle.h:
372         * rendering/style/RenderStyleConstants.h:
373
374 2011-03-24  Luiz Agostini  <luiz.agostini@openbossa.org>
375
376         Reviewed by Kenneth Rohde Christiansen.
377
378         [Qt] QNetworkReplyHandler refactoring: signal sequence.
379         https://bugs.webkit.org/show_bug.cgi?id=57049
380
381         This is the first step in QNetworkReplyHandler. The main objective here is to create simple invariants:
382
383             1 - that the signals metadatachanged, readyRead and finished will come in this order.
384             2 - that signals metadatachanged and finished will be called exactly once.
385
386         Having these invariants further simplifications will be possible and will come in future patches.
387
388         Class QNetworkReplyWrapper was created to handle QNetworkReply object. To connect to the signals of it
389         instead of connecting to the signals of QNetworkReply is what guarantees the sequence of the signals.
390         QNetworkReplyWrapper will be used in future to perform mime type sniffing before sending
391         metadatachanged signal.
392
393         * platform/network/qt/QNetworkReplyHandler.cpp:
394         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
395         (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
396         (WebCore::QNetworkReplyWrapper::release):
397         (WebCore::QNetworkReplyWrapper::resetConnections):
398         (WebCore::QNetworkReplyWrapper::receiveMetaData):
399         (WebCore::QNetworkReplyWrapper::didReceiveFinished):
400         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
401         (WebCore::QNetworkReplyHandler::resetState):
402         (WebCore::QNetworkReplyHandler::release):
403         (WebCore::QNetworkReplyHandler::finish):
404         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
405         (WebCore::QNetworkReplyHandler::redirect):
406         (WebCore::QNetworkReplyHandler::forwardData):
407         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
408         (WebCore::QNetworkReplyHandler::start):
409         * platform/network/qt/QNetworkReplyHandler.h:
410         (WebCore::QNetworkReplyWrapper::reply):
411         (WebCore::QNetworkReplyWrapper::redirectionTargetUrl):
412         (WebCore::QNetworkReplyWrapper::encoding):
413         (WebCore::QNetworkReplyWrapper::advertisedMimeType):
414         (WebCore::QNetworkReplyHandler::reply):
415
416 2011-03-30  Steve Falkenburg  <sfalken@apple.com>
417
418         Reviewed by Adam Roben.
419
420         Rename Windows configuration Release_LTCG to Production for clarity
421         https://bugs.webkit.org/show_bug.cgi?id=57465
422
423         * WebCore.vcproj/QTMovieWin.vcproj:
424         * WebCore.vcproj/QTMovieWinProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops.
425         * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Removed.
426         * WebCore.vcproj/WebCore.sln:
427         * WebCore.vcproj/WebCore.submit.sln:
428         * WebCore.vcproj/WebCore.vcproj:
429         * WebCore.vcproj/WebCoreGenerated.vcproj:
430         * WebCore.vcproj/WebCoreProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/WebCoreReleaseLTCG.vsprops.
431         * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Removed.
432
433 2011-03-30  Brian Weinstein  <bweinstein@apple.com>
434
435         Reviewed by Anders Carlsson.
436         
437         ASSERT(cookieStorageAdapter) when calling stopObservingCookieChanges after WebProcess has crashed
438         https://bugs.webkit.org/show_bug.cgi?id=57477
439         <rdar://problem/9178751>
440         
441         If someone has called startObservingCookieChanges, and the WebProcess crashes and restarts, the UIProcess
442         will call stopObservingCookieChanges when cookieStorageAdapter is nil.
443         
444         The assert is wrong when the web process crashes, and there is no harm in dispatching a message to nil,
445         so remove the assert.
446         
447         * platform/network/mac/CookieStorageMac.mm:
448         (WebCore::stopObservingCookieChanges):
449
450 2011-03-30  Sam Weinig  <sam@webkit.org>
451
452         Fix Leopard build.
453
454         * platform/DefaultLocalizationStrategy.cpp:
455         (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
456
457 2011-03-30  Sam Weinig  <sam@webkit.org>
458
459         Reviewed by Anders Carlsson.
460
461         Add default localization strategy that can be shared by WebKit1 and WebKit2
462         https://bugs.webkit.org/show_bug.cgi?id=57406
463
464         Currently, only WebKit2 uses this default strategy, but WebKit1 should be able
465         to adopt it soon.
466
467         * platform/DefaultLocalizationStrategy.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp.
468         (WebCore::DefaultLocalizationStrategy::DefaultLocalizationStrategy):
469         * platform/DefaultLocalizationStrategy.h: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h.
470         Copy the implementation of the Localization strategy from WebKit2 into a shared default strategy.
471
472         * platform/LocalizedStrings.cpp:
473         (WebCore::localizedString):
474         Add default implementation of localization bottleneck function.
475
476         * platform/LocalizedStrings.h:
477         Add localization macros here, instead of defining them in the above layer.
478
479         * platform/PlatformStrategies.cpp:
480         (WebCore::PlatformStrategies::createLocalizationStrategy):
481         * platform/PlatformStrategies.h:
482         Add default implementation of strategy creation function which creates the default strategy.
483
484         * platform/win/LocalizedStringsWin.cpp: Copied from Source/WebCore/platform/mac/LocalizedStringsMac.mm.
485         (WebCore::localizedString):
486         Add stub for windows, this will be update to pull from the bundle in a follow up patch.
487
488         * Android.mk:
489         * CMakeLists.txt:
490         * GNUmakefile.am:
491         * WebCore.exp.in:
492         * WebCore.gypi:
493         * WebCore.pro:
494         * WebCore.vcproj/WebCore.vcproj:
495         * WebCore.xcodeproj/project.pbxproj:
496         Add new files.
497
498 2011-03-30  Andras Becsi  <abecsi@webkit.org>
499
500         Reviewed by Darin Adler.
501
502         CSS: Slow parsing of rgb() with percent values
503         https://bugs.webkit.org/show_bug.cgi?id=16708
504
505         Implement fast-path parsing for percentage color values.
506
507         Gain ~30% speedup on  http://canvex.lazyilluminati.com/misc/3d.html
508
509         Relanding with rounding fix after it was rolled out in r82315.
510
511         * css/CSSParser.cpp:
512         (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double.
513         (WebCore::parseDouble): Function for parsing double values if they are valid.
514         (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values.
515         (WebCore::parseAlphaValue): Use the new functions.
516         (WebCore::CSSParser::parseColor): Ditto.
517
518 2011-03-30  Ofri Wolfus  <ofri@dhcp-172-28-40-178.tlv.corp.google.com>
519
520         Reviewed by Eric Seidel.
521
522         Add support for parsing unicode-bidi: -webkit-plaintext.
523         https://bugs.webkit.org/show_bug.cgi?id=57457
524
525         Test: css3/unicode-bidi-plaintext-parse.html
526
527         * css/CSSParser.cpp:
528         (WebCore::CSSParser::parseValue):
529         * css/CSSPrimitiveValueMappings.h:
530         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
531         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
532         * css/CSSValueKeywords.in:
533         * rendering/style/RenderStyle.h:
534         * rendering/style/RenderStyleConstants.h:
535
536 2011-03-30  Andreas Kling  <kling@webkit.org>
537
538         Reviewed by Benjamin Poulain.
539
540         [Qt] Remove unused variables in GraphicsContext::fillRect()
541
542         * platform/graphics/qt/GraphicsContextQt.cpp:
543         (WebCore::GraphicsContext::fillRect):
544
545 2011-03-30  Yael Aharon  <yael.aharon@nokia.com>
546
547         Reviewed by Eric Seidel.
548
549         REGRESSION(r82419): New pixel test failure fast/box-shadow/basic-shadows.html
550         https://bugs.webkit.org/show_bug.cgi?id=57442
551
552         When checking the position of the inline iterator in the logicallyLastRun, we should not consider BR as text.
553
554         No new tests as existing test covers this case.
555
556         * rendering/RenderBlockLineLayout.cpp:
557         (WebCore::reachedEndOfTextRenderer):
558
559 2011-03-30  Mario Sanchez Prada  <msanchez@igalia.com>
560
561         Reviewed by Chris Fleizach.
562
563         AX: GTK: ARIA role is not respected on <p> <label> <div> and <form>
564         https://bugs.webkit.org/show_bug.cgi?id=47636
565
566         Define new roles in WebCore and map them to ATK accordingly.
567
568         Test: platform/gtk/accessibility/aria-roles-unignored.html
569
570         * accessibility/AccessibilityObject.h: Added new roles to
571         represent paragraphs, labels, forms and div sections.
572         * accessibility/AccessibilityRenderObject.cpp:
573         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
574         Return ParagraphRole, LabelRole, FormRole and DivRole when needed
575         for the GTK platform only.
576         * accessibility/gtk/AccessibilityObjectAtk.cpp:
577         (WebCore::AccessibilityObject::allowsTextRanges): Consider the new
578         roles now that those kind of nodes won't return true to isGroup().
579         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
580         (atkRole): Map new WebCore roles to ATK Roles.
581         (webkit_accessible_get_role): Remove code to define roles for
582         paragraphs, labels, forms and divs based on node's tag name.
583
584         Update mappings for the Mac platform.
585
586         * accessibility/mac/AccessibilityObjectWrapper.mm:
587         (createAccessibilityRoleMap): Add explicit mappings from the new
588         roles introduced to NSAccessibilityGroupRole.
589
590 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
591
592         Unreviewed. Build fix for Efl and Qt Win.
593
594         * inspector/PageDebuggerAgent.cpp: removed ENABLE(WORKERS) guard from code that has nothing to do with workers.
595
596 2011-03-30  Andrey Kosyakov  <caseq@chromium.org>
597
598         Reviewed by Pavel Feldman.
599
600         Web Inspector: audit run never completes, fails in DOMAgent.js
601         https://bugs.webkit.org/show_bug.cgi?id=57349
602
603         - assure document is present before calling DOMAgent.querySelectAll()
604
605         * inspector/front-end/AuditRules.js:
606         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
607
608 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
609
610         Unreviewed. Build fix.
611
612         * UseJSC.cmake: fix typo PageDebugServer -> PageScriptDebugServer
613
614 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
615
616         Reviewed by Pavel Feldman.
617
618         Web Inspector: split debugger agent into Page and Worker-specific ones
619         https://bugs.webkit.org/show_bug.cgi?id=57345
620
621         ScriptDebugServer and InspectorDebuggerAgent contain only functionality common
622         for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer
623         and Page/WorkerDebuggerAgent.
624
625         * CMakeLists.txt:
626         * GNUmakefile.am:
627         * UseJSC.cmake:
628         * WebCore.gypi:
629         * WebCore.pro:
630         * WebCore.vcproj/WebCore.vcproj:
631         * WebCore.xcodeproj/project.pbxproj:
632         * bindings/js/JSBindingsAllInOne.cpp:
633         * bindings/js/JSInjectedScriptHostCustom.cpp:
634         (WebCore::JSInjectedScriptHost::currentCallFrame):
635         * bindings/js/PageScriptDebugServer.cpp: Added.
636         (WebCore::toPage):
637         (WebCore::PageScriptDebugServer::shared):
638         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
639         (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
640         (WebCore::PageScriptDebugServer::addListener):
641         (WebCore::PageScriptDebugServer::removeListener):
642         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
643         (WebCore::PageScriptDebugServer::getListenersForGlobalObject):
644         (WebCore::PageScriptDebugServer::didPause):
645         (WebCore::PageScriptDebugServer::didContinue):
646         (WebCore::PageScriptDebugServer::didRemoveLastListener):
647         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
648         * bindings/js/PageScriptDebugServer.h: Added.
649         * bindings/js/ScriptDebugServer.cpp:
650         (WebCore::ScriptDebugServer::ScriptDebugServer):
651         (WebCore::ScriptDebugServer::sourceParsed):
652         (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
653         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
654         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
655         (WebCore::ScriptDebugServer::pauseIfNeeded):
656         * bindings/js/ScriptDebugServer.h:
657         * bindings/js/WorkerScriptDebugServer.cpp: Added.
658         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
659         (WebCore::WorkerScriptDebugServer::addListener):
660         (WebCore::WorkerScriptDebugServer::removeListener):
661         * bindings/js/WorkerScriptDebugServer.h: Added.
662         (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
663         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
664         (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
665         (WebCore::WorkerScriptDebugServer::didPause):
666         (WebCore::WorkerScriptDebugServer::didContinue):
667         * bindings/v8/PageScriptDebugServer.cpp: Added.
668         (WebCore::retrieveFrame):
669         (WebCore::PageScriptDebugServer::shared):
670         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
671         (WebCore::PageScriptDebugServer::addListener):
672         (WebCore::PageScriptDebugServer::removeListener):
673         (WebCore::PageScriptDebugServer::setClientMessageLoop):
674         (WebCore::PageScriptDebugServer::getDebugListenerForContext):
675         (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
676         (WebCore::PageScriptDebugServer::quitMessageLoopOnPause):
677         * bindings/v8/PageScriptDebugServer.h: Added.
678         (WebCore::PageScriptDebugServer::setEnabled):
679         (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
680         (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
681         * bindings/v8/ScriptDebugServer.cpp:
682         (WebCore::ScriptDebugServer::ScriptDebugServer):
683         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
684         (WebCore::ScriptDebugServer::breakProgram):
685         (WebCore::ScriptDebugServer::continueProgram):
686         (WebCore::ScriptDebugServer::stepIntoStatement):
687         (WebCore::ScriptDebugServer::stepOverStatement):
688         (WebCore::ScriptDebugServer::stepOutOfFunction):
689         (WebCore::ScriptDebugServer::editScriptSource):
690         (WebCore::toScriptDebugServer):
691         (WebCore::ScriptDebugServer::breakProgramCallback):
692         (WebCore::ScriptDebugServer::v8DebugEventCallback):
693         (WebCore::ScriptDebugServer::handleV8DebugEvent):
694         (WebCore::ScriptDebugServer::isPaused):
695         * bindings/v8/ScriptDebugServer.h:
696         * bindings/v8/WorkerScriptDebugServer.cpp: Added.
697         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
698         (WebCore::WorkerScriptDebugServer::addListener):
699         (WebCore::WorkerScriptDebugServer::removeListener):
700         * bindings/v8/WorkerScriptDebugServer.h: Added.
701         (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
702         (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
703         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
704         (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
705         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
706         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
707         * inspector/InjectedScriptHost.h:
708         (WebCore::InjectedScriptHost::init):
709         (WebCore::InjectedScriptHost::debuggerAgent):
710         * inspector/InspectorAgent.cpp:
711         (WebCore::InspectorAgent::InspectorAgent):
712         * inspector/InspectorDebuggerAgent.cpp:
713         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
714         (WebCore::InspectorDebuggerAgent::enable):
715         (WebCore::InspectorDebuggerAgent::disable):
716         (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
717         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
718         (WebCore::InspectorDebuggerAgent::continueToLocation):
719         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
720         (WebCore::InspectorDebuggerAgent::editScriptSource):
721         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
722         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
723         (WebCore::InspectorDebuggerAgent::resume):
724         (WebCore::InspectorDebuggerAgent::stepOver):
725         (WebCore::InspectorDebuggerAgent::stepInto):
726         (WebCore::InspectorDebuggerAgent::stepOut):
727         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
728         (WebCore::InspectorDebuggerAgent::didPause):
729         (WebCore::InspectorDebuggerAgent::breakProgram):
730         * inspector/InspectorDebuggerAgent.h:
731         * inspector/InspectorProfilerAgent.cpp:
732         (WebCore::InspectorProfilerAgent::disable):
733         (WebCore::InspectorProfilerAgent::enable):
734         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
735         * inspector/PageDebuggerAgent.cpp: Added.
736         (WebCore::PageDebuggerAgent::create):
737         (WebCore::PageDebuggerAgent::PageDebuggerAgent):
738         (WebCore::PageDebuggerAgent::~PageDebuggerAgent):
739         (WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
740         (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
741         (WebCore::PageDebuggerAgent::scriptDebugServer):
742         * inspector/PageDebuggerAgent.h: Added.
743         * inspector/WorkerDebuggerAgent.cpp: Added.
744         (WebCore::WorkerDebuggerAgent::create):
745         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
746         (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
747         (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
748         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
749         (WebCore::WorkerDebuggerAgent::scriptDebugServer):
750         * inspector/WorkerDebuggerAgent.h: Added.
751
752 2011-03-30  Levi Weintraub  <leviw@chromium.org>
753
754         Reviewed by Ryosuke Niwa.
755
756         Clicking below last line of right-to-left editable text that puts caret in the wrong place
757         https://bugs.webkit.org/show_bug.cgi?id=38087
758
759         Moving getLogical[Start/End]BoxWithNode to RootInlineBox and using it in positionForPointWithInlineChildren
760         instead of lastLeafChild, which wasn't correct in the RTL case.
761
762         Test: editing/selection/click-below-rtl-text.html
763
764         * editing/visible_units.cpp:
765         (WebCore::logicalStartPositionForLine): Moved to RootInlineBox.
766         (WebCore::logicalEndPositionForLine): Ditto.
767         * editing/visible_units.h:
768         * rendering/RenderBlock.cpp:
769         (WebCore::RenderBlock::positionForPointWithInlineChildren): Useing getLogicalEndBoxWithNode instead
770         of lastLeafChild.
771         * rendering/RootInlineBox.cpp:
772         (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Moved and refactored.
773         (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
774         * rendering/RootInlineBox.h:
775
776 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
777
778         Unreviewed. Rollout r82438 and r82436.
779
780         * CMakeLists.txt:
781         * GNUmakefile.am:
782         * UseJSC.cmake:
783         * WebCore.gypi:
784         * WebCore.pro:
785         * WebCore.vcproj/WebCore.vcproj:
786         * WebCore.xcodeproj/project.pbxproj:
787         * bindings/js/JSBindingsAllInOne.cpp:
788         * bindings/js/JSInjectedScriptHostCustom.cpp:
789         (WebCore::JSInjectedScriptHost::currentCallFrame):
790         * bindings/js/PageScriptDebugServer.cpp: Removed.
791         * bindings/js/PageScriptDebugServer.h: Removed.
792         * bindings/js/ScriptDebugServer.cpp:
793         (WebCore::ScriptDebugServer::shared):
794         (WebCore::ScriptDebugServer::ScriptDebugServer):
795         (WebCore::ScriptDebugServer::addListener):
796         (WebCore::ScriptDebugServer::removeListener):
797         (WebCore::ScriptDebugServer::hasListenersInterestedInPage):
798         (WebCore::toPage):
799         (WebCore::ScriptDebugServer::sourceParsed):
800         (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
801         (WebCore::ScriptDebugServer::setJavaScriptPaused):
802         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
803         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
804         (WebCore::ScriptDebugServer::pauseIfNeeded):
805         (WebCore::ScriptDebugServer::recompileAllJSFunctions):
806         (WebCore::ScriptDebugServer::didAddListener):
807         (WebCore::ScriptDebugServer::didRemoveListener):
808         * bindings/js/ScriptDebugServer.h:
809         * bindings/js/WorkerScriptDebugServer.cpp: Removed.
810         * bindings/js/WorkerScriptDebugServer.h: Removed.
811         * bindings/v8/PageScriptDebugServer.cpp: Removed.
812         * bindings/v8/PageScriptDebugServer.h: Removed.
813         * bindings/v8/ScriptDebugServer.cpp:
814         (WebCore::retrieveFrame):
815         (WebCore::ScriptDebugServer::shared):
816         (WebCore::ScriptDebugServer::ScriptDebugServer):
817         (WebCore::ScriptDebugServer::addListener):
818         (WebCore::ScriptDebugServer::removeListener):
819         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
820         (WebCore::ScriptDebugServer::breakProgram):
821         (WebCore::ScriptDebugServer::continueProgram):
822         (WebCore::ScriptDebugServer::stepIntoStatement):
823         (WebCore::ScriptDebugServer::stepOverStatement):
824         (WebCore::ScriptDebugServer::stepOutOfFunction):
825         (WebCore::ScriptDebugServer::editScriptSource):
826         (WebCore::ScriptDebugServer::setEnabled):
827         (WebCore::ScriptDebugServer::breakProgramCallback):
828         (WebCore::ScriptDebugServer::v8DebugEventCallback):
829         (WebCore::ScriptDebugServer::handleV8DebugEvent):
830         (WebCore::ScriptDebugServer::didResume):
831         * bindings/v8/ScriptDebugServer.h:
832         (WebCore::ScriptDebugServer::pageCreated):
833         (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
834         (WebCore::ScriptDebugServer::setClientMessageLoop):
835         * bindings/v8/WorkerScriptDebugServer.cpp: Removed.
836         * bindings/v8/WorkerScriptDebugServer.h: Removed.
837         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
838         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
839         * inspector/InjectedScriptHost.h:
840         (WebCore::InjectedScriptHost::init):
841         * inspector/InspectorAgent.cpp:
842         (WebCore::InspectorAgent::InspectorAgent):
843         * inspector/InspectorDebuggerAgent.cpp:
844         (WebCore::InspectorDebuggerAgent::create):
845         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
846         (WebCore::InspectorDebuggerAgent::enable):
847         (WebCore::InspectorDebuggerAgent::disable):
848         (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
849         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
850         (WebCore::InspectorDebuggerAgent::continueToLocation):
851         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
852         (WebCore::InspectorDebuggerAgent::editScriptSource):
853         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
854         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
855         (WebCore::InspectorDebuggerAgent::resume):
856         (WebCore::InspectorDebuggerAgent::stepOver):
857         (WebCore::InspectorDebuggerAgent::stepInto):
858         (WebCore::InspectorDebuggerAgent::stepOut):
859         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
860         (WebCore::InspectorDebuggerAgent::didPause):
861         (WebCore::InspectorDebuggerAgent::breakProgram):
862         * inspector/InspectorDebuggerAgent.h:
863         * inspector/InspectorProfilerAgent.cpp:
864         (WebCore::InspectorProfilerAgent::disable):
865         (WebCore::InspectorProfilerAgent::enable):
866         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
867         * inspector/PageDebuggerAgent.cpp: Removed.
868         * inspector/PageDebuggerAgent.h: Removed.
869         * inspector/WorkerDebuggerAgent.cpp: Removed.
870         * inspector/WorkerDebuggerAgent.h: Removed.
871
872 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
873
874         Unreviewed. Fix compilation on Windows and EFL.
875
876         * CMakeLists.txt:
877         * bindings/js/JSBindingsAllInOne.cpp:
878
879 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
880
881         Reviewed by Pavel Feldman.
882
883         Web Inspector: split debugger agent into Page and Worker-specific ones
884         https://bugs.webkit.org/show_bug.cgi?id=57345
885
886         ScriptDebugServer and InspectorDebuggerAgent contain only functionality common
887         for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer
888         and Page/WorkerDebuggerAgent.
889
890         * GNUmakefile.am:
891         * UseJSC.cmake:
892         * WebCore.gypi:
893         * WebCore.pro:
894         * WebCore.vcproj/WebCore.vcproj:
895         * WebCore.xcodeproj/project.pbxproj:
896         * bindings/js/JSInjectedScriptHostCustom.cpp:
897         (WebCore::JSInjectedScriptHost::currentCallFrame):
898         * bindings/js/PageScriptDebugServer.cpp: Added.
899         (WebCore::toPage):
900         (WebCore::PageScriptDebugServer::shared):
901         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
902         (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
903         (WebCore::PageScriptDebugServer::addListener):
904         (WebCore::PageScriptDebugServer::removeListener):
905         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
906         (WebCore::PageScriptDebugServer::getListenersForGlobalObject):
907         (WebCore::PageScriptDebugServer::didPause):
908         (WebCore::PageScriptDebugServer::didContinue):
909         (WebCore::PageScriptDebugServer::didRemoveLastListener):
910         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
911         * bindings/js/PageScriptDebugServer.h: Added.
912         * bindings/js/ScriptDebugServer.cpp:
913         (WebCore::ScriptDebugServer::ScriptDebugServer):
914         (WebCore::ScriptDebugServer::sourceParsed):
915         (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
916         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
917         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
918         (WebCore::ScriptDebugServer::pauseIfNeeded):
919         * bindings/js/ScriptDebugServer.h:
920         * bindings/js/WorkerScriptDebugServer.cpp: Added.
921         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
922         (WebCore::WorkerScriptDebugServer::addListener):
923         (WebCore::WorkerScriptDebugServer::removeListener):
924         * bindings/js/WorkerScriptDebugServer.h: Added.
925         (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
926         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
927         (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
928         (WebCore::WorkerScriptDebugServer::didPause):
929         (WebCore::WorkerScriptDebugServer::didContinue):
930         * bindings/v8/PageScriptDebugServer.cpp: Added.
931         (WebCore::retrieveFrame):
932         (WebCore::PageScriptDebugServer::shared):
933         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
934         (WebCore::PageScriptDebugServer::addListener):
935         (WebCore::PageScriptDebugServer::removeListener):
936         (WebCore::PageScriptDebugServer::setClientMessageLoop):
937         (WebCore::PageScriptDebugServer::getDebugListenerForContext):
938         (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
939         (WebCore::PageScriptDebugServer::quitMessageLoopOnPause):
940         * bindings/v8/PageScriptDebugServer.h: Added.
941         (WebCore::PageScriptDebugServer::setEnabled):
942         (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
943         (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
944         * bindings/v8/ScriptDebugServer.cpp:
945         (WebCore::ScriptDebugServer::ScriptDebugServer):
946         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
947         (WebCore::ScriptDebugServer::breakProgram):
948         (WebCore::ScriptDebugServer::continueProgram):
949         (WebCore::ScriptDebugServer::stepIntoStatement):
950         (WebCore::ScriptDebugServer::stepOverStatement):
951         (WebCore::ScriptDebugServer::stepOutOfFunction):
952         (WebCore::ScriptDebugServer::editScriptSource):
953         (WebCore::toScriptDebugServer):
954         (WebCore::ScriptDebugServer::breakProgramCallback):
955         (WebCore::ScriptDebugServer::v8DebugEventCallback):
956         (WebCore::ScriptDebugServer::handleV8DebugEvent):
957         (WebCore::ScriptDebugServer::isPaused):
958         * bindings/v8/ScriptDebugServer.h:
959         * bindings/v8/WorkerScriptDebugServer.cpp: Added.
960         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
961         (WebCore::WorkerScriptDebugServer::addListener):
962         (WebCore::WorkerScriptDebugServer::removeListener):
963         * bindings/v8/WorkerScriptDebugServer.h: Added.
964         (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
965         (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
966         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
967         (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
968         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
969         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
970         * inspector/InjectedScriptHost.h:
971         (WebCore::InjectedScriptHost::init):
972         (WebCore::InjectedScriptHost::debuggerAgent):
973         * inspector/InspectorAgent.cpp:
974         (WebCore::InspectorAgent::InspectorAgent):
975         * inspector/InspectorDebuggerAgent.cpp:
976         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
977         (WebCore::InspectorDebuggerAgent::enable):
978         (WebCore::InspectorDebuggerAgent::disable):
979         (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
980         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
981         (WebCore::InspectorDebuggerAgent::continueToLocation):
982         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
983         (WebCore::InspectorDebuggerAgent::editScriptSource):
984         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
985         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
986         (WebCore::InspectorDebuggerAgent::resume):
987         (WebCore::InspectorDebuggerAgent::stepOver):
988         (WebCore::InspectorDebuggerAgent::stepInto):
989         (WebCore::InspectorDebuggerAgent::stepOut):
990         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
991         (WebCore::InspectorDebuggerAgent::didPause):
992         (WebCore::InspectorDebuggerAgent::breakProgram):
993         * inspector/InspectorDebuggerAgent.h:
994         * inspector/InspectorProfilerAgent.cpp:
995         (WebCore::InspectorProfilerAgent::disable):
996         (WebCore::InspectorProfilerAgent::enable):
997         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
998         * inspector/PageDebuggerAgent.cpp: Added.
999         (WebCore::PageDebuggerAgent::create):
1000         (WebCore::PageDebuggerAgent::PageDebuggerAgent):
1001         (WebCore::PageDebuggerAgent::~PageDebuggerAgent):
1002         (WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
1003         (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
1004         (WebCore::PageDebuggerAgent::scriptDebugServer):
1005         * inspector/PageDebuggerAgent.h: Added.
1006         * inspector/WorkerDebuggerAgent.cpp: Added.
1007         (WebCore::WorkerDebuggerAgent::create):
1008         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
1009         (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
1010         (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
1011         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
1012         (WebCore::WorkerDebuggerAgent::scriptDebugServer):
1013         * inspector/WorkerDebuggerAgent.h: Added.
1014
1015 2011-03-30  Alexander Pavlov  <apavlov@chromium.org>
1016
1017         Reviewed by Pavel Feldman.
1018
1019         Web Inspector: Make the getStylesForNode result "styleAttributes" value an array rather than a map
1020         https://bugs.webkit.org/show_bug.cgi?id=57440
1021
1022         * inspector/InspectorCSSAgent.cpp:
1023         (WebCore::InspectorCSSAgent::getStylesForNode):
1024         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
1025         * inspector/InspectorCSSAgent.h:
1026         * inspector/front-end/CSSStyleModel.js:
1027         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1028
1029 2011-03-30  Evan Martin  <evan@chromium.org>
1030
1031         Reviewed by Ryosuke Niwa.
1032
1033         Fix a last-second ASSERT in previous change that was wrong.
1034
1035         * dom/Document.cpp:
1036         (WebCore::Document::setTitle):
1037
1038 2011-03-30  Levi Weintraub  <leviw@chromium.org>
1039
1040         Reviewed by Eric Seidel.
1041
1042         RTL:  Directionality always reset on hard line break
1043         https://bugs.webkit.org/show_bug.cgi?id=23124
1044
1045         No longer clearing all BidiContexts when we hit a hard line break.
1046         Instead, directionality applied by DOM elements is preserved by
1047         reconstructing the context stack ignoring those that didn't come
1048         from the DOM.
1049
1050         Test: fast/text/international/bidi-br-as-paragraph-separator.html
1051
1052         * platform/text/BidiContext.cpp:
1053         (WebCore::BidiContext::createUncached):
1054         (WebCore::BidiContext::create):
1055         (WebCore::copyContextAndRebaselineLevel): Helper to make a copy of a context
1056         and recalculate its bidi level.
1057         (WebCore::BidiContext::copyStackRemovingUnicodeEmbeddingContexts): Returns the top of
1058         a BidiContext stack that's equivalent but without contexts from Unicode directional
1059         characters.
1060         (WebCore::operator==): Now takes into account embedding source.
1061         * platform/text/BidiContext.h:
1062         (WebCore::BidiContext::source): Enum to specify whether an embedded
1063         bidirectional control came from the DOM/Style or Unicode characters
1064         (WebCore::BidiContext::BidiContext):
1065         * platform/text/BidiResolver.h:
1066         (WebCore::BidiEmbedding::BidiEmbedding): An embedding is now a direction
1067         and a hint about where it came from so we can differentiate DOM directions
1068         from unicode direction control characters.
1069         (WebCore::BidiEmbedding::direction):
1070         (WebCore::BidiEmbedding::source):
1071         (WebCore::::embed): Now takes a source as well as a direction.
1072         (WebCore::::commitExplicitEmbedding):
1073         (WebCore::::createBidiRunsForLine):
1074         * rendering/InlineIterator.h:
1075         (WebCore::bidiNext):
1076         (WebCore::bidiFirst):
1077         * rendering/RenderBlockLineLayout.cpp:
1078         (WebCore::RenderBlock::determineStartPosition):
1079
1080 2011-03-30  Steve Block  <steveblock@google.com>
1081
1082         Reviewed by Jeremy Orlow.
1083
1084         JavaMethod should not expose JavaString in its API
1085         https://bugs.webkit.org/show_bug.cgi?id=55765
1086
1087         - Factors out a JavaMethod interface which does not use JNI types.
1088           This will allow the Java bridge to be used with objects that
1089           don't use JNI directly. The existing jobject-backed
1090           implementation is moved to a new JavaMethodJobject class which
1091           implements the interface.
1092         - Use WTF::String in place of JavaString in the API, as JavaString
1093           exposes JNI types in its interface.
1094         - Remove the method ID as it uses JNI types.
1095
1096         No new tests, refactoring only.
1097
1098         * Android.jscbindings.mk:
1099         * Android.v8bindings.mk:
1100         * GNUmakefile.am:
1101         * WebCore.gypi:
1102         * WebCore.xcodeproj/project.pbxproj:
1103         * bridge/jni/JavaMethod.h:
1104         * bridge/jni/JavaMethodJobject.cpp:
1105         (JavaMethodJobject::JavaMethodJobject):
1106         (JavaMethodJobject::~JavaMethodJobject):
1107         (appendClassName):
1108         (JavaMethodJobject::signature):
1109         * bridge/jni/JavaMethodJobject.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h.
1110         (JSC::Bindings::JavaMethodJobject::name):
1111         (JSC::Bindings::JavaMethodJobject::returnTypeClassName):
1112         (JSC::Bindings::JavaMethodJobject::parameterAt):
1113         (JSC::Bindings::JavaMethodJobject::returnType):
1114         (JSC::Bindings::JavaMethodJobject::isStatic):
1115         (JSC::Bindings::JavaMethodJobject::numParameters):
1116         * bridge/jni/jsc/JavaClassJSC.cpp:
1117         (JavaClass::JavaClass):
1118         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1119         (JavaInstance::invokeMethod):
1120         * bridge/jni/v8/JavaClassV8.cpp:
1121         (JavaClass::JavaClass):
1122         * bridge/jni/v8/JavaInstanceV8.cpp:
1123         (JavaInstance::invokeMethod):
1124
1125 2011-03-30  Evan Martin  <evan@chromium.org>
1126
1127         Reviewed by Ryosuke Niwa.
1128
1129         clean up Document's handling of title changes
1130         https://bugs.webkit.org/show_bug.cgi?id=57433
1131
1132         Document::setTitle has two entry points:
1133         1) from DOM bindings, like document.title="foo"
1134         2) from title tags, like <title>foo</title> in HTML
1135
1136         Split these two code paths to make the code easier to follow.
1137         Also, replace the repeated pattern of
1138             m_rawTitle = "foo"; updateTitle();
1139         with
1140             updateTitle("foo");
1141
1142         * dom/Document.cpp:
1143         (WebCore::Document::updateTitle):
1144         (WebCore::Document::setTitle):
1145         (WebCore::Document::setTitleElement):
1146         (WebCore::Document::removeTitle):
1147         * dom/Document.h:
1148         * html/HTMLTitleElement.cpp:
1149         (WebCore::HTMLTitleElement::insertedIntoDocument):
1150         (WebCore::HTMLTitleElement::childrenChanged):
1151         * svg/SVGTitleElement.cpp:
1152         (WebCore::SVGTitleElement::insertedIntoDocument):
1153         (WebCore::SVGTitleElement::childrenChanged):
1154
1155 2011-03-30  Levi Weintraub  <leviw@chromium.org>
1156
1157         Reviewed by Ryosuke Niwa.
1158
1159         BreakBlockQuoteCommand assumes all li tags have list item renderers
1160         https://bugs.webkit.org/show_bug.cgi?id=57253
1161
1162         Checking that the renderers of li nodes are actually RenderListItems
1163         before treating them as such.
1164
1165         Test: editing/execCommand/crash-breaking-blockquote-with-list.html
1166
1167         * editing/BreakBlockquoteCommand.cpp:
1168         (WebCore::BreakBlockQuoteCommand::doApply):
1169
1170 2011-03-30  Pavel Feldman  <pfeldman@chromium.org>
1171
1172         Not reviewed: fixing typo in the inspector front-end.
1173
1174         Web Inspector: REGRESSION: Broken live edit errors handling
1175         https://bugs.webkit.org/show_bug.cgi?id=57436
1176
1177         * inspector/front-end/DebuggerModel.js:
1178         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
1179
1180 2011-03-30  Yael Aharon  <yael.aharon@nokia.com>
1181
1182         Reviewed by Eric Seidel.
1183
1184         Left/Right borders/padding/margins are not always added correctly when rendering multiline inline boxes with bidi elements
1185         https://bugs.webkit.org/show_bug.cgi?id=9272
1186
1187
1188         Also fixes https://bugs.webkit.org/show_bug.cgi?id=47210 and https://bugs.webkit.org/show_bug.cgi?id=8392.
1189
1190         Change how we decide if an InlineFlowBox is the last one for its renderer. Use the position of resolver's logicallyLastRun
1191         to decide if there is more text in the next line.
1192
1193         Tests: fast/borders/rtl-border-01.html
1194                fast/borders/rtl-border-02.html
1195                fast/borders/rtl-border-03.html
1196                fast/borders/rtl-border-04.html
1197                fast/borders/rtl-border-05.html
1198
1199         * rendering/InlineFlowBox.cpp:
1200         (WebCore::isAnsectorAndWithinBlock):
1201         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
1202         * rendering/InlineFlowBox.h:
1203         * rendering/RenderBlock.h:
1204         * rendering/RenderBlockLineLayout.cpp:
1205         (WebCore::RenderBlock::constructLine):
1206         (WebCore::reachedEndOfTextRenderer):
1207         (WebCore::RenderBlock::layoutInlineChildren):
1208
1209 2011-03-29  Nikolas Zimmermann  <nzimmermann@rim.com>
1210
1211         Reviewed by Eric Seidel.
1212
1213         REGRESSION (r68976): Incorrect bidi rendering in SVG text
1214         https://bugs.webkit.org/show_bug.cgi?id=53980
1215
1216         Deconvolute SVGTextLayoutEngine code, which was confusing due to the simultaneous processing of the rendered text
1217         in visual and logical order. Added several helper methods to make the code more readable.
1218
1219         Fix Unicode directional formatting characters support, now works as expected.
1220
1221         Test: svg/text/bidi-embedded-direction.svg
1222
1223         * editing/visible_units.cpp: Refactor getLeafBoxesInLogicalOrder(), move to InlineFlowBox.
1224         (WebCore::getLogicalStartBoxAndNode): Use new collectLeafBoxesInLogicalOrder() method in InlineFlowBox.
1225         (WebCore::getLogicalEndBoxAndNode): Ditto.
1226         * rendering/InlineFlowBox.cpp: Add new helper function, that returns a list of all leaf boxes in logical order.
1227         (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder):
1228         * rendering/InlineFlowBox.h:
1229         * rendering/svg/RenderSVGText.cpp: Actually trigger reordering the x/y/dx/dy/rotate value lists, if needed.
1230         (WebCore::RenderSVGText::RenderSVGText):
1231         (WebCore::RenderSVGText::layout):
1232         * rendering/svg/RenderSVGText.h: Ditto.
1233         (WebCore::RenderSVGText::layoutAttributes):
1234         (WebCore::RenderSVGText::needsReordering):
1235         * rendering/svg/SVGRootInlineBox.cpp: Use new InlineFlowBox::collectLeafBoxesINLogicalOrder(), with a custom "inline box reverse" implementation,
1236                                               which not only reverses the order of InlineBoxes, but also the order of the x/y/dx/dy/rotate value lists, if needed.
1237         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
1238         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
1239         (WebCore::swapItems):
1240         (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
1241         (WebCore::SVGRootInlineBox::reorderValueLists):
1242         * rendering/svg/SVGRootInlineBox.h:
1243         * rendering/svg/SVGTextLayoutAttributes.cpp: Store RenderSVGInlineText* pointer, where we belong to.
1244         (WebCore::SVGTextLayoutAttributes::SVGTextLayoutAttributes):
1245         (WebCore::SVGTextLayoutAttributes::dump):
1246         * rendering/svg/SVGTextLayoutAttributes.h:
1247         (WebCore::SVGTextLayoutAttributes::context):
1248         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Pass RenderSVGInlineText* object when creating SVGTextLayoutAttributes.
1249         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree):
1250         (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
1251         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
1252         * rendering/svg/SVGTextLayoutEngine.cpp: Rewrite & cleanup the main layout algorithm, to be less confusing.
1253         (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
1254         (WebCore::SVGTextLayoutEngine::updateRelativePositionAdjustmentsIfNeeded):
1255         (WebCore::SVGTextLayoutEngine::recordTextFragment):
1256         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
1257         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
1258         (WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics):
1259         (WebCore::SVGTextLayoutEngine::advanceToNextLogicalCharacter):
1260         (WebCore::SVGTextLayoutEngine::advanceToNextVisualCharacter):
1261         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
1262         * rendering/svg/SVGTextLayoutEngine.h:
1263
1264 2011-03-30  Ilya Tikhonovsky  <loislo@chromium.org>
1265
1266         Not reviewed trivial change.
1267
1268         Web Inspector: Remove unnecessary function arguments after r82281.
1269         https://bugs.webkit.org/show_bug.cgi?id=57327
1270
1271         * inspector/InspectorAgent.cpp:
1272         (WebCore::InspectorAgent::didCommitLoad):
1273         (WebCore::InspectorAgent::domContentLoadedEventFired):
1274         * inspector/InspectorAgent.h:
1275         * inspector/InspectorInstrumentation.cpp:
1276         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
1277         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1278
1279 2011-03-30  Kent Tamura  <tkent@chromium.org>
1280
1281         Reviewed by Ojan Vafai.
1282
1283         H1 element should have different default style if it is in HTML5 sectioning elements.
1284         https://bugs.webkit.org/show_bug.cgi?id=52693
1285
1286         Test: fast/css/h1-in-section-elements.html
1287
1288         * css/html.css: Add font-size and margin declarations to follow HTML5 specification.
1289         (:-webkit-any(article,aside,nav,section) h1):
1290         (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
1291         (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
1292         (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
1293         (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
1294
1295 2011-03-29  Beth Dakin  <bdakin@apple.com>
1296
1297         Reviewed by Maciej Stachowiak.
1298
1299         Fix for https://bugs.webkit.org/show_bug.cgi?id=57408
1300         webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard 
1301         -and corresponding-
1302         <rdar://problem/8665411>
1303
1304         * platform/mac/PlatformScreenMac.mm:
1305         (WebCore::windowScaleFactor):
1306         (WebCore::toUserSpace):
1307         (WebCore::toDeviceSpace):
1308
1309 2011-03-29  Eric Seidel  <eric@webkit.org>
1310
1311         Reviewed by Dimitri Glazkov.
1312
1313         Rename BidiResolver::eor and sor to m_eor and m_sor to match modern style
1314         https://bugs.webkit.org/show_bug.cgi?id=57369
1315
1316         I considered renaming these to m_endOfRun and m_startOfRun but decided
1317         that was too verbose for now (given how often they're used).  I suspect
1318         with a bit more refactoring we'll find they're not used very often and can be renamed
1319         if so desired.
1320
1321         * platform/text/BidiResolver.h:
1322         (WebCore::::appendRun):
1323         (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
1324         (WebCore::::lowerExplicitEmbeddingLevel):
1325         (WebCore::::raiseExplicitEmbeddingLevel):
1326         (WebCore::::createBidiRunsForLine):
1327         * rendering/InlineIterator.h:
1328         (WebCore::InlineBidiResolver::appendRun):
1329
1330 2011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
1331
1332         Reviewed by Pavel Feldman.
1333
1334         Web Inspector: [Chromium] Remove exact retained size request in detailed heap snapshots.
1335         https://bugs.webkit.org/show_bug.cgi?id=57351
1336
1337         * bindings/js/ScriptHeapSnapshot.h:
1338         * bindings/v8/ScriptHeapSnapshot.cpp:
1339         * bindings/v8/ScriptHeapSnapshot.h:
1340         * inspector/Inspector.json:
1341         * inspector/InspectorProfilerAgent.cpp:
1342         * inspector/InspectorProfilerAgent.h:
1343         * inspector/front-end/DetailedHeapshotGridNodes.js:
1344         (WebInspector.HeapSnapshotGenericObjectNode):
1345         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
1346         * inspector/front-end/DetailedHeapshotView.js:
1347         (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
1348
1349 2011-03-29  Eric Seidel  <eric@webkit.org>
1350
1351         Reviewed by Ryosuke Niwa.
1352
1353         Split more logic out from createBidiRunsForLine for readability
1354         https://bugs.webkit.org/show_bug.cgi?id=57341
1355
1356         I marked reorderRunsFromLevels inline, but it probably doesn't actually need to (or want to) be.
1357         This lops another large hunk off of reorderRunsFromLevels further reducing the size and complexity.
1358
1359         * platform/text/BidiResolver.h:
1360         (WebCore::::reorderRunsFromLevels):
1361         (WebCore::::createBidiRunsForLine):
1362
1363 2011-03-29  Kent Tamura  <tkent@chromium.org>
1364
1365         Reviewed by Dimitri Glazkov.
1366
1367         Make validation message bubble testable
1368         https://bugs.webkit.org/show_bug.cgi?id=57290
1369
1370         Introduce a setting for validation message timer so that we can configure
1371         how long we show a validation message bubble.
1372
1373         Test: fast/forms/validation-message-appearance.html
1374
1375         * html/ValidationMessage.cpp:
1376         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
1377           Don't set a timer if the timer magnification value is 0 or negative.
1378           Otherwise, hides the bubble length * magnification / 1000 seconds.
1379         * page/Settings.cpp:
1380         (WebCore::Settings::Settings): Initialize the timer magnification value.
1381         * page/Settings.h:
1382         (WebCore::Settings::setValidationMessageTimerMagnification): Added.
1383         (WebCore::Settings::validationMessageTimerMaginification): Added.
1384
1385 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
1386
1387         Remove the extraneous declaration I accidentally added in r82376.
1388
1389         * dom/MouseEvent.h: Removed createSimulated decl.
1390
1391 2011-03-29  James Robinson  <jamesr@chromium.org>
1392
1393         Reviewed by Kenneth Russell.
1394
1395         [chromium] Compositor crash with show-layer-borders flag
1396         https://bugs.webkit.org/show_bug.cgi?id=57292
1397
1398         Synchronize the debug border color/width with other properties to ensure the appropriate
1399         CCLayerImpl exists.  Code is only exercised with a debugging command line flag so no layout
1400         test.
1401
1402         * platform/graphics/chromium/LayerChromium.cpp:
1403         (WebCore::LayerChromium::pushPropertiesTo):
1404         (WebCore::LayerChromium::setBorderColor):
1405         (WebCore::LayerChromium::setBorderWidth):
1406         * platform/graphics/chromium/LayerChromium.h:
1407
1408 2011-03-29  Tony Gentilcore  <tonyg@chromium.org>
1409
1410         Reviewed by Adam Barth.
1411
1412         Teach the preload scanner about &lt;input type=image&gt;
1413         https://bugs.webkit.org/show_bug.cgi?id=57404
1414
1415         I did a very rough sample of the top 50 web pages to see how many of each
1416         HTML resource type they include:
1417         img src: 1,359
1418         script src: 276
1419         link href: 256
1420         iframe src: 104
1421         input src: 50
1422         embed src: 37
1423         @import: 13
1424         object data: 11
1425
1426         Based on this, it seems worthwhile to preload inputs and iframes (possibly embed).
1427         This patch only does inputs.
1428
1429         Test: fast/preloader/input.html
1430
1431         * html/parser/HTMLPreloadScanner.cpp:
1432         (WebCore::HTMLNames::PreloadTask::PreloadTask):
1433         (WebCore::HTMLNames::PreloadTask::processAttributes):
1434         (WebCore::HTMLNames::PreloadTask::inputTypeAttributeIsImage):
1435         (WebCore::HTMLNames::PreloadTask::preload):
1436
1437 2011-03-29  Luke Macpherson   <macpherson@chromium.org>
1438
1439         Reviewed by David Levin.
1440
1441         Improve the massive switch statement in CSSStyleSelector::applyProperty.
1442         https://bugs.webkit.org/show_bug.cgi?id=56288
1443
1444         No new tests are needed because no new functionality exposed.
1445
1446         * css/CSSStyleSelector.cpp:
1447         (WebCore::CSSStyleSelector::applyProperty):
1448         Asserted that cases implemented in the CSSStyleApplyProperty lookup table are unreachable.
1449         Updated comment.
1450
1451 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
1452
1453         Reviewed by Darin Adler.
1454
1455         Introduce SimulatedMouseEvent and teach EventDispatcher how to use it.
1456         https://bugs.webkit.org/show_bug.cgi?id=57402
1457
1458         No functional changes, covered by existing tests.
1459
1460         * dom/EventDispatcher.cpp:
1461         (WebCore::EventDispatcher::dispatchSimulatedClick): Changed to use SimulatedMouseEvent.
1462         (WebCore::EventDispatcher::dispatchMouseEvent): Combined two dispatchMouseEvent methods
1463             into one, now that simulated-click events don't need one.
1464         * dom/EventDispatcher.h: Updated decls.
1465         * dom/MouseEvent.cpp:
1466         (WebCore::SimulatedMouseEvent::create): Added.
1467         (WebCore::SimulatedMouseEvent::~SimulatedMouseEvent): Added.
1468         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent): Added.
1469         * dom/MouseEvent.h: Made constructor protected.
1470
1471 2011-03-29  Anders Carlsson  <andersca@apple.com>
1472
1473         Fix build.
1474
1475         * WebCore.exp.in:
1476
1477 2011-03-29  Steve Block  <steveblock@google.com>
1478
1479         Reviewed by Jeremy Orlow.
1480
1481         JavaInstance should not use jvalue in its API
1482         https://bugs.webkit.org/show_bug.cgi?id=57019
1483
1484         This change updates JavaInstance for V8 to use JavaValue, rather than
1485         jvalue, in its API. This will allow us to create an API for
1486         JavaInstance that is independent of JNI, to allow it to be
1487         implemented on platforms that do not use JNI directly.
1488
1489         Refactoring only, no new tests.
1490
1491         * bridge/jni/v8/JavaInstanceV8.cpp:
1492         (JavaInstance::invokeMethod):
1493         (JavaInstance::getField):
1494         * bridge/jni/v8/JavaInstanceV8.h:
1495         * bridge/jni/v8/JavaNPObjectV8.cpp:
1496         (JSC::Bindings::JavaNPObjectInvoke):
1497         (JSC::Bindings::JavaNPObjectGetProperty):
1498         * bridge/jni/v8/JavaValueV8.h:
1499
1500 2011-03-29  Eric Seidel  <eric@webkit.org>
1501
1502         Reviewed by Dimitri Glazkov.
1503
1504         Rename BidiResolver::last to m_last to match modern style
1505         https://bugs.webkit.org/show_bug.cgi?id=57367
1506
1507         * platform/text/BidiResolver.h:
1508         (WebCore::::lowerExplicitEmbeddingLevel):
1509         (WebCore::::raiseExplicitEmbeddingLevel):
1510         (WebCore::::createBidiRunsForLine):
1511
1512 2011-03-29  Justin Schuh  <jschuh@chromium.org>
1513
1514         Reviewed by Maciej Stachowiak.
1515
1516         SVGComponentTransferFunctionElement should validate type
1517         https://bugs.webkit.org/show_bug.cgi?id=56960
1518
1519         Test: svg/filters/feComponentTransfer-style-crash.xhtml
1520
1521         * svg/SVGComponentTransferFunctionElement.cpp:
1522         (WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged):
1523         * svg/SVGComponentTransferFunctionElement.h:
1524
1525 2011-03-29  Thomas Klausner  <tk@giga.or.at>
1526
1527         Reviewed by David Levin.
1528
1529         png-1.5 fixes
1530         https://bugs.webkit.org/show_bug.cgi?id=54406
1531
1532         Fix compilation with png-1.5: struct members were hidden, and
1533         a new API to terminate data processing was added (especially for
1534         WebKit).
1535
1536         Compilation fixes, so no new tests.
1537
1538         * platform/image-decoders/png/PNGImageDecoder.cpp:
1539         (WebCore::PNGImageDecoder::headerAvailable):
1540         (WebCore::PNGImageDecoder::rowAvailable):
1541
1542 2011-03-29  Gavin Peters  <gavinp@chromium.org>
1543
1544         Reviewed by Tony Gentilcore.
1545
1546         Add beforeload to icon and prefetch link rel types
1547         https://bugs.webkit.org/show_bug.cgi?id=56424
1548
1549         Over in https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html , a webkit-dev
1550         thread, I've discussed my hopes for the link element, and adding the link header.  This
1551         change helps improve the link header by making it participate in the beforeload event in
1552         two more important cases.
1553
1554         Tests: fast/dom/HTMLLinkElement/prefetch-beforeload.html
1555                http/tests/misc/link-rel-icon-beforeload.html
1556                webarchive/test-link-rel-icon-beforeload.html
1557
1558         * html/HTMLLinkElement.cpp:
1559         (WebCore::HTMLLinkElement::checkBeforeLoadEvent):
1560         (WebCore::HTMLLinkElement::process):
1561         * html/HTMLLinkElement.h:
1562
1563 2011-03-29  Eric Seidel  <eric@webkit.org>
1564
1565         Reviewed by Dimitri Glazkov.
1566
1567         Rename BidiResolver::current to BidiResolver::m_current to match modern style
1568         https://bugs.webkit.org/show_bug.cgi?id=57363
1569
1570         I was very confused by current until I realized it was a member variable.
1571         I also did m_reachedEndOfLine since that was small.
1572
1573         * platform/text/BidiResolver.h:
1574         (WebCore::BidiResolver::position):
1575         (WebCore::BidiResolver::setPosition):
1576         (WebCore::BidiResolver::increment):
1577         (WebCore::::createBidiRunsForLine):
1578
1579 2011-03-29  Geoff Pike  <gpike@chromium.org>
1580
1581         Reviewed by Dimitri Glazkov.
1582
1583         In HitTestResult objects, initialize the ListHashSet<RefPtr<Node> >
1584         lazily.  In my informal testing it seems to be used hardly at all, so
1585         it's wasteful to create it eagerly.  Initializing a ListHashSet
1586         is expensive because a ListHashSet initially has space for 256
1587         elements, and that space is memset to 0.
1588
1589         This change should improve performance but have no impact on
1590         correctness.  On x86-64, for example, the change cuts the
1591         cost of HitTestResult(IntPoint()) in EventHandler::mouseMoved()
1592         from ~1700 cycles to ~300 cycles.
1593
1594         * rendering/HitTestResult.cpp:
1595         (WebCore::HitTestResult::HitTestResult): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0
1596         (WebCore::HitTestResult::operator=): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0
1597         (WebCore::HitTestResult::addNodeToRectBasedTestResult): use mutableRectBasedTestResult() rather than m_rectBasedTestResult
1598         (WebCore::HitTestResult::append): append *(other.m_rectBasedTestResult) if other.m_rectBasedTestResult isn't 0
1599         * rendering/HitTestResult.h:
1600         (WebCore::HitTestResult::rectBasedTestResult): Add a typedef for ListHashSet<RefPtr<Node> > to ease readability.  Change m_rectBasedTestResult from ListHashSet<RefPtr<Node> > to an OwnPtr of same.  Modify rectBasedTestResult() and add mutableRectBasedTestResult().
1601
1602 2011-03-29  Timothy Hatcher  <timothy@apple.com>
1603
1604         Update the order of the context menu to better match AppKit on Mac.
1605
1606         <rdar://problem/9054893>
1607
1608         Reviewed by John Sullivan.
1609
1610         * English.lproj/Localizable.strings: Updated.
1611         * page/ContextMenuController.cpp:
1612         (WebCore::ContextMenuController::populate): Update the order of items on Mac.
1613         * platform/LocalizationStrategy.h:
1614         * platform/LocalizedStrings.cpp:
1615         (WebCore::contextMenuItemTagLookUpInDictionary): Added argument for selected string.
1616         * platform/LocalizedStrings.h:
1617         * platform/android/LocalizedStringsAndroid.cpp:
1618         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
1619         * platform/brew/LocalizedStringsBrew.cpp:
1620         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
1621         * platform/efl/LocalizedStringsEfl.cpp:
1622         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
1623         * platform/gtk/LocalizedStringsGtk.cpp:
1624         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
1625         * platform/haiku/LocalizedStringsHaiku.cpp:
1626         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
1627         * platform/wx/LocalizedStringsWx.cpp:
1628         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
1629
1630 2011-03-29  Dean Jackson  <dino@apple.com>
1631
1632         Reviewed by Chris Marrin and Ken Russell.
1633
1634         https://bugs.webkit.org/show_bug.cgi?id=57248
1635         Occlusion issues with WebGL in Safari
1636
1637         The depth buffer on Safari ports was being set up with a
1638         maximum of 16 bits. Now we use a combined 24/8 depth/stencil
1639         buffer on Mac ports.
1640
1641         No new tests as this is the setting for a particular port. Other
1642         ports may use different defaults.
1643
1644         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1645         (WebCore::GraphicsContext3D::validateAttributes):
1646         - use Extensions3D to test for depth and multisample extensions
1647           rather than querying OpenGL directly.
1648         (WebCore::GraphicsContext3D::reshape):
1649         - use a 24bit depth buffer when the extension is enabled.
1650
1651 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
1652
1653         Sorted XCode project. It's gotten quite out of sorts.
1654
1655         * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
1656
1657 2011-03-29  Emil A Eklund  <eae@chromium.org>
1658
1659         Reviewed by Dimitri Glazkov.
1660
1661         DatasetDOMStringMap::item and ::contains copies attribute name string
1662         https://bugs.webkit.org/show_bug.cgi?id=55645
1663
1664         Change propertyNameMatchesAttributeName to match without creating a copy
1665         of the string.
1666
1667         * dom/DatasetDOMStringMap.cpp:
1668         (WebCore::propertyNameMatchesAttributeName):
1669
1670 2011-03-29  Csaba Osztrogonác  <ossy@webkit.org>
1671
1672         Unreviewed rollout r82282, part of r82288, r82298.
1673
1674         * css/CSSParser.cpp:
1675         (WebCore::parseColorInt):
1676         (WebCore::isValidDouble):
1677         (WebCore::parseAlphaValue):
1678         (WebCore::CSSParser::parseColor):
1679
1680 2011-03-25  Brent Fulgham  <bfulgham@webkit.org>
1681
1682         Reviewed by Dave Hyatt.
1683
1684         https://bugs.webkit.org/show_bug.cgi?id=55981
1685         Second round of clean-ups, aimed at supporting GTK with the
1686         same unified FontPlatformData header.  This version removes
1687         some unneeded WinCairo code, and aligns the WinCairo and
1688         GTK ports to reduce code duplication.
1689
1690         * WebCore.vcproj/WebCore.vcproj: Get rid of a dangling reference
1691           to an old WinCairo file.
1692         * platform/graphics/FontPlatformData.h: Remove unneeded member
1693           for m_fontFace, which is a member of m_scaledFont.  Switch to
1694           standard Cairo hashing.
1695         (WebCore::FontPlatformData::FontPlatformData):
1696         (WebCore::FontPlatformData::font):
1697         (WebCore::FontPlatformData::scaledFont):
1698         (WebCore::FontPlatformData::hash):
1699         (WebCore::FontPlatformData::isHashTableDeletedValue):
1700         (WebCore::FontPlatformData::hashTableDeletedFontValue):
1701         * platform/graphics/win/FontCacheWin.cpp: Update to no longer use
1702           the unnecessary fontFace() accessor.
1703         (WebCore::FontCache::createFontPlatformData):
1704         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
1705         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
1706         (WebCore::FontPlatformData::platformDataInit):
1707         (WebCore::FontPlatformData::FontPlatformData):
1708         (WebCore::FontPlatformData::~FontPlatformData):
1709         (WebCore::FontPlatformData::platformDataAssign):
1710         (WebCore::FontPlatformData::platformIsEqual):
1711         * platform/graphics/win/FontPlatformDataWin.cpp:
1712         (WebCore::FontPlatformData::FontPlatformData):
1713
1714 2011-03-29  Jian Li  <jianli@chromium.org>
1715
1716         Reviewed by Adam Barth.
1717
1718         Inline worker powered by blob URL does not work with files URL even if
1719         allowFileAccessFromFileURLs is enabled
1720         https://bugs.webkit.org/show_bug.cgi?id=56063
1721
1722         Test: fast/files/workers/inline-worker-via-blob-url.html
1723
1724         * fileapi/BlobURL.cpp: Removed unneeded getOrigin() method.
1725         * fileapi/BlobURL.h: Removed unneeded getOrigin() method.
1726         * page/SecurityOrigin.cpp:
1727         (WebCore::SecurityOrigin::SecurityOrigin): Extended the logic to handle
1728         filesystem URL also to blob URL. Also fixed the problem that m_isUnique
1729         is incorrectly set for blob and filesystem URLs.
1730         (WebCore::SecurityOrigin::create): Removed the special logic for blob URL
1731         since we use the same logic in SecurityOrigin constructor as filesystem
1732         URL.
1733         (WebCore::SecurityOrigin::canRequest): Removed the special logic for blob
1734         URL since it is not needed with the fix in SecurityOrigin constructor.
1735
1736 2011-03-29  Timothy Hatcher  <timothy@apple.com>
1737
1738         Update WebCore Localizable.strings to contain WebCore, WebKit/mac and WebKit2 strings.
1739
1740         https://webkit.org/b/57354
1741
1742         Reviewed by Sam Weinig.
1743
1744         * English.lproj/Localizable.strings: Updated.
1745         * StringsNotToBeLocalized.txt: Removed. To hard to maintain in WebCore.
1746         * platform/network/cf/LoaderRunLoopCF.h: Remove a single quote in an #error so
1747         extract-localizable-strings does not complain about unbalanced single quotes.
1748
1749 2011-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1750
1751         Unreviewed, rolling out r82295 and r82300.
1752         http://trac.webkit.org/changeset/82295
1753         http://trac.webkit.org/changeset/82300
1754         https://bugs.webkit.org/show_bug.cgi?id=57380
1755
1756         This patch breaks compile on Chromium (Requested by
1757         abarth|gardener on #webkit).
1758
1759         * accessibility/AccessibilityObject.h:
1760         * accessibility/AccessibilityRenderObject.cpp:
1761         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1762         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1763         (atkRole):
1764         (webkit_accessible_get_role):
1765         * accessibility/mac/AccessibilityObjectWrapper.mm:
1766
1767 2011-03-29  Anders Carlsson  <andersca@apple.com>
1768
1769         Fix clang build.
1770
1771         * platform/text/BidiResolver.h:
1772         (WebCore::::createBidiRunsForLine):
1773
1774 2011-03-29  Steve Falkenburg  <sfalken@apple.com>
1775
1776         Reviewed by Adam Roben.
1777
1778         Use per-configuration vsprops in WebCore to avoid WebKitVSPropsRedirectionDir removal by MSVC IDE
1779         https://bugs.webkit.org/show_bug.cgi?id=57378
1780
1781         Visual Studio's IDE was removing instances of $(WebKitVSPropsRedirectionDir) from
1782         InheritedPropertySheet rules in our vcproj files when the vcproj was edited from within
1783         the IDE. To avoid this, add a separate vsprops file for each project configuration that
1784         contains the required inherited property sheets.
1785
1786         * WebCore.vcproj/QTMovieWin.vcproj:
1787         * WebCore.vcproj/QTMovieWinDebug.vsprops: Added.
1788         * WebCore.vcproj/QTMovieWinDebugAll.vsprops: Added.
1789         * WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops: Added.
1790         * WebCore.vcproj/QTMovieWinRelease.vsprops: Added.
1791         * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops: Added.
1792         * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Added.
1793         * WebCore.vcproj/WebCore.vcproj:
1794         * WebCore.vcproj/WebCoreDebug.vsprops: Added.
1795         * WebCore.vcproj/WebCoreDebugAll.vsprops: Added.
1796         * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Added.
1797         * WebCore.vcproj/WebCoreRelease.vsprops: Added.
1798         * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops: Added.
1799         * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Added.
1800
1801 2011-03-29  David Hyatt  <hyatt@apple.com>
1802
1803         Reviewed by Simon Fraser.
1804
1805         <rdar://problem/9194927> REGRESSION (r81691): Page at www.mondaynote.com lays out incorrectly
1806         
1807         Back out the optimization that stopped when it hit the first float. This was an incorrect optimization
1808         and can't be done without more work.
1809
1810         Added fast/block/float/float-forced-below-other-floats.html
1811
1812         * rendering/RenderBlock.cpp:
1813         (WebCore::RenderBlock::logicalLeftOffsetForLine):
1814         (WebCore::RenderBlock::logicalRightOffsetForLine):
1815
1816 2011-03-29  Eric Seidel  <eric@webkit.org>
1817
1818         Reviewed by Ryosuke Niwa.
1819
1820         Start to clean up BidiResolver::createBidiRunsForLine so that mere mortals can understand it
1821         https://bugs.webkit.org/show_bug.cgi?id=57338
1822
1823         I'm attempting to break createBidiRunsForLine into understandable pieces
1824         so that we can tell what it's actually doing.  Our implementation of the
1825         unicode bidi algorithm is slightly different from the spec in that we
1826         run it per-line (instead of over the entire paragraph at once).  This is
1827         great for performance (our implementation is resumable), but it makes
1828         things a bit tricky to understand.  Splitting createBidiRunsForLine into
1829         pieces should help make our UBA implementation more readable.
1830
1831         * platform/text/BidiResolver.h:
1832         (WebCore::::updateStatusLastFromCurrentDirection):
1833         (WebCore::::createBidiRunsForLine):
1834
1835 2011-03-29  Mario Sanchez Prada  <msanchez@igalia.com>
1836
1837         Reviewed by Martin Robinson.
1838
1839         [Gtk] Consistent crash from Google/ARIA combobox click
1840         https://bugs.webkit.org/show_bug.cgi?id=55883
1841
1842         Do not call to firstChild() to avoid entering into infinite loops.
1843
1844         This would happen when current item is a WebCore Group and some of
1845         its children have either role 'option' or 'menuitem'. Other than
1846         that the logic behind that call to firstChild() seems to be no
1847         longer needed so it's safe to remove it.
1848
1849         Test: platform/gtk/accessibility/aria-options-and-menuitems-crash.html
1850
1851         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1852         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
1853         Remove call to firsChild, which was leading to crashes sometimes.
1854
1855 2011-03-29  Mario Sanchez Prada  <msanchez@igalia.com>
1856
1857         Reviewed by Chris Fleizach.
1858
1859         AX: GTK: ARIA role is not respected on <p> <label> <div> and <form>
1860         https://bugs.webkit.org/show_bug.cgi?id=47636
1861
1862         Define new roles in WebCore and map them to ATK accordingly.
1863
1864         Test: platform/gtk/accessibility/aria-roles-unignored.html
1865
1866         * accessibility/AccessibilityObject.h: Added new roles to
1867         represent paragraphs, labels, forms and div sections.
1868         * accessibility/AccessibilityRenderObject.cpp:
1869         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1870         Return ParagraphRole, LabelRole, FormRole and DivRole when needed.
1871         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1872         (atkRole): Map new WebCore roles to ATK Roles.
1873         (webkit_accessible_get_role): Remove code to define roles for
1874         paragraphs, labels, forms and divs based on node's tag name.
1875
1876         Update mappings for the Mac platform.
1877
1878         * accessibility/mac/AccessibilityObjectWrapper.mm:
1879         (createAccessibilityRoleMap): Add explicit mappings from the new
1880         roles introduced to NSAccessibilityGroupRole.
1881
1882 2011-03-29  Philippe Normand  <pnormand@igalia.com>
1883
1884         Unreviewed build fix. Remove ASSERT hitting consitently on GTK.
1885
1886         * rendering/InlineIterator.h:
1887         (WebCore::InlineIterator::moveToStartOf):
1888
1889 2011-03-29  Darin Adler  <darin@apple.com>
1890
1891         Fix some just-introduced build failures.
1892
1893         * WebCore.pro: Correct spelling of filename.
1894
1895         * css/CSSParser.cpp:
1896         (WebCore::parseColorIntOrPercentage): Fix double/int conversion that fails to compile
1897         on Leopard. Also renamed one local variabel.
1898
1899         * inspector/InspectorAgent.cpp:
1900         (WebCore::InspectorAgent::didCommitLoad): Removed unused argument names to avoid warning.
1901         (WebCore::InspectorAgent::domContentLoadedEventFired): Ditto.
1902
1903 2011-03-29  Andras Becsi  <abecsi@webkit.org>
1904
1905         Reviewed by Darin Adler.
1906
1907         CSS: Slow parsing of rgb() with percent values
1908         https://bugs.webkit.org/show_bug.cgi?id=16708
1909
1910         Implement fast-path parsing for percentage color values.
1911
1912         Gain ~30% speedup on http://canvex.lazyilluminati.com/misc/3d.html.
1913
1914         * css/CSSParser.cpp:
1915         (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double.
1916         (WebCore::parseDouble): Function for parsing double values if they are valid.
1917         (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values.
1918         (WebCore::parseAlphaValue): Use the new functions.
1919         (WebCore::CSSParser::parseColor): Ditto.
1920
1921 2011-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
1922
1923         Reviewed by Pavel Feldman.
1924
1925         Web Inspector: extract InspectorPageAgent from InspectorAgent.
1926         https://bugs.webkit.org/show_bug.cgi?id=57327
1927
1928         There are page related methods and inspector related methods in InspectorAgent.
1929         It would be nice to extract page specific methods for future usage the rest of methods in workers debugger.
1930
1931         * GNUmakefile.am:
1932         * WebCore.gypi:
1933         * inspector/CodeGeneratorInspector.pm:
1934         * inspector/Inspector.json:
1935         * inspector/InspectorAgent.cpp:
1936         (WebCore::InspectorAgent::InspectorAgent):
1937         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1938         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
1939         (WebCore::InspectorAgent::setFrontend):
1940         (WebCore::InspectorAgent::disconnectFrontend):
1941         (WebCore::InspectorAgent::didCommitLoad):
1942         (WebCore::InspectorAgent::domContentLoadedEventFired):
1943         * inspector/InspectorAgent.h:
1944         (WebCore::InspectorAgent::pageAgent):
1945         * inspector/InspectorPageAgent.cpp: Added.
1946         (WebCore::InspectorPageAgent::create):
1947         (WebCore::InspectorPageAgent::InspectorPageAgent):
1948         (WebCore::InspectorPageAgent::setFrontend):
1949         (WebCore::InspectorPageAgent::clearFrontend):
1950         (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
1951         (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
1952         (WebCore::InspectorPageAgent::reloadPage):
1953         (WebCore::InspectorPageAgent::openInInspectedWindow):
1954         (WebCore::InspectorPageAgent::setUserAgentOverride):
1955         (WebCore::buildObjectForCookie):
1956         (WebCore::buildArrayForCookies):
1957         (WebCore::InspectorPageAgent::getCookies):
1958         (WebCore::InspectorPageAgent::deleteCookie):
1959         (WebCore::InspectorPageAgent::inspectedURLChanged):
1960         (WebCore::InspectorPageAgent::restore):
1961         (WebCore::InspectorPageAgent::didCommitLoad):
1962         (WebCore::InspectorPageAgent::domContentEventFired):
1963         (WebCore::InspectorPageAgent::loadEventFired):
1964         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
1965         (WebCore::InspectorPageAgent::applyUserAgentOverride):
1966         * inspector/InspectorPageAgent.h: Added.
1967         * inspector/InspectorController.cpp:
1968         (WebCore::InspectorController::connectFrontend):
1969         * inspector/InspectorInstrumentation.cpp:
1970         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
1971         (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
1972         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
1973         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
1974         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1975         (WebCore::InspectorInstrumentation::retrievePageAgent):
1976         * inspector/InspectorInstrumentation.h:
1977         * inspector/InstrumentingAgents.h:
1978         (WebCore::InstrumentingAgents::InstrumentingAgents):
1979         (WebCore::InstrumentingAgents::inspectorPageAgent):
1980         (WebCore::InstrumentingAgents::setInspectorPageAgent):
1981         * inspector/front-end/AuditsPanel.js:
1982         (WebInspector.AuditsPanel.prototype._reloadResources):
1983         * inspector/front-end/CookieItemsView.js:
1984         (WebInspector.CookieItemsView.prototype._deleteCookie):
1985         (WebInspector.Cookies.getCookiesAsync):
1986         * inspector/front-end/ExtensionServer.js:
1987         (WebInspector.ExtensionServer.prototype._onReload):
1988         * inspector/front-end/NetworkPanel.js:
1989         (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
1990         * inspector/front-end/ResourcesPanel.js:
1991         (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
1992         * inspector/front-end/WorkersSidebarPane.js:
1993         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
1994         * inspector/front-end/inspector.js:
1995         (WebInspector.openResource):
1996         (WebInspector.documentKeyDown):
1997
1998 2011-03-29  David Hyatt  <hyatt@apple.com>
1999
2000         Reviewed by Darin Adler.
2001
2002         https://bugs.webkit.org/show_bug.cgi?id=57276
2003         
2004         Add optimizations to make the vertical placement of boxes much faster. Whenever a box is added
2005         to a line, compare it with the parent box. If we can determine that the child box has the exact
2006         same height and baseline position as the parent box, then we keep a boolean flag set called
2007         descendantsHaveSameLineHeightAndBaseline(). If the box is different for any reason then we clear the
2008         flag up the line box parent chain.
2009
2010         When it comes time to do computeLogicalboxHeights, we can avoid recurring into the children of
2011         a box whose descendants all have the same position. When we do placeBoxesInBlockDirection, we
2012         can do a simplified recursion that just calls adjustBlockDirectionPosition to offset the boxes
2013         without doing anything else.
2014         
2015         Because of the quirks mode rule of only shrinking boxes with no immediate text children, we need
2016         to track whether a box has text descendants now as well.  When we avoid doing the recursion
2017         this flag tells us whether the collection of boxes should have an effect on the ascent and descent
2018         of the line in quirks mode.
2019  
2020         * rendering/InlineFlowBox.cpp:
2021         (WebCore::InlineFlowBox::addToLine):
2022         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2023         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2024         (WebCore::InlineFlowBox::nodeAtPoint):
2025         (WebCore::InlineFlowBox::paintBoxDecorations):
2026         (WebCore::InlineFlowBox::paintMask):
2027         * rendering/InlineFlowBox.h:
2028         (WebCore::InlineFlowBox::InlineFlowBox):
2029         (WebCore::InlineFlowBox::hasTextDescendants):
2030         (WebCore::InlineFlowBox::descendantsHaveSameLineHeightAndBaseline):
2031         (WebCore::InlineFlowBox::clearDescendantsHaveSameLineHeightAndBaseline):
2032         * rendering/RenderBlock.h:
2033         * rendering/RenderBlockLineLayout.cpp:
2034         (WebCore::RenderBlock::createLineBoxes):
2035         (WebCore::RenderBlock::constructLine):
2036         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
2037
2038 2011-03-29  Eric Seidel  <eric@webkit.org>
2039
2040         Reviewed by Ryosuke Niwa.
2041
2042         Remove a bunch of duplicate code by adding some InlineIterator helper methods
2043         https://bugs.webkit.org/show_bug.cgi?id=57326
2044
2045         Once I started adding these it became clear how much crazy duplicated code
2046         we had due to treating InlineIterator as a struct and accessing its
2047         members directly.  We can't quite make the members private yet since
2048         findNextLineBreak still splits out the members.  But this change
2049         makes the code much cleaner.
2050
2051         * rendering/InlineIterator.h:
2052         (WebCore::InlineIterator::clear):
2053         (WebCore::InlineIterator::moveToStartOf):i
2054         (WebCore::InlineIterator::moveTo):
2055         (WebCore::InlineIterator::increment):
2056         * rendering/RenderBlockLineLayout.cpp:
2057         (WebCore::tryHyphenating):
2058         (WebCore::RenderBlock::findNextLineBreak):
2059
2060 2011-03-29  Eric Seidel  <eric@webkit.org>
2061
2062         Reviewed by Ryosuke Niwa.
2063
2064         Clean up bidiNext by abstracting repeated code
2065         https://bugs.webkit.org/show_bug.cgi?id=57335
2066
2067         I also added a comment to explain what bidiNext is actually doing.
2068         This whole area of code is confusing but need not be.
2069
2070         * rendering/InlineIterator.h:
2071         (WebCore::embedCharFromDirection):
2072         (WebCore::notifyResolverEnteredObject):
2073         (WebCore::notifyResolverWillExitObject):
2074         (WebCore::bidiNext):
2075         (WebCore::bidiFirst):
2076
2077 2011-03-29  Alexander Pavlov  <apavlov@chromium.org>
2078
2079         Reviewed by Yury Semikhatsky.
2080
2081         Web Inspector: Support external CSS stylesheet freeflow text editing
2082         https://bugs.webkit.org/show_bug.cgi?id=54397
2083
2084         In this implementation, Ctrl/Cmd-S commits the current changes into the model.
2085
2086         * inspector/front-end/ResourceView.js:
2087         (WebInspector.ResourceView.createResourceView):
2088         (WebInspector.CSSSourceFrameDelegateForResourcesPanel):
2089         (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.canEditScriptSource):
2090         (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource):
2091         (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource.handleInfos):
2092         (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype._saveStyleSheet):
2093         * inspector/front-end/ResourcesPanel.js:
2094         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
2095         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
2096         * inspector/front-end/SourceFrame.js:
2097         (WebInspector.SourceFrame.prototype._createTextViewer):
2098
2099 2011-03-29  Eric Carlson  <eric.carlson@apple.com>
2100
2101         Reviewed by Dan Bernstein.
2102
2103         playbackRate should not be set to defaultPlaybackRate in play()
2104         https://bugs.webkit.org/show_bug.cgi?id=55943
2105
2106         Test: media/video-playbackrate.html
2107
2108         * html/HTMLMediaElement.cpp:
2109         (WebCore::HTMLMediaElement::playbackRate): No need to ask the media engine for the current
2110             rate, we already have the current value cached.
2111         (WebCore::HTMLMediaElement::playInternal): Don't reset the engine's playback rate to 
2112             the default rate.
2113         (WebCore::HTMLMediaElement::togglePlayState): Do reset the engine's playback rate to 
2114             the default rate before triggering playback.
2115         * manual-tests/media-default-playback-rate.html: Added.
2116
2117 2011-03-28  Dimitri Glazkov  <dglazkov@chromium.org>
2118
2119         Reviewed by Eric Seidel.
2120
2121         Remove specialization of EventDispatcher with inversion of control.
2122         https://bugs.webkit.org/show_bug.cgi?id=57285
2123
2124         Since some events have extra logic around their dispatch, allow them
2125         to dispatch themselves and specialize the logic. This change only
2126         converts KeyboardEvent to this model.
2127
2128         No functional change, covered by existing tests.
2129
2130         * dom/Event.cpp:
2131         (WebCore::Event::dispatch): Added.
2132         * dom/Event.h: Updated decls.
2133         * dom/EventDispatcher.cpp:
2134         (WebCore::EventDispatcher::dispatchEvent): Changed to ask event to dispatch
2135             itself.
2136         * dom/EventDispatcher.h: Updated decls.
2137         * dom/KeyboardEvent.cpp:
2138         (WebCore::KeyboardEvent::dispatch): Added, moving code from EventDispatcher.
2139         * dom/KeyboardEvent.h: Updated decls.
2140         * dom/Node.cpp:
2141         (WebCore::Node::dispatchKeyEvent): Changed to use the new ways.
2142
2143 2011-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
2144
2145         Reviewed by Yury Semikhatsky.
2146
2147         Web Inspector: InspectorDOMAgent has unnecessary dependency from InspectorAgent.
2148         https://bugs.webkit.org/show_bug.cgi?id=57329
2149
2150         * inspector/InspectorAgent.cpp:
2151         (WebCore::InspectorAgent::InspectorAgent):
2152         (WebCore::InspectorAgent::setFrontend):
2153         * inspector/InspectorAgent.h:
2154         * inspector/InspectorController.cpp:
2155         (WebCore::InspectorController::inspect):
2156         * inspector/InspectorDOMAgent.cpp:
2157         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2158         (WebCore::InspectorDOMAgent::setFrontend):
2159         (WebCore::InspectorDOMAgent::handleMousePress):
2160         (WebCore::InspectorDOMAgent::inspect):
2161         (WebCore::InspectorDOMAgent::focusNode):
2162         (WebCore::InspectorDOMAgent::highlight):
2163         (WebCore::InspectorDOMAgent::hideHighlight):
2164         * inspector/InspectorDOMAgent.h:
2165         (WebCore::InspectorDOMAgent::create):
2166
2167 2011-03-29  Eric Seidel  <eric@webkit.org>
2168
2169         Reviewed by Nikolas Zimmermann.
2170
2171         Rename InlineIterator::pos to m_pos to match modern style
2172         https://bugs.webkit.org/show_bug.cgi?id=57342
2173
2174         Somehow I failed to upload this one earlier, no wonder later patches didn't apply.
2175
2176         * rendering/InlineIterator.h:
2177         (WebCore::InlineIterator::InlineIterator):
2178         (WebCore::operator==):
2179         (WebCore::operator!=):
2180         (WebCore::InlineIterator::increment):
2181         (WebCore::InlineIterator::current):
2182         (WebCore::InlineBidiResolver::appendRun):
2183         * rendering/RenderBlockLineLayout.cpp:
2184         (WebCore::checkMidpoints):
2185         (WebCore::RenderBlock::appendRunsForObject):
2186         (WebCore::RenderBlock::layoutInlineChildren):
2187         (WebCore::RenderBlock::matchedEndLine):
2188         (WebCore::tryHyphenating):
2189         (WebCore::RenderBlock::findNextLineBreak):
2190
2191 2011-03-29  Pavel Feldman  <pfeldman@chromium.org>
2192
2193         Reviewed by Yury Semikhatsky.
2194
2195         Web Inspector: document BrowserDebugger agent.
2196         https://bugs.webkit.org/show_bug.cgi?id=57331
2197
2198         * inspector/Inspector.json:
2199
2200 2011-03-29  Alexander Pavlov  <apavlov@chromium.org>
2201
2202         Reviewed by Pavel Feldman.
2203
2204         Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
2205         https://bugs.webkit.org/show_bug.cgi?id=56310
2206
2207         Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
2208         "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
2209         by CSSAgent.getStyleSheet() anymore.
2210
2211         Test: inspector/styles/get-set-stylesheet-text.html
2212
2213         * inspector/Inspector.json:
2214         * inspector/InspectorCSSAgent.cpp:
2215         (WebCore::InspectorCSSAgent::getAllStyleSheets):
2216         * inspector/InspectorCSSAgent.h:
2217         * inspector/InspectorStyleSheet.cpp:
2218         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2219         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
2220         * inspector/InspectorStyleSheet.h:
2221         * inspector/front-end/AuditRules.js:
2222         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
2223         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
2224         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
2225         * inspector/front-end/CSSStyleModel.js:
2226         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
2227         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
2228         (WebInspector.CSSStyleModel.prototype._onRevert):
2229         (WebInspector.CSSStyleSheet):
2230         (WebInspector.CSSStyleSheet.prototype.setText):
2231
2232 2011-03-29  Jeremy Moskovich  <jeremy@chromium.org>
2233
2234         Reviewed by Eric Seidel.
2235
2236         Implement text-align:match-parent as -webkit-match-parent.
2237         https://bugs.webkit.org/show_bug.cgi?id=50951
2238
2239         Add support to the CSS parser.
2240
2241         Tests: fast/css/text-align-webkit-match-parent-parse.html
2242                fast/css/text-align-webkit-match-parent.html
2243
2244         * css/CSSParser.cpp:
2245         (WebCore::CSSParser::parseValue):
2246         * css/CSSStyleSelector.cpp:
2247         (WebCore::CSSStyleSelector::applyProperty):
2248         * css/CSSValueKeywords.in:
2249
2250 2011-03-29  Eric Seidel  <eric@webkit.org>
2251
2252         Reviewed by Ryosuke Niwa.
2253
2254         Rename InlineIterator::nextBreakablePosition to m_nextBreakablePosition to match modern style
2255         https://bugs.webkit.org/show_bug.cgi?id=57323
2256
2257         All of these m_nextBreakablePosition = -1 could probably be replaced with
2258         some new methods.  But I'll do that in a separate change.  Clearly
2259         m_nextBreakablePosition is just a cached value which should be cleared
2260         at the right times.  I suspect we may even fail to clear it sometimes when
2261         we should due to the current used of direct access instead of smarter functions.
2262
2263         * rendering/InlineIterator.h:
2264         (WebCore::InlineIterator::InlineIterator):
2265         (WebCore::InlineIterator::increment):
2266         * rendering/RenderBlockLineLayout.cpp:
2267         (WebCore::tryHyphenating):
2268         (WebCore::RenderBlock::findNextLineBreak):
2269
2270 2011-03-29  Jeff Miller  <jeffm@apple.com>
2271
2272         Reviewed by Jon Honeycutt.
2273
2274         Add WebCore::copyCertificateToData() on Windows
2275         https://bugs.webkit.org/show_bug.cgi?id=57296
2276
2277         Create a new win directory in platform/cf and add CertificateCFWin.cpp and CertificateCFWin.h to it.
2278
2279         * WebCore.vcproj/WebCore.vcproj: Added CertificateCFWin.cpp and CertificateCFWin.h.
2280         * WebCore.vcproj/copyForwardingHeaders.cmd: Copy all header files in \platform\cf\win\.
2281         * platform/cf/win: Added.
2282         * platform/cf/win/CertificateCFWin.cpp: Added.
2283         (WebCore::deallocCertContext): Added.
2284         (WebCore::createCertContextDeallocator): Added.
2285         (WebCore::copyCertificateToData): Added.
2286         * platform/cf/win/CertificateCFWin.h: Added.
2287
2288 2011-03-29  Eric Seidel  <eric@webkit.org>
2289
2290         Reviewed by Ryosuke Niwa.
2291
2292         Rename InlineIterator::block to m_block to match modern style
2293         https://bugs.webkit.org/show_bug.cgi?id=57321
2294
2295         I could have made m_block private, since it's only accessed in
2296         one place outside of InlineIterator (for an ASSERT).  But I chose
2297         not to do so in this change.
2298
2299         * rendering/InlineIterator.h:
2300         (WebCore::InlineIterator::InlineIterator):
2301         (WebCore::InlineIterator::increment):
2302         (WebCore::InlineBidiResolver::appendRun):
2303         * rendering/RenderBlockLineLayout.cpp:
2304         (WebCore::RenderBlock::findNextLineBreak):
2305
2306 2011-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
2307
2308         Reviewed by Nikolas Zimmermann.
2309
2310         Incorrect offset of svg <use> element which is in <symbol> element
2311         https://bugs.webkit.org/show_bug.cgi?id=57318
2312
2313         When webkit expanded a svg <symbol> element in the shadow tree it
2314         would clone the children of the <symbol>. The children may contain
2315         SVGShadowTreeContainerElement which was expanded from svg <use>
2316         element. But the clone operation would clone a
2317         SVGShadowTreeContainerElement as a svg <g> element. This resulted
2318         that updateContainerOffset wouldn't update offset for those elements
2319         which were expand from <use> elements.
2320
2321         This patch implements cloneElementWithoutAttributesAndChildren for
2322         SVGShadowTreeContainerElement to make the container clone itself
2323         correctly.
2324
2325         Test: svg/custom/use-in-symbol-with-offset.svg
2326
2327         * rendering/svg/SVGShadowTreeElements.cpp:
2328         (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren):
2329         * rendering/svg/SVGShadowTreeElements.h:
2330
2331 2011-03-29  Eric Seidel  <eric@webkit.org>
2332
2333         Reviewed by Ryosuke Niwa.
2334
2335         Rename InlineIterator::obj to m_obj to match modern style
2336         https://bugs.webkit.org/show_bug.cgi?id=57319
2337
2338         I started this rename after confusion in InlineBidiResolver::appendRun.
2339         (Which uses an "obj" local in InlineIterator.h.  It's not actually
2340         masking m_obj because it's a separate class, but I didn't realize
2341         that at the time because it's in InlineIterator.h which is itself confusing!)
2342
2343         * rendering/InlineIterator.h:
2344         (WebCore::InlineIterator::InlineIterator):
2345         (WebCore::operator==):
2346         (WebCore::operator!=):
2347         (WebCore::InlineIterator::increment):
2348         (WebCore::InlineIterator::atEnd):
2349         (WebCore::InlineIterator::current):
2350         (WebCore::InlineIterator::direction):
2351         (WebCore::InlineBidiResolver::appendRun):
2352         * rendering/RenderBlockLineLayout.cpp:
2353         (WebCore::checkMidpoints):
2354         (WebCore::RenderBlock::appendRunsForObject):
2355         (WebCore::RenderBlock::layoutInlineChildren):
2356         (WebCore::RenderBlock::matchedEndLine):
2357         (WebCore::skipNonBreakingSpace):
2358         (WebCore::RenderBlock::requiresLineBox):
2359         (WebCore::RenderBlock::skipTrailingWhitespace):
2360         (WebCore::RenderBlock::skipLeadingWhitespace):
2361         (WebCore::tryHyphenating):
2362         (WebCore::RenderBlock::findNextLineBreak):
2363
2364 2011-03-29  Pavel Feldman  <pfeldman@chromium.org>
2365
2366         Reviewed by Yury Semikhatsky.
2367
2368         Web Inspector: document Timeline domain, make timeline event types of type string.
2369         https://bugs.webkit.org/show_bug.cgi?id=57299
2370
2371         * inspector/Inspector.json:
2372         * inspector/InspectorTimelineAgent.cpp:
2373         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
2374         (WebCore::InspectorTimelineAgent::start):
2375         (WebCore::InspectorTimelineAgent::stop):
2376         (WebCore::InspectorTimelineAgent::willCallFunction):
2377         (WebCore::InspectorTimelineAgent::didCallFunction):
2378         (WebCore::InspectorTimelineAgent::willDispatchEvent):
2379         (WebCore::InspectorTimelineAgent::didDispatchEvent):
2380         (WebCore::InspectorTimelineAgent::willLayout):
2381         (WebCore::InspectorTimelineAgent::didLayout):
2382         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
2383         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
2384         (WebCore::InspectorTimelineAgent::willPaint):
2385         (WebCore::InspectorTimelineAgent::didPaint):
2386         (WebCore::InspectorTimelineAgent::willWriteHTML):
2387         (WebCore::InspectorTimelineAgent::didWriteHTML):
2388         (WebCore::InspectorTimelineAgent::didInstallTimer):
2389         (WebCore::InspectorTimelineAgent::didRemoveTimer):
2390         (WebCore::InspectorTimelineAgent::willFireTimer):
2391         (WebCore::InspectorTimelineAgent::didFireTimer):
2392         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
2393         (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
2394         (WebCore::InspectorTimelineAgent::willLoadXHR):
2395         (WebCore::InspectorTimelineAgent::didLoadXHR):
2396         (WebCore::InspectorTimelineAgent::willEvaluateScript):
2397         (WebCore::InspectorTimelineAgent::didEvaluateScript):
2398         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
2399         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2400         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
2401         (WebCore::InspectorTimelineAgent::didReceiveResourceData):
2402         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
2403         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
2404         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2405         (WebCore::InspectorTimelineAgent::didMarkTimeline):
2406         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
2407         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
2408         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2409         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2410         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2411         * inspector/InspectorTimelineAgent.h:
2412         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
2413         * inspector/front-end/TimelineAgent.js:
2414         * inspector/front-end/TimelinePanel.js:
2415         (WebInspector.TimelinePanel.prototype.get _recordStyles):
2416         (WebInspector.TimelinePanel.prototype._createEventDivider):
2417         (WebInspector.TimelinePanel.prototype._findParentRecord):
2418         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2419         (WebInspector.TimelineDispatcher.prototype.started):
2420         (WebInspector.TimelineDispatcher.prototype.stopped):
2421         (WebInspector.TimelineDispatcher.prototype.eventRecorded):
2422         (WebInspector.TimelinePanel.FormattedRecord):
2423         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2424         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2425
2426 2011-03-29  Andrey Adaikin  <aandrey@google.com>
2427
2428         Reviewed by Pavel Feldman.
2429
2430         Web Inspector: Fixing live edits tests on chromium.
2431         https://bugs.webkit.org/show_bug.cgi?id=57316
2432
2433         * inspector/front-end/ScriptsPanel.js:
2434         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
2435         * inspector/front-end/SourceFrame.js:
2436         (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
2437         (WebInspector.SourceFrame.prototype._handleSave):
2438         (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
2439
2440 2011-03-29  Pavel Podivilov  <podivilov@chromium.org>
2441
2442         Reviewed by Yury Semikhatsky.
2443
2444         Web Inspector: fix call frames positions in formatted scripts.
2445         https://bugs.webkit.org/show_bug.cgi?id=57036
2446
2447         Introduce PresentationCallFrame class that encapsulates source mapping details from UI components.
2448
2449         * inspector/front-end/CallStackSidebarPane.js:
2450         (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLocation):
2451         (WebInspector.CallStackSidebarPane.prototype.update):
2452         (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
2453         (WebInspector.CallStackSidebarPane.prototype._placardSelected):
2454         (WebInspector.CallStackSidebarPane.prototype._contextMenu):
2455         (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):
2456         * inspector/front-end/DebuggerModel.js:
2457         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
2458         (WebInspector.DebuggerModel.prototype.get debuggerPausedDetails):
2459         (WebInspector.DebuggerModel.prototype._pausedScript):
2460         * inspector/front-end/DebuggerPresentationModel.js:
2461         (WebInspector.DebuggerPresentationModel):
2462         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
2463         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
2464         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2465         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
2466         (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
2467         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
2468         (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
2469         (WebInspector.DebuggerPresentationModel.prototype._reset):
2470         (WebInspector.PresenationCallFrame): Call frame wrapper for UI.
2471         * inspector/front-end/ScriptsPanel.js:
2472         (WebInspector.ScriptsPanel):
2473         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2474         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
2475         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
2476         (WebInspector.ScriptsPanel.prototype._debuggerResumed):
2477         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
2478         (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
2479         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2480         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
2481         * inspector/front-end/SourceFile.js:
2482         (WebInspector.SourceFile.prototype.get content):
2483         * inspector/front-end/SourceFrame.js:
2484         (WebInspector.SourceFrame.prototype._createTextViewer):
2485         (WebInspector.SourceFrame.prototype.setExecutionLine):
2486         (WebInspector.SourceFrame.prototype.clearExecutionLine):
2487         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
2488         (WebInspector.SourceFrame.prototype._showPopup):
2489
2490 2011-03-29  Emil A Eklund  <eae@chromium.org>
2491
2492         Reviewed by Darin Adler.
2493
2494         Fix for execCommand("Delete") with an empty selection.
2495         https://bugs.webkit.org/show_bug.cgi?id=56652
2496
2497         Test: editing/execCommand/delete-empty-container.html
2498
2499         * editing/TypingCommand.cpp:
2500         (WebCore::TypingCommand::makeEditableRootEmpty): Add check for root element.
2501
2502 2011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
2503
2504         Reviewed by Pavel Feldman.
2505
2506         Web Inspector: [Chromium] Refactor HeapSnapshot-related code to
2507         make sure we don't return big amounts of data to forms.
2508         https://bugs.webkit.org/show_bug.cgi?id=57227
2509
2510         * inspector/front-end/DetailedHeapshotGridNodes.js:
2511         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
2512         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent):
2513         (WebInspector.HeapSnapshotObjectNode):
2514         (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
2515         (WebInspector.HeapSnapshotInstanceNode):
2516         (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
2517         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
2518         (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
2519         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
2520         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
2521         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
2522         * inspector/front-end/DetailedHeapshotView.js:
2523         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
2524         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.setDataSource):
2525         * inspector/front-end/HeapSnapshot.js:
2526         (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
2527         (WebInspector.HeapSnapshotNode.prototype.get retainers):
2528         (WebInspector.HeapSnapshot):
2529         (WebInspector.HeapSnapshot.prototype.get _allNodes):
2530         (WebInspector.HeapSnapshot.prototype.get nodeCount):
2531         (WebInspector.HeapSnapshot.prototype.get rootNodeIndex):
2532         (WebInspector.HeapSnapshot.prototype.hasId):
2533         (WebInspector.HeapSnapshot.prototype.get nodeIds):
2534         (WebInspector.HeapSnapshot.prototype._retainersForNode):
2535         (WebInspector.HeapSnapshot.prototype._buildRetainers):
2536         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2537         (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes):
2538         (WebInspector.HeapSnapshot.prototype._buildIdsList):
2539         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
2540         (WebInspector.HeapSnapshotFilteredOrderedIterator):
2541         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next):
2542         (WebInspector.HeapSnapshotEdgesProvider):
2543         (WebInspector.HeapSnapshotNodesProvider):
2544
2545 2011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
2546
2547         Reviewed by Pavel Feldman.
2548
2549         Web Inspector: [Chromium] Fix detailed heap snapshots UI.
2550         https://bugs.webkit.org/show_bug.cgi?id=57235
2551
2552         Fix two problems:
2553           1. Text color of grid cells under selection needs to be white, otherwise it's unreadable for some colors;
2554           2. Long strings need to be truncated in grid, their contents can be shown on hover.
2555
2556         * inspector/front-end/DetailedHeapshotView.js:
2557         (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor):
2558         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
2559         * inspector/front-end/heapProfiler.css:
2560         (.detailed-heapshot-view .console-formatted-string):
2561         (.detailed-heapshot-view .data-grid tr.selected *):
2562         (.detailed-heapshot-view .data-grid:focus tr.selected *):
2563
2564 2011-03-29  Andrey Adaikin  <aandrey@google.com>
2565
2566         Reviewed by Yury Semikhatsky.
2567
2568         Web Inspector: Highlight visible lines first
2569         https://bugs.webkit.org/show_bug.cgi?id=57013
2570
2571         * inspector/front-end/TextViewer.js:
2572         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleChunkNumber):
2573         (WebInspector.TextEditorChunkedPanel.prototype._findVisibleChunks):
2574         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber.compareLineRowOffsetTops):
2575         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber):
2576         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
2577         (WebInspector.TextEditorMainPanel.prototype._paintLines):
2578         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
2579         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2580         (WebInspector.TextEditorMainChunk.prototype.set expanded):
2581
2582 2011-03-29  Emil A Eklund  <eae@chromium.org>
2583
2584         Reviewed by Dimitri Glazkov.
2585
2586         Relative mouse coordinates recalculated for each target
2587         https://bugs.webkit.org/show_bug.cgi?id=57130
2588
2589         Calculate relative coordinates lazily for mouse events instead of doing
2590         it for each target. Speeds up dispatching of mouse events in deep dom
2591         structures significantly, O(n^2) to O(n).
2592
2593         Also fixes https://bugs.webkit.org/show_bug.cgi?id=34973
2594
2595         Tests: fast/events/mouse-relative-position.html
2596                perf/mouse-event.html
2597
2598         * dom/Event.cpp:
2599         (WebCore::Event::setTarget):
2600         * dom/MouseRelatedEvent.cpp:
2601         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
2602         (WebCore::MouseRelatedEvent::initCoordinates):
2603         (WebCore::pageZoomFactor):
2604         (WebCore::MouseRelatedEvent::receivedTarget):
2605         (WebCore::MouseRelatedEvent::computeRelativePosition):
2606         (WebCore::MouseRelatedEvent::layerX):
2607         (WebCore::MouseRelatedEvent::layerY):
2608         (WebCore::MouseRelatedEvent::offsetX):
2609         (WebCore::MouseRelatedEvent::offsetY):
2610         * dom/MouseRelatedEvent.h:
2611         * dom/UIEvent.cpp:
2612         (WebCore::UIEvent::layerX):
2613         (WebCore::UIEvent::layerY):
2614         * dom/UIEvent.h:
2615
2616 2011-03-29  Emil A Eklund  <eae@chromium.org>
2617
2618         Reviewed by Darin Adler.
2619
2620         getComputedStyle counterIncrement crash @ WebCore::counterToCSSValue
2621         https://bugs.webkit.org/show_bug.cgi?id=57266
2622
2623         Add null check to counterToCSSValue.
2624
2625         Test: fast/css/getComputedStyle/counterIncrement-without-counter.html
2626
2627         * css/CSSComputedStyleDeclaration.cpp:
2628         (WebCore::counterToCSSValue):
2629
2630 2011-03-29  Gavin Peters  <gavinp@chromium.org>
2631
2632         Reviewed by Tony Gentilcore.
2633
2634         Implement onerror events for <link rel=prefetch>
2635         https://bugs.webkit.org/show_bug.cgi?id=57182
2636
2637         These events are equired on link elements, see
2638         http://dev.w3.org/html5/spec/Overview.html#the-link-element
2639
2640         After a discussion in WebKit-dev about the direction of prefetch in the loader, and about a path
2641         to adding the Link header, we decided to look at making onerror, onload and onbeforeload events
2642         more uniformly supported.  See the thread at
2643         https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html .
2644
2645         It turned out that part of adding onerror for link prefetch was to make the top CachedResource less
2646         abstract.  It was pure virtual until prefetch became the first consumer to use an unspecialised
2647         implementation, and this CL continues that by adding a default checkNotify method to it.  As it
2648         happens there were already two subclasses using what amounted to the generic checkNotify, so I
2649         also removed those, buying us some code cleanup with the change.
2650
2651         Test: fast/dom/HTMLLinkElement/prefetch-onerror.html
2652
2653         * html/HTMLLinkElement.cpp:
2654         (WebCore::HTMLLinkElement::parseMappedAttribute):
2655         (WebCore::HTMLLinkElement::onloadTimerFired):
2656         (WebCore::HTMLLinkElement::notifyFinished):
2657         * loader/cache/CachedImage.cpp:
2658         * loader/cache/CachedImage.h:
2659         * loader/cache/CachedResource.cpp:
2660         (WebCore::CachedResource::checkNotify):
2661         (WebCore::CachedResource::data):
2662         (WebCore::CachedResource::error):
2663         * loader/cache/CachedResource.h:
2664         * loader/cache/CachedScript.cpp:
2665         * loader/cache/CachedScript.h:
2666
2667 2011-03-29  Eric Seidel  <eric@webkit.org>
2668
2669         Reviewed by Ryosuke Niwa.
2670
2671         Add support for parsing unicode-bidi: -webkit-isolate
2672         https://bugs.webkit.org/show_bug.cgi?id=57181
2673
2674         Test: css3/unicode-bidi-insolate-parse.html
2675
2676         * WebCore.xcodeproj/project.pbxproj:
2677         * css/CSSParser.cpp:
2678         (WebCore::CSSParser::parseValue):
2679         * css/CSSPrimitiveValueMappings.h:
2680         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2681         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
2682         * css/CSSValueKeywords.in:
2683         * rendering/style/RenderStyleConstants.h:
2684
2685 2011-03-29  Patrick Gansterer  <paroga@webkit.org>
2686
2687         Unreviewed WinCE build fix for r82193.
2688
2689         * platform/wince/FileSystemWinCE.cpp:
2690         (WebCore::openTemporaryFile):
2691
2692 2011-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2693
2694         Unreviewed, rolling out r82198.
2695         http://trac.webkit.org/changeset/82198
2696         https://bugs.webkit.org/show_bug.cgi?id=57304
2697
2698         Broke Chromium Win build. (Requested by dave_levin on
2699         #webkit).
2700
2701         * platform/image-decoders/png/PNGImageDecoder.cpp:
2702         (WebCore::PNGImageDecoder::headerAvailable):
2703         (WebCore::PNGImageDecoder::rowAvailable):
2704
2705 2011-03-28  Ofri Wolfus  <ofri@google.com>
2706
2707         Reviewed by Eric Seidel.
2708
2709         RTL: Select elements with a size attribute are always left aligned.
2710         https://bugs.webkit.org/show_bug.cgi?id=50928
2711
2712         Added support for alignment in RenderListBox.
2713
2714         Test: fast/forms/listbox-bidi-align.html
2715
2716         * rendering/RenderListBox.cpp:
2717         (WebCore::itemOffsetForAlignment):
2718         (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality.
2719
2720 2011-03-28  Kwang Yul Seo  <skyul@company100.net>
2721
2722         Reviewed by Benjamin Poulain.
2723
2724         [Qt] Change TextureMapperVideoLayer to TextureMapperMediaLayer
2725         https://bugs.webkit.org/show_bug.cgi?id=57142
2726
2727         TextureMapperMediaLayer is a better name here because both video and plugins use this layer.
2728         Remove ENABLE(VIDEO) guard.
2729
2730         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2731         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2732         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2733         (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
2734         * platform/graphics/texmap/TextureMapperNode.h:
2735         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
2736         (WebCore::TextureMapperMediaLayer::layerType):
2737
2738 2011-03-28  Thomas Klausner  <tk@giga.or.at>
2739
2740         Reviewed by David Levin.
2741
2742         png-1.5 fixes
2743         https://bugs.webkit.org/show_bug.cgi?id=54406
2744
2745         Fix compilation with png-1.5: struct members were hidden, and
2746         a new API to terminate data processing was added (especially for
2747         WebKit).
2748
2749         Compilation fixes, so no new tests.
2750
2751         * platform/image-decoders/png/PNGImageDecoder.cpp:
2752         (WebCore::PNGImageDecoder::headerAvailable):
2753         (WebCore::PNGImageDecoder::rowAvailable):
2754
2755 2011-03-28  Kwang Yul Seo  <skyul@company100.net>
2756
2757         Reviewed by Adam Barth.
2758
2759         Replace fprintf(stderr, ...) with LOG_ERROR
2760         https://bugs.webkit.org/show_bug.cgi?id=57216
2761
2762         LOG_ERROR is a better choice here.
2763
2764         * bridge/jni/v8/JavaClassV8.cpp:
2765         (JavaClass::JavaClass):
2766
2767 2011-03-28  Steve Block  <steveblock@google.com>
2768
2769         Reviewed by Jeremy Orlow.
2770
2771         Add a new JavaValue to type to represent a Java value in the Java bridge
2772         https://bugs.webkit.org/show_bug.cgi?id=57022
2773
2774         This change introduces a new JavaValue type and uses it in place of jvalue
2775         in the conversions to and from JavaNPObject used in the V8 Java bridge.
2776
2777         Refactoring only, no new tests.
2778
2779         * WebCore.gypi:
2780         * bridge/jni/JNIUtility.cpp:
2781         (JSC::Bindings::javaTypeFromClassName):
2782         (JSC::Bindings::signatureFromJavaType):
2783         (JSC::Bindings::getJNIField):
2784         (JSC::Bindings::callJNIMethod):
2785         * bridge/jni/JavaType.h:
2786         * bridge/jni/v8/JNIUtilityPrivate.cpp:
2787         (JSC::Bindings::convertNPVariantToJavaValue):
2788         (JSC::Bindings::convertJavaValueToNPVariant):
2789         (JSC::Bindings::jvalueToJavaValue):
2790         (JSC::Bindings::javaValueToJvalue):
2791         * bridge/jni/v8/JNIUtilityPrivate.h:
2792         * bridge/jni/v8/JavaNPObjectV8.cpp:
2793         (JSC::Bindings::JavaNPObjectInvoke):
2794         (JSC::Bindings::JavaNPObjectGetProperty):
2795         * bridge/jni/v8/JavaValueV8.h: Added.
2796         (JSC::Bindings::JavaValue::JavaValue):
2797
2798 2011-03-28  Patrick Gansterer  <paroga@webkit.org>
2799
2800         Reviewed by Darin Adler.
2801
2802         Use String instead of CString as return value of openTemporaryFile
2803         https://bugs.webkit.org/show_bug.cgi?id=55332
2804
2805         We usually store all paths as UTF-16. Do this for temporary files too.
2806
2807         * WebCore.exp.in
2808         * platform/FileSystem.h:
2809         * platform/android/FileSystemAndroid.cpp:
2810         * platform/brew/FileSystemBrew.cpp:
2811         * platform/efl/FileSystemEfl.cpp:
2812         * platform/gtk/FileSystemGtk.cpp:
2813         * platform/haiku/FileSystemHaiku.cpp:
2814         * platform/mac/FileSystemMac.mm:
2815         * platform/qt/FileSystemQt.cpp:
2816         * platform/win/FileSystemWin.cpp:
2817         * platform/wince/FileSystemWinCE.cpp:
2818         * platform/wx/FileSystemWx.cpp:
2819         * plugins/PluginStream.cpp:
2820         (WebCore::PluginStream::destroyStream):
2821         * plugins/PluginStream.h:
2822
2823 2011-03-28  Jeff Johnson  <opendarwin@lapcatsoftware.com>
2824
2825         Reviewed by Pavel Feldman.
2826
2827         Web Inspector: empty, non-functional window
2828         https://bugs.webkit.org/show_bug.cgi?id=56354
2829
2830         Check whether DOM local storage is enabled
2831         before attempting to access window.localStorage.
2832
2833         No new tests.
2834
2835         * inspector/front-end/Settings.js:
2836         (WebInspector.Settings.prototype.findSettingForAllProjects):
2837         (WebInspector.Settings.prototype._get):
2838         (WebInspector.Settings.prototype._set):
2839
2840 2011-03-28  Beth Dakin  <bdakin@apple.com>
2841
2842         Reviewed by Darin Adler.
2843
2844         Fix for https://bugs.webkit.org/show_bug.cgi?id=57286 Alternative fix for: 
2845         Horizontal scroller stops appearing after going Forward
2846         -and corresponding-
2847         <rdar://problem/9026946>
2848
2849         This patch rolls out revision 79053 and fixes the same bug in a  better way.
2850
2851         New function resetScrollbarsAndClearContentsSize() calls resetScrollbars() and then 
2852         sets the contents size to 0. This is called when a document is going into the page 
2853         cache.
2854         * dom/Document.cpp:
2855         (WebCore::Document::setInPageCache):
2856         (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
2857
2858         Roll-out of 79053.
2859         * history/CachedFrame.cpp:
2860         (WebCore::CachedFrameBase::restore):
2861         * page/FrameView.cpp:
2862         (WebCore::FrameView::FrameView):
2863         (WebCore::FrameView::reset):
2864         (WebCore::FrameView::layout):
2865         * page/FrameView.h:
2866
2867 2011-03-28  Ojan Vafai  <ojan@chromium.org>
2868
2869         Reviewed by Antti Koivisto.
2870
2871         fix style sharing with :any and sibling selectors
2872         https://bugs.webkit.org/show_bug.cgi?id=57211
2873
2874         Test: fast/css/sibling-selectors.html
2875
2876         * css/CSSStyleSelector.cpp:
2877         (WebCore::collectFeaturesFromList):
2878
2879 2011-03-27  Ojan Vafai  <ojan@chromium.org>
2880
2881         Reviewed by Antti Koivisto.
2882
2883         fix :-webkit-any(:last-child)
2884         https://bugs.webkit.org/show_bug.cgi?id=57207
2885
2886         We were passing the wrong arguments to checkSelector. Also, we were not
2887         passing through the encounteredLink bool.
2888
2889         * css/CSSStyleSelector.cpp:
2890         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2891         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2892         * css/CSSStyleSelector.h:
2893
2894 2011-03-27  Ojan Vafai  <ojan@chromium.org>
2895
2896         Reviewed by Antti Koivisto.
2897
2898         fix :-webkit-any(:last-child)
2899         https://bugs.webkit.org/show_bug.cgi?id=57207
2900
2901         We were passing the wrong arguments to checkSelector. Also, we were not
2902         passing through the encounteredLink bool.
2903
2904         * css/CSSStyleSelector.cpp:
2905         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2906         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2907         * css/CSSStyleSelector.h:
2908
2909 2011-03-28  Maciej Stachowiak  <mjs@apple.com>
2910
2911         Reviewed by Darin Adler.
2912
2913         REGRESSION(r82152): fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
2914         https://bugs.webkit.org/show_bug.cgi?id=57291
2915
2916         * platform/KURL.cpp:
2917         (WebCore::KURL::parse): Instead of considering URLs with
2918         credentials but no host invalid, consider them to have a host
2919         ending in @ (which fails down the line)/
2920
2921 2011-03-28  Kent Tamura  <tkent@chromium.org>
2922
2923         Reviewed by Dimitri Glazkov.
2924
2925         Fix some problems of the appearance of form validation message bubble.
2926         https://bugs.webkit.org/show_bug.cgi?id=57208
2927
2928         No new tests. Validation message bubble appearance is not testable
2929         because it depends on a timer.
2930
2931         * css/html.css:
2932         (::-webkit-validation-bubble):
2933         (::-webkit-validation-bubble-message):
2934         (::-webkit-validation-bubble-arrow):
2935         (::-webkit-validation-bubble-arrow-clipper):
2936           - Explicitly set margin, padding, and color.
2937           - Make the shadow darker.
2938           - Make the background color darker.
2939           - Make opacity larger.
2940           - Make the border color lighter.
2941           - Add inset shadows
2942           - Change the implementation of an arrow.
2943             Stop making a right triangle by the border trick.
2944             Use -webkit-transform instead.
2945           - Make min-width workable by changing display property of
2946             -webkit-validation-bubble to "inline-block".
2947         * html/ValidationMessage.cpp:
2948         (WebCore::ValidationMessage::buildBubbleTree):
2949           Change the node structure. Before this change, -webkit-validation-bubble
2950           had three DIVs inside. After this change, it has two DIVs;
2951           -webkit-validation-bubble-arrow-clipper and
2952           -webkit-validation-bubble-message, and
2953           -webkit-validation-bubble-arrow-clipper contains
2954           -webkit-validation-bubble-arrow.
2955
2956 2011-03-28  Enrica Casucci  <enrica@apple.com>
2957
2958         Reviewed by Sam Weinig.
2959
2960         REGRESSION: Can't enter pasted with context or Edit menu text in search or address field in the browser.
2961         https://bugs.webkit.org/show_bug.cgi?id=57275
2962         <rdar://problem/8246691>
2963
2964         We need to classify cut and paste actions as user typing actions even when
2965         the action is triggered by a context menu selection to
2966         allow the propagation of the textDidChangeInTextField event.
2967
2968         * editing/EditorCommand.cpp:
2969         The following methods have been modified to properly set up
2970         the UserTypingGestureAction when the command source is the
2971         menu or a key binding sequence.
2972         (WebCore::executeCut):
2973         (WebCore::executePaste):
2974         (WebCore::executePasteAndMatchStyle):
2975         (WebCore::executePasteAsPlainText):
2976         (WebCore::executeDelete):
2977         * page/ContextMenuController.cpp:
2978         (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
2979         call execute command instead of referring to the specific method in
2980         the editor class.
2981
2982 2011-03-28  Oliver Hunt  <oliver@apple.com>
2983
2984         Reviewed by Geoffrey Garen.
2985
2986         instanceof Array test fails when using iframes
2987         https://bugs.webkit.org/show_bug.cgi?id=17250
2988
2989         Update for new function and date apis
2990
2991         Test: fast/js/js-constructors-use-correct-global.html
2992
2993         * WebCore.xcodeproj/project.pbxproj:
2994         * bindings/js/JSDOMBinding.cpp:
2995         (WebCore::jsDateOrNull):
2996         * bindings/js/JSLazyEventListener.cpp:
2997         (WebCore::JSLazyEventListener::initializeJSFunction):
2998
2999 2011-03-28  Beth Dakin  <bdakin@apple.com>
3000
3001         Reviewed by Darin Adler.
3002
3003         Fix for https://bugs.webkit.org/show_bug.cgi?id=57124 When the scroller style is 
3004         changed via delegate method, the page needs a full relayout and repaint
3005         -and corresponding-
3006         <rdar://problem/9059129>
3007
3008         Call into WebKitSystemInterface to associate the new painter with the existing 
3009         painter controller. Reset the scrollbar frame rects to the new thickness -- normally 
3010         this only happens when a scrollbar is created, so we have to reset the thickness 
3011         here to pick up the new theme thickness. Finally, force a full relayout and style 
3012         recall with setNeedsRecalcStyleInAllFrames()
3013         * platform/mac/ScrollAnimatorMac.mm:
3014         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
3015
3016         setNeedsRecalcStyleInAllFrames() used to be a static method in Settings.cpp. This 
3017         patch moves it to be a member function on Page so that it can be called from 
3018         FrameView when the scrollbar style changes.
3019         * page/FrameView.cpp:
3020         (WebCore::FrameView::setNeedsRecalcStyleInAllFrames):
3021         * page/FrameView.h:
3022         * page/Page.cpp:
3023         (WebCore::Page::setNeedsRecalcStyleInAllFrames):
3024         * page/Page.h:
3025         * page/Settings.cpp:
3026         (WebCore::Settings::setStandardFontFamily):
3027         (WebCore::Settings::setFixedFontFamily):
3028         (WebCore::Settings::setSerifFontFamily):
3029         (WebCore::Settings::setSansSerifFontFamily):
3030         (WebCore::Settings::setCursiveFontFamily):
3031         (WebCore::Settings::setFantasyFontFamily):
3032         (WebCore::Settings::setMinimumFontSize):
3033         (WebCore::Settings::setMinimumLogicalFontSize):
3034         (WebCore::Settings::setDefaultFontSize):
3035         (WebCore::Settings::setDefaultFixedFontSize):
3036         (WebCore::Settings::setTextAreasAreResizable):
3037         (WebCore::Settings::setAuthorAndUserStylesEnabled):
3038         (WebCore::Settings::setFontRenderingMode):
3039         (WebCore::Settings::setAcceleratedCompositingEnabled):
3040         (WebCore::Settings::setShowDebugBorders):
3041         (WebCore::Settings::setShowRepaintCounter):
3042         * platform/ScrollableArea.h:
3043         (WebCore::ScrollableArea::setNeedsRecalcStyleInAllFrames):
3044
3045 2011-03-28  Dirk Pranke  <dpranke@chromium.org>
3046
3047         RS=Tony Chang.
3048
3049         r81977 moved FontPlatformData.h from
3050         WebCore/platform/graphics/cocoa to platform/graphics. This
3051         change updates the chromium build accordingly.
3052
3053         https://bugs.webkit.org/show_bug.cgi?id=57281
3054
3055         * platform/graphics/chromium/CrossProcessFontLoading.mm:
3056
3057 2011-03-28  Jer Noble  <jer.noble@apple.com>
3058
3059         Reviewed by Darin Adler.
3060
3061         MediaPlayerPrivateAVFoundation should report that it supportsFullScreen()
3062         https://bugs.webkit.org/show_bug.cgi?id=57249
3063
3064         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3065         (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
3066         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3067
3068 2011-03-28  Jer Noble  <jer.noble@apple.com>
3069
3070         Reviewed by Darin Adler.
3071
3072         AVFoundation can indeed support full screen.
3073
3074         MediaPlayerPrivateAVFoundation should report that it supportsFullScreen()
3075         https://bugs.webkit.org/show_bug.cgi?id=57249
3076
3077         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3078         (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen): Return true if using
3079             the new full screen APIs.
3080         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3081
3082 2011-03-28  Eric Carlson  <eric.carlson@apple.com>
3083
3084         Reviewed by Darin Adler.
3085
3086         http streams don't always display video with AVFoundation backend
3087         https://bugs.webkit.org/show_bug.cgi?id=57203
3088
3089         No new tests, we don't currently have tests for http live streams. Changes verified manually.
3090
3091         * platform/graphics/MediaPlayer.cpp:
3092         (WebCore::MediaPlayer::MediaPlayer): Initialize m_shouldPrepareToRender.
3093         (WebCore::MediaPlayer::loadWithNextMediaEngine): Call prepareForRendering on new engine
3094             if m_shouldPrepareToRender is set.
3095         (WebCore::MediaPlayer::prepareForRendering): Set m_shouldPrepareToRender.
3096         * platform/graphics/MediaPlayer.h:
3097
3098         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3099         (WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup): Don't return true until
3100             m_isAllowedToRender has been set.
3101         (WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering): Always call setUpVideoRendering,
3102             it has logic to figure out when setup is required.
3103         (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Call setUpVideoRendering when we aren't
3104             using the preferred rendering mode because if we get a file's metadata between the
3105             time supportsAcceleratedRendering() and paint() are called, we will allocate a software
3106             renderer even when we prefer a layer backed renderer.
3107         (WebCore::MediaPlayerPrivateAVFoundation::movieLoadType): Return "unknown" until we have metadata.
3108
3109         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
3110         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3111         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Use itemKVOProperties() instead of
3112             an explicit list of key path names.
3113         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL): Ditto.
3114         (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): metadataKeyNames renamed
3115             to assetMetadataKeyNames, return an NSArray instead of a CFArrayRef since that is what the
3116             callers need.
3117         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Return the duration of the 
3118             player item, not the asset, because AVAsset.duration always returns an indefinite time
3119             for all streaming files.
3120         (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): metadataKeyNames renamed
3121             to assetMetadataKeyNames.
3122         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext): Do nothing until
3123             metadata is available.
3124         (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Ditto.
3125         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Split size calculation logic off
3126             into sizeChanged().
3127         (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): New. Use AVPlayerItem.presentationSize
3128             until tracks is non-NULL so we have a size as early as possible.
3129         (WebCore::MediaPlayerPrivateAVFoundationObjC::assetMetadataKeyNames): Renamed from metadataKeyNames.
3130         (WebCore::MediaPlayerPrivateAVFoundationObjC::itemKVOProperties): New, return an array of
3131             KVO observable properties.
3132         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Respond to 
3133             presentationSize change.
3134
3135 2011-03-28  Anders Carlsson  <andersca@apple.com>
3136
3137         Reviewed by Sam Weinig.
3138
3139         Search field focus ring is missing
3140         https://bugs.webkit.org/show_bug.cgi?id=57270
3141         <rdar://problem/8765555>
3142
3143         Add an _automaticFocusRingDisabled method which returns YES.
3144
3145         * platform/mac/ThemeMac.mm:
3146         (-[WebCoreFlippedView _automaticFocusRingDisabled]):
3147
3148 2011-03-28  Dimitri Glazkov  <dglazkov@chromium.org>
3149
3150         Reviewed by Darin Adler.
3151
3152         Move more events to EventDispatcher.
3153         https://bugs.webkit.org/show_bug.cgi?id=57247
3154
3155         No functional changes, covered by existing tests.
3156
3157         * dom/EventDispatcher.cpp:
3158         (WebCore::eventTargetRespectingSVGTargetRules): Made a static function,
3159             since it's not used anywhere outside of the EventDispatcher.
3160         (WebCore::EventDispatcher::dispatchScopedEvent): Moved from Node.cpp.
3161         (WebCore::EventDispatcher::dispatchKeyEvent): Ditto.
3162         (WebCore::EventDispatcher::dispatchWheelEvent): Ditto.
3163         (WebCore::EventDispatcher::dispatchEvent): Changed to use eventTargetRespectingSVGTargetRules
3164             as a static function.
3165         * dom/EventDispatcher.h: Updated decls.
3166         * dom/Node.cpp:
3167         (WebCore::Node::dispatchScopedEvent): Replaced with calling EventDispatcher.
3168         (WebCore::Node::dispatchKeyEvent): Ditto.
3169         (WebCore::Node::dispatchWheelEvent): Ditto.
3170
3171 2011-03-28  Adele Peterson  <adele@apple.com>
3172
3173         Reviewed by Eric Seidel.
3174
3175         Fix for <rdar://problem/9112694> REGRESSION (r79411): "Check grammar with spelling" context menu doesn't check as you type
3176         https://bugs.webkit.org/show_bug.cgi?id=57173
3177
3178         Test: editing/spelling/grammar.html
3179
3180         * WebCore.exp.in: Add symbol for new selectionStartHasMarkerFor method.
3181         * editing/Editor.cpp:
3182         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Every use of paragraph is specific to spelling or grammar, 
3183          so to avoid confusion, we should explicitly use spellingParagraph or grammarParagraph.  In the case of this bug, 
3184          when we're consider ambiguous boundary characters (characters that could indicate word boundaries, but are used 
3185          in the middle of words too, like apostrophes), we should use the use the spellingParagraph since the spellingParagraph 
3186          is the only one operated on when this information is used.
3187          (WebCore::Editor::selectionStartHasMarkerFor): Changed from selectionStartHasSpellingMarkerFor so it can check for grammar as well as spelling.
3188         * editing/Editor.h:
3189
3190 2011-03-28  Dan Bernstein  <mitz@apple.com>
3191
3192         Reviewed by Darin Adler.
3193
3194         <rdar://problem/8895977> REGRESSION: multicol crashes with positioned elements
3195         https://bugs.webkit.org/show_bug.cgi?id=48983
3196
3197         Test: fast/multicol/paginated-layer-crash.html
3198
3199         * rendering/RenderLayer.cpp:
3200         (WebCore::RenderLayer::paintPaginatedChildLayer): Bring the logic for finding pagintating layers
3201         into sync with updatePagination() after r68069.
3202         (WebCore::RenderLayer::hitTestPaginatedChildLayer): Ditto.
3203
3204 2011-03-28  Maciej Stachowiak  <mjs@apple.com>
3205
3206         Reviewed by Darin Adler' .
3207
3208         URLSs with non-empty username but empty hostname treat first path segment as hostname, potentially enabling XSS
3209         https://bugs.webkit.org/show_bug.cgi?id=57220
3210
3211         Test: http/tests/uri/username-with-no-hostname.html
3212
3213         * platform/KURL.cpp:
3214         (WebCore::hostPortIsEmptyButUserPassIsNot):
3215         (WebCore::KURL::parse):
3216
3217 2011-03-28  Adam Barth  <abarth@webkit.org>
3218
3219         Reviewed by Eric Seidel.
3220
3221         script-src should block inline event handlers
3222         https://bugs.webkit.org/show_bug.cgi?id=57212
3223
3224         I considered wrapping this into the canExecute check, but that approach
3225         would require passing that function a bunch of context information to
3226         behave correctly once we add support for the "options" directive that
3227         re-enables these features.
3228
3229         Test: http/tests/security/contentSecurityPolicy/script-src-none-inline-event.html
3230
3231         * bindings/js/JSLazyEventListener.cpp:
3232         (WebCore::JSLazyEventListener::initializeJSFunction):
3233             - This function was a mess.  I couldn't resist cleaning it up a
3234               bunch.  Notice that we ASSERT at the beginning of the function
3235               that scriptExecutionContext is a document and that both ways of
3236               getting the global object are the same when document->frame() is
3237               non-zero because the document must be active and there is a
3238               one-to-one relation between Frames and active Documents.
3239         * bindings/v8/V8LazyEventListener.cpp:
3240         (WebCore::V8LazyEventListener::prepareListenerObject):
3241         * page/ContentSecurityPolicy.cpp:
3242         (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
3243         * page/ContentSecurityPolicy.h:
3244
3245 2011-03-28  Jeff Miller  <jeffm@apple.com>
3246
3247         Reviewed by Adam Roben.
3248
3249         ResourceError::certificate() should return a PCCERT_CONTEXT
3250         https://bugs.webkit.org/show_bug.cgi?id=57262
3251
3252         * platform/network/cf/ResourceError.h: certificate() now returns a PCCERT_CONTEXT.
3253         * platform/network/cf/ResourceErrorCF.cpp:
3254         (WebCore::ResourceError::certificate): Added.
3255
3256 2011-03-28  David Hyatt  <hyatt@apple.com>
3257
3258         Reviewed by Simon Fraser and Darin Adler.
3259
3260         https://bugs.webkit.org/show_bug.cgi?id=57221, memory corruption/crashes when positioned objects
3261         occur at the end of a line.
3262         
3263         The old code and new code for dealing with a trailing space object midpoint manipulated a raw
3264         array instead of the Vector. Otherwise this corruption would have been caught prior to check-in.
3265         
3266         I have patched the code to only go through the Vector and to make it handle the case that led to
3267         the corruption. Trailing positioned objects can occur both prior to and following the trailing space
3268         object's midpoint, so we have to be prepared to deal with both cases.
3269         
3270         This is already tested by fast/block/positioning/052.html, and that test now properly progresses
3271         like the other positioning tests did.
3272
3273         * rendering/RenderBlockLineLayout.cpp:
3274         (WebCore::RenderBlock::findNextLineBreak):
3275
3276 2011-03-28  Andrei Popescu  <andreip@google.com>
3277
3278         Reviewed by Steve Block.
3279
3280         V8IDBKeyCustom.cpp does not compile with INDEXED_DATABASE disabled
3281         https://bugs.webkit.org/show_bug.cgi?id=57100
3282
3283         Close the ENABLE guard and the namespace in the right order.
3284
3285         No new tests, just cleanup.
3286
3287         * bindings/v8/custom/V8IDBAnyCustom.cpp:
3288         * bindings/v8/custom/V8IDBKeyCustom.cpp:
3289
3290 2011-03-28  Jeff Miller  <jeffm@apple.com>
3291
3292         Reviewed by Adam Roben.
3293
3294         Include certificate when sending a WebCore::ResourceError to UI process on Windows
3295         https://bugs.webkit.org/show_bug.cgi?id=57195
3296
3297         Add support for tracking the certificate in WebCore::ResourceError.
3298
3299         * platform/network/ResourceErrorBase.cpp:
3300         (WebCore::ResourceErrorBase::copy): Call platformCopy() to copy platform-specific fields.
3301         * platform/network/ResourceErrorBase.h:
3302         (WebCore::ResourceErrorBase::platformCopy): Added.
3303         * platform/network/cf/ResourceError.h: Added constructor that takes certificate data, shadowed platformCopy, added m_certificate.
3304         (WebCore::ResourceError::certificate): Added.
3305         * platform/network/cf/ResourceErrorCF.cpp:
3306         (WebCore::ResourceError::ResourceError): Added constructor that takes certificate data.
3307         (WebCore::ResourceError::platformLazyInit): Read any certificate from the userInfo dictionary.
3308         (WebCore::ResourceError::platformCopy): Copy m_certificate.
3309         (WebCore::ResourceError::cfError): Add any certificate data to the userInfo dictionary in the CFErrorRef.
3310
3311 2011-03-28  Jessie Berlin  <jberlin@apple.com>
3312
3313         Rubber-stamped by Adam Roben.
3314
3315         Add an extra newline to the end of the generated Inspector.idl file so that it does not
3316         trigger the Windows "no newline at at end of file" warning.
3317
3318         * inspector/generate-inspector-idl:
3319
3320 2011-03-28  Csaba Osztrogonác  <ossy@webkit.org>
3321
3322         Buildfix after r82125.
3323
3324         [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
3325         https://bugs.webkit.org/show_bug.cgi?id=57087
3326
3327         * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Convert all char* to QString explicitly.
3328         (WebCore::MediaPlayerPrivateQt::getSupportedTypes):
3329         (WebCore::MediaPlayerPrivateQt::commitLoad):
3330
3331 2011-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3332
3333         Unreviewed, rolling out r82099.
3334         http://trac.webkit.org/changeset/82099
3335         https://bugs.webkit.org/show_bug.cgi?id=57245
3336
3337         Breaks live edits tests on chromium. (Requested by pfeldman on
3338         #webkit).
3339
3340         * inspector/front-end/ScriptsPanel.js:
3341         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
3342         * inspector/front-end/SourceFrame.js:
3343         (WebInspector.SourceFrame.prototype._handleSave):
3344         (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
3345
3346 2011-03-28  Pavel Feldman  <pfeldman@chromium.org>
3347
3348         Reviewed by Yury Semikhatsky.
3349
3350         Web Inspector: brush up and rename debugger domain functions.
3351         https://bugs.webkit.org/show_bug.cgi?id=57240
3352
3353         * inspector/Inspector.json:
3354         * inspector/InspectorAgent.cpp:
3355         (WebCore::InspectorAgent::setFrontend):
3356         (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
3357         * inspector/InspectorDebuggerAgent.cpp:
3358         (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
3359         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3360         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3361         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
3362         (WebCore::InspectorDebuggerAgent::editScriptSource):
3363         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
3364         (WebCore::InspectorDebuggerAgent::didParseSource):
3365         (WebCore::InspectorDebuggerAgent::failedToParseSource):
3366         (WebCore::InspectorDebuggerAgent::didPause):
3367         (WebCore::InspectorDebuggerAgent::didContinue):
3368         * inspector/InspectorDebuggerAgent.h:
3369         * inspector/front-end/DebuggerModel.js:
3370         (WebInspector.DebuggerModel.prototype.setBreakpoint):
3371         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
3372         (WebInspector.DebuggerModel.prototype.removeBreakpoint):
3373         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
3374         (WebInspector.DebuggerDispatcher.prototype.paused):
3375         (WebInspector.DebuggerDispatcher.prototype.resumed):
3376         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
3377         (WebInspector.DebuggerDispatcher.prototype.scriptFailedToParse):
3378         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
3379         * inspector/front-end/ScriptsPanel.js:
3380         (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
3381         * inspector/front-end/inspector.js:
3382         (WebInspector.didCreateWorker):
3383         (WebInspector.didDestroyWorker):
3384
3385 2011-03-28  David Kilzer  <ddkilzer@apple.com>
3386
3387         <http://webkit.org/b/57239> Use forward class declaration instead of including header
3388
3389         Reviewed by Dan Bernstein.
3390
3391         Adding a "using namespace WebCore;" statement in a header may
3392         cause issues when <WebCore/Length.h> is included before
3393         <CoreText/CoreText.h>.
3394
3395         Length.h defines the LengthType enum with a 'Fixed' value.
3396         CoreText.h includes MacTypes.h, which has a
3397         "typedef SInt32 Fixed;" statement, and then CoreText.h includes
3398         other headers that also use 'Fixed', but expect the typedef to
3399         be defined, not the enum.  If another header includes
3400         "using namespace WebCore;" before CoreText.h, the
3401         following compiler errors result (paths abbreviated):
3402
3403             CoreText.framework/Headers/SFNTLayoutTypes.h:689: error: reference to 'Fixed' is ambiguous
3404             MacTypes.h:184: error: candidates are: typedef SInt32 Fixed
3405             Length.h:37: error:                 WebCore::LengthType WebCore::Fixed
3406             SFNTLayoutTypes.h:689: error: 'Fixed' does not name a type
3407
3408         * platform/mac/HTMLConverter.h: Use forward declaration of
3409         DocumentLoader class instead of including header.  Remove the
3410         unused "using namespace WebCore;" statement.
3411
3412 2011-03-26  Dimitri Glazkov  <dglazkov@chromium.org>
3413
3414         Reviewed by Eric Seidel.
3415
3416         Introduce EventDispatcher, the new common way to fire events.
3417         https://bugs.webkit.org/show_bug.cgi?id=57168
3418
3419         The goal here is two-fold:
3420         1) reduce the need to randomly sprinkle guards around the dispatch code
3421         by creating a well-scoped abstraction for dispatching events.
3422         2) create a place where fiddly event-related things like creating event
3423         contexts for ancestors can be done lazily.
3424
3425         Additionally, with all the free-standing static functions, this code was
3426         just begging to come out of Node.cpp.
3427
3428         The first step is a near-mechanical extraction of mouse-related events
3429         from Node.cpp to EventDispatcher. For now, the call sites are just
3430         replaced with invoking EventDispatcher. Later, we can remove these methods
3431         from Node.
3432
3433         Refactoring, no functional changes.
3434
3435         * Android.mk: Added EventDispatcher to build system.
3436         * CMakeLists.txt: Ditto.
3437         * GNUmakefile.am: Ditto.
3438         * WebCore.gypi: Ditto.
3439         * WebCore.pro: Ditto.
3440         * WebCore.vcproj/WebCore.vcproj: Ditto.
3441         * WebCore.xcodeproj/project.pbxproj: Ditto.
3442         * dom/DOMAllInOne.cpp: Ditto.
3443         * dom/EventDispatcher.cpp: Added.
3444         * dom/EventDispatcher.h: Added.
3445         * dom/Node.cpp:
3446         (WebCore::Node::dispatchScopedEvent): Replaced to use EventDispatcher.
3447         (WebCore::Node::dispatchEvent): Ditto.
3448         (WebCore::Node::dispatchMouseEvent): Ditto.
3449         (WebCore::Node::dispatchSimulatedClick): Ditto.
3450         * dom/Node.h: Updated decls.
3451
3452 2011-03-28  Dan Bernstein  <mitz@apple.com>
3453
3454         Reviewed by Maciej Stachowiak.
3455
3456         <rdar://problem/9003382> Incomplete repaint of overflow in flipped lines writing modes
3457         https://bugs.webkit.org/show_bug.cgi?id=57197
3458
3459         Tests: fast/repaint/overflow-flipped-writing-mode-block.html
3460                fast/repaint/overflow-flipped-writing-mode-table.html
3461
3462         * rendering/RenderBlock.cpp:
3463         (WebCore::RenderBlock::paint): Flip the overflow rect before testing for intersection
3464         with the damage rect.
3465         * rendering/RenderTable.cpp:
3466         (WebCore::RenderTable::paint): Made the intersection check more like the one in
3467         RenderBlock::paint().
3468
3469 2011-03-28  Xiaomei Ji  <xji@chromium.org>
3470
3471         Reviewed by Ryosuke Niwa.
3472
3473         move directionOfEnclosingBlock() to be global so that it could be reused.
3474         https://bugs.webkit.org/show_bug.cgi?id=57233.
3475
3476         Provide global function directionOfEnclosingBlock(Node*) so that it could be
3477         reused in SelectionController and other functionalities that need enclosing
3478         block's direcionality, such as moving caret by word in visual order.
3479       
3480         No new functionality, so no new tests.
3481
3482         * editing/SelectionController.cpp:
3483         (WebCore::SelectionController::directionOfEnclosingBlock):
3484         * editing/htmlediting.cpp:
3485         (WebCore::directionOfEnclosingBlock):
3486         * editing/htmlediting.h:
3487
3488 2011-03-28  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
3489
3490         Reviewed by Benjamin Poulain.
3491
3492         [Qt] fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html fails
3493         https://bugs.webkit.org/show_bug.cgi?id=56825
3494
3495         Fixes for context attribute handling:
3496         - Initialize depth and stencil buffer depending on whether they
3497         are enabled in context attributes.
3498         - Always enable depth buffer when stencil buffer is enabled.
3499         - Disable stencil buffer on OpenGL ES 2.0
3500         - Cleaned up clutter code from initialization. Made code paths 
3501         more sane.
3502         - Clear mask is now set correctly in reshape().
3503
3504         Tests: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
3505
3506         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3507         (WebCore::GraphicsContext3DInternal::isValid):
3508         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
3509         (WebCore::GraphicsContext3DInternal::reshape):
3510         (WebCore::GraphicsContext3DInternal::paint):
3511         (WebCore::GraphicsContext3DInternal::getProcAddress):
3512         (WebCore::GraphicsContext3D::GraphicsContext3D):
3513         (WebCore::GraphicsContext3D::reshape):
3514         (WebCore::GraphicsContext3D::bindFramebuffer):
3515
3516 2011-03-28  Pavel Feldman  <pfeldman@chromium.org>
3517
3518         Reviewed by Yury Semikhatsky.
3519
3520         Web Inspector: rename network domain events from didHappenSomething to somethingHappened.
3521         https://bugs.webkit.org/show_bug.cgi?id=57226
3522
3523         * inspector/Inspector.json:
3524         * inspector/InspectorResourceAgent.cpp:
3525         (WebCore::InspectorResourceAgent::willSendRequest):
3526         (WebCore::InspectorResourceAgent::markResourceAsCached):
3527         (WebCore::InspectorResourceAgent::didReceiveResponse):
3528         (WebCore::InspectorResourceAgent::didReceiveContentLength):
3529         (WebCore::InspectorResourceAgent::didFinishLoading):
3530         (WebCore::InspectorResourceAgent::didFailLoading):
3531         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
3532         (WebCore::InspectorResourceAgent::setInitialContent):
3533         (WebCore::InspectorResourceAgent::didCommitLoad):
3534         (WebCore::InspectorResourceAgent::frameDetachedFromParent):
3535         (WebCore::InspectorResourceAgent::didCreateWebSocket):
3536         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
3537         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
3538         (WebCore::InspectorResourceAgent::didCloseWebSocket):
3539         * inspector/front-end/NetworkManager.js:
3540         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
3541         (WebInspector.NetworkDispatcher.prototype.resourceMarkedAsCached):
3542         (WebInspector.NetworkDispatcher.prototype.responseReceived):
3543         (WebInspector.NetworkDispatcher.prototype.dataReceived):
3544         (WebInspector.NetworkDispatcher.prototype.loadingFinished):
3545         (WebInspector.NetworkDispatcher.prototype.loadingFailed):
3546         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
3547         (WebInspector.NetworkDispatcher.prototype.frameDetached):
3548         (WebInspector.NetworkDispatcher.prototype.initialContentSet):
3549         (WebInspector.NetworkDispatcher.prototype.frameNavigated):
3550         (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
3551         (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
3552         (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
3553         (WebInspector.NetworkDispatcher.prototype.webSocketClosed):
3554
3555 2011-03-28  Mikhail Naganov  <mnaganov@chromium.org>
3556
3557         Reviewed by Pavel Feldman.
3558
3559         WebInspector: [Chromium] Delete native CPU profiles and heap snapshots on binding disposal.
3560         https://bugs.webkit.org/show_bug.cgi?id=57099
3561
3562         * bindings/v8/ScriptHeapSnapshot.cpp:
3563         (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
3564         * bindings/v8/ScriptHeapSnapshot.h:
3565         * bindings/v8/ScriptProfile.cpp:
3566         (WebCore::ScriptProfile::~ScriptProfile):
3567         * bindings/v8/ScriptProfile.h:
3568         * inspector/InspectorProfilerAgent.cpp:
3569         (WebCore::InspectorProfilerAgent::resetState):
3570
3571 2011-03-24  Pavel Podivilov  <podivilov@chromium.org>
3572
3573         Reviewed by Yury Semikhatsky.
3574
3575         Web Inspector: fix console messages positions in formatted scripts.
3576         https://bugs.webkit.org/show_bug.cgi?id=57010
3577
3578         * inspector/front-end/DebuggerPresentationModel.js:
3579         (WebInspector.DebuggerPresentationModel):
3580         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
3581         (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestMapping):
3582         (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
3583         (WebInspector.DebuggerPresentationModel.prototype.clearConsoleMessages):
3584         (WebInspector.DebuggerPresentationModel.prototype._reset):
3585         * inspector/front-end/ResourceTreeModel.js:
3586         (WebInspector.ResourceTreeModel.prototype.addConsoleMessage):
3587         * inspector/front-end/ScriptsPanel.js:
3588         (WebInspector.ScriptsPanel):
3589         (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
3590         (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
3591         (WebInspector.ScriptsPanel.prototype._consoleMessageAdded):
3592         (WebInspector.ScriptsPanel.prototype.reset):
3593         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
3594         * inspector/front-end/SourceFile.js:
3595         (WebInspector.SourceFile):
3596         * inspector/front-end/SourceFrame.js:
3597         (WebInspector.SourceFrame.prototype.addMessage):
3598         (WebInspector.SourceFrame.prototype._addExistingMessagesToSource):
3599         (WebInspector.SourceFrame.prototype.addMessageToSource):
3600
3601 2011-03-27  Pavel Feldman  <pfeldman@chromium.org>
3602
3603         Reviewed by Yury Semikhatsky.
3604
3605         Web Inspector: refactor ResourceTreeModel to remove poor dependencies.
3606         https://bugs.webkit.org/show_bug.cgi?id=57186
3607
3608         - ResourceTreeModel is now event target (Object)
3609         - There is no ResourceTreeModel -> UI dependencies
3610         - NetworkManager -> ResourceTreeModel dependencies has been removed
3611         - NetworkManager is no longer dealing with the resources tree, it is only responsible for network events
3612         - ResourceTreeModel requests tree structure from the backend separately
3613         - Cached resources tree payload is now limited to url and type (no headers involved)
3614         - Resources tree is being rendered lazily upon request from the panel.
3615
3616         * inspector/Inspector.json:
3617         * inspector/InspectorResourceAgent.cpp:
3618         (WebCore::InspectorResourceAgent::resourceContent):
3619         (WebCore::InspectorResourceAgent::resourceContentBase64):
3620         (WebCore::buildObjectForFrameTree):
3621         (WebCore::InspectorResourceAgent::enable):
3622         (WebCore::InspectorResourceAgent::getCachedResources):
3623         (WebCore::InspectorResourceAgent::getResourceContent):
3624         * inspector/InspectorResourceAgent.h:
3625         * inspector/InspectorStyleSheet.cpp:
3626         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
3627         * inspector/front-end/InspectorFrontendHostStub.js:
3628         (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):
3629         (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting):
3630         * inspector/front-end/NetworkManager.js:
3631         (WebInspector.NetworkManager):
3632         (WebInspector.NetworkManager.prototype.frontendReused):
3633         (WebInspector.NetworkManager.prototype.requestContent):
3634         (WebInspector.NetworkDispatcher):
3635         (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
3636         (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
3637         (WebInspector.NetworkDispatcher.prototype.frameDetachedFromParent):
3638         (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
3639         * inspector/front-end/NetworkPanel.js:
3640         (WebInspector.NetworkPanel):
3641         (WebInspector.NetworkPanel.prototype._updateSummaryBar):
3642         (WebInspector.NetworkPanel.prototype._onFrameCommitLoad):
3643         * inspector/front-end/ResourceTreeModel.js:
3644         (WebInspector.ResourceTreeModel):
3645         (WebInspector.ResourceTreeModel.prototype.frontendReused):
3646         (WebInspector.ResourceTreeModel.prototype._processCachedResources):
3647         (WebInspector.ResourceTreeModel.prototype._addOrUpdateFrame):
3648         (WebInspector.ResourceTreeModel.prototype.frames):
3649         (WebInspector.ResourceTreeModel.prototype.subframes):
3650         (WebInspector.ResourceTreeModel.prototype.resources):
3651         (WebInspector.ResourceTreeModel.prototype._onCommitLoad):
3652         (WebInspector.ResourceTreeModel.prototype._onFrameDetachedFromParent):
3653         (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
3654         (WebInspector.ResourceTreeModel.prototype._addResourceToFrame):
3655         (WebInspector.ResourceTreeModel.prototype.resourceForURL):
3656         (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
3657         (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
3658         (WebInspector.ResourceTreeModel.prototype._clearResources):
3659         (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
3660         (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
3661         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
3662         (WebInspector.ResourceTreeModel.prototype._createResource):
3663         * inspector/front-end/ResourcesPanel.js:
3664         (WebInspector.ResourcesPanel):
3665         (WebInspector.ResourcesPanel.prototype.show):
3666         (WebInspector.ResourcesPanel.prototype._populateResourceTree.populateFrame):
3667         (WebInspector.ResourcesPanel.prototype._populateResourceTree):
3668         (WebInspector.ResourcesPanel.prototype._frameAdded):
3669         (WebInspector.ResourcesPanel.prototype._frameDetached):
3670         (WebInspector.ResourcesPanel.prototype._resourceAdded):
3671         (WebInspector.ResourcesPanel.prototype._frameNavigated):
3672         (WebInspector.FrameTreeElement.prototype.setTitles):
3673         * inspector/front-end/inspector.js:
3674         (WebInspector.frontendReused):
3675
3676 2011-03-27  Ryosuke Niwa  <rniwa@webkit.org>
3677
3678         Reviewed by Eric Seidel.
3679
3680         WebKit's behavior for text-align inherit differs from other browsers
3681         https://bugs.webkit.org/show_bug.cgi?id=56377
3682
3683         The bug was caused by WebKit's resolving text-align: start and text-align: end too early.
3684         As discussed on the bug, when text-align: start and text-align: end are inherited by descendent nodes,
3685         the alignment of the text in those nodes should be determined based on the directionality of the text,
3686         not by the directionality of the ancestor node from which text-align property is inherited.
3687
3688         Fixed the bug by introducing new enum values to ETextAlign: TASTART and TAEND. These two values will
3689         align text to the left in a LTR context and to the right in a RTL context respectively.
3690
3691         * css/CSSPrimitiveValueMappings.h:
3692         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added the support for TASTART and TAEND.
3693         (WebCore::CSSPrimitiveValue::operator ETextAlign): Ditto.
3694         * css/CSSStyleSelector.cpp:
3695         (WebCore::CSSStyleSelector::applyProperty): No longer processes CSSValueStart and CSSValueEnd.
3696         * rendering/RenderBlock.cpp:
3697         (WebCore::RenderBlock::localCaretRect): Added the support for TASTART and TAEND.
3698         * rendering/RenderBlockLineLayout.cpp:
3699         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Added the support for TASTART and TAEND.
3700         * rendering/RenderText.cpp:
3701         (WebCore::RenderText::localCaretRect): Ditto.
3702         * rendering/style/RenderStyle.h: ETextAlign now has 10 values and requires 4 bits.
3703         * rendering/style/RenderStyleConstants.h: Added TASTART and TAEND to ETextAlign.
3704
3705 2011-03-28  Pavel Podivilov  <podivilov@chromium.org>
3706
3707         Reviewed by Yury Semikhatsky.
3708
3709         Web Inspector: fix breakpoints positions in formatted scripts.
3710         https://bugs.webkit.org/show_bug.cgi?id=56931
3711
3712         Add async requestMapping method to SourceFile interface as required for populating
3713         breakpoints sidebar pane when in "format all scripts" mode.
3714
3715         * inspector/front-end/DebuggerPresentationModel.js:
3716         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
3717         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didRequestSourceMapping):
3718         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
3719         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
3720         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
3721         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame.didRequestSourceMapping):
3722         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
3723         (WebInspector.PresentationBreakpoint): Breakpoint wrapper for UI.
3724         (WebInspector.PresentationBreakpoint.prototype.get sourceFileId):
3725         (WebInspector.PresentationBreakpoint.prototype.get lineNumber):
3726         (WebInspector.PresentationBreakpoint.prototype.get condition):
3727         (WebInspector.PresentationBreakpoint.prototype.get enabled):
3728         (WebInspector.PresentationBreakpoint.prototype.get url):
3729         (WebInspector.PresentationBreakpoint.prototype.get resolved):
3730         (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
3731         * inspector/front-end/ScriptFormatter.js:
3732         (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
3733         (WebInspector.ScriptFormatter.prototype.formatContent):
3734         * inspector/front-end/SourceFile.js:
3735         (WebInspector.SourceFile.prototype.requestSourceMapping):
3736         (WebInspector.FormattedSourceFile.prototype.requestSourceMapping):
3737         (WebInspector.FormattedSourceFile.prototype._didRequestContent):
3738         (WebInspector.SourceMapping):
3739         (WebInspector.SourceMapping.prototype.scriptLocationToSourceLocation):
3740         (WebInspector.SourceMapping.prototype.sourceLocationToScriptLocation):
3741         (WebInspector.FormattedSourceMapping):
3742         (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLocation):
3743         (WebInspector.FormattedSourceMapping.prototype.sourceLocationToScriptLocation):
3744         (WebInspector.FormattedSourceMapping.prototype._convertPosition):
3745
3746 2011-03-28  Nancy Piedra  <nancy.piedra@nokia.com>
3747
3748         Reviewed by Csaba Osztrogonác.
3749
3750         This patch fixes linking errors on Qt Webkit Windows MinGW builds.
3751         This patch sets the BUILDING_WEBKIT & QT_MAKEDLL macros so that
3752         QWEBKIT_EXPORT is defined as follows:
3753         #define QWEBKIT_EXPORT Q_DECL_EXPORT
3754
3755         No new tests needed since only changing .pro file.
3756
3757         * WebCore.pro:
3758
3759 2011-03-28  Andrey Adaikin  <aandrey@google.com>
3760
3761         Reviewed by Yury Semikhatsky.
3762
3763         Web Inspector: source frame should show the error to user when live edit is failed
3764         https://bugs.webkit.org/show_bug.cgi?id=57002
3765
3766         * inspector/front-end/ScriptsPanel.js:
3767         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
3768         * inspector/front-end/SourceFrame.js:
3769         (WebInspector.SourceFrame.prototype._handleSave.didSaveScriptSource):
3770         (WebInspector.SourceFrame.prototype._handleSave):
3771         (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
3772
3773 2011-03-26  Mario Sanchez Prada  <msanchez@igalia.com>
3774
3775         Reviewed by Martin Robinson.
3776
3777         [GTK] Expose the AtkValue interface for WAI-ARIA sliders
3778         https://bugs.webkit.org/show_bug.cgi?id=56655
3779
3780         Implement AtkValue interface for WAI-ARIA sliders.
3781
3782         Test: platform/gtk/accessibility/aria-slider-required-attributes.html
3783
3784         * accessibility/gtk/AXObjectCacheAtk.cpp:
3785         (WebCore::AXObjectCache::postPlatformNotification): Emit the
3786         'property-change::accessible-value' signal when needed.
3787
3788         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3789         (core): New, returns a core object from an AtkValue.
3790         (webkitAccessibleValueGetCurrentValue): New, implements AtkValue.
3791         (webkitAccessibleValueGetMaximumValue): Ditto.
3792         (webkitAccessibleValueGetMinimumValue): Ditto.
3793         (webkitAccessibleValueSetCurrentValue): Ditto.
3794         (webkitAccessibleValueGetMinimumIncrement): Ditto.
3795         (atkValueInterfaceInit): Ditto.
3796         (GetAtkInterfaceTypeFromWAIType): Add ATK_TYPE_VALUE.
3797         (getInterfaceMaskFromObject): Set the WAI_VALUE bit for sliders.
3798
3799 2011-03-28  Maciej Stachowiak  <mjs@apple.com>
3800
3801         Reviewed by Dan Bernstein.
3802
3803         Assigning location.path to something that doesn't start with / mangles the authority
3804         https://bugs.webkit.org/show_bug.cgi?id=57209
3805         <rdar://problem/9195132>
3806         
3807         Tests: http/tests/uri/assign-path-with-leading-slash.html
3808                http/tests/uri/assign-path-without-leading-slash.html
3809
3810         * platform/KURL.cpp:
3811         (WebCore::KURL::setPath): If the new path does not have a leading slash, add one.
3812
3813 2011-03-28  Ryosuke Niwa  <rniwa@webkit.org>
3814
3815         Reviewed by Eric Seidel.
3816
3817         Extract functions to update logical width from computeInlineDirectionPositionsForLine
3818         https://bugs.webkit.org/show_bug.cgi?id=57213
3819
3820         Extracted updateLogicalWidthForLeftAlignedBlock, updateLogicalWidthForRightAlignedBlock,
3821         and updateLogicalWidthForCenterAlignedBlock from computeInlineDirectionPositionsForLine.
3822
3823         They are used to update logical widths, logical left, and total logical width for left,
3824         right, and center aligned blocks.
3825
3826         * rendering/RenderBlockLineLayout.cpp:
3827         (WebCore::updateLogicalWidthForLeftAlignedBlock):
3828         (WebCore::updateLogicalWidthForRightAlignedBlock):
3829         (WebCore::updateLogicalWidthForCenterAlignedBlock):
3830         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
3831
3832 2011-03-28  Evan Martin  <evan@chromium.org>
3833
3834         Reviewed by Ryosuke Niwa.
3835
3836         Refactor duplicate code in HTMLTextElement
3837         https://bugs.webkit.org/show_bug.cgi?id=57215
3838
3839         * html/HTMLTitleElement.cpp:
3840         (WebCore::HTMLTitleElement::childrenChanged):
3841         This method did an equivalent loop to the text() method on
3842         the same object.
3843
3844 2011-03-27  Fumitoshi Ukai  <ukai@chromium.org>
3845
3846         Reviewed by Alexey Proskuryakov.
3847
3848         Don't call WebSocket::didClose() more than once.
3849         https://bugs.webkit.org/show_bug.cgi?id=57081
3850
3851         If WebSocket close() is called, and connection is established, then
3852         it will call didClose() that resets m_channel to 0.
3853         After that, when connection is closed, WebSocketChannel will call
3854         didClose for the WebSocket instance.
3855
3856         Call WebSocketChannel::disconnect() before m_channel = 0 to make sure
3857         WebSocketChannel suppress the second didClose().
3858
3859         Test: http/tests/websocket/tests/close-unref-websocket.html
3860
3861         * websockets/WebSocket.cpp:
3862         (WebCore::WebSocket::didClose):
3863
3864 2011-03-27  Adam Barth  <abarth@webkit.org>
3865
3866         Reviewed by Eric Seidel.
3867
3868         Fix script-src redirect handling
3869         https://bugs.webkit.org/show_bug.cgi?id=57196
3870
3871         Resource-loading requirements in CSP apply to each hop in the redirect
3872         chain.  To make that work properly, we need to move enforcement into
3873         the loader.  Fortunately, we already have a choke-point in the loader
3874         for enforcing this kind of policy.
3875
3876         * dom/ScriptElement.cpp:
3877         (WebCore::ScriptElement::requestScript):
3878         * html/parser/HTMLDocumentParser.cpp:
3879         * html/parser/HTMLDocumentParser.h:
3880         * html/parser/HTMLScriptRunnerHost.h:
3881         * loader/cache/CachedResourceLoader.cpp:
3882         (WebCore::CachedResourceLoader::canRequest):
3883         * page/ContentSecurityPolicy.cpp:
3884         (WebCore::ContentSecurityPolicy::allowScriptFromSource):
3885         * page/ContentSecurityPolicy.h:
3886
3887 2011-03-27  Jer Noble  <jer.noble@apple.com>
3888
3889         Reviewed by Maciej Stachowiak.
3890
3891         Full Screen: disable keyboard access by default
3892         https://bugs.webkit.org/show_bug.cgi?id=56684
3893
3894         Pass whether keyboard access was requested up to ChromeClient when asking
3895         if fullscreen mode is supported.
3896
3897         * dom/Document.cpp:
3898         (WebCore::Document::webkitRequestFullScreenForElement):
3899         * page/ChromeClient.h:
3900         (WebCore::ChromeClient::supportsFullscreenForElement):
3901
3902 2011-03-27  Patrick Gansterer  <paroga@webkit.org>
3903
3904         Reviewed by Andreas Kling.
3905
3906         [CMake] Generate WebKitVersion.h
3907         https://bugs.webkit.org/show_bug.cgi?id=57128
3908
3909         This file will be used for the user agent string by the CMake based ports.
3910
3911         * CMakeLists.txt:
3912
3913 2011-03-27  Ben Taylor  <bentaylor.solx86@gmail.com>
3914
3915         Reviewed by Alexey Proskuryakov.
3916
3917         https://bugs.webkit.org/show_bug.cgi?id=57170  Fix last elements
3918         in an enum to remove a trailing comma. Sun Studio 12 CC errors out.
3919
3920         Compile fix only, no actual code change.
3921
3922         * dom/ExceptionCode.h:
3923         * editing/EditorInsertAction.h:
3924         * loader/FrameLoaderTypes.h:
3925         * platform/PlatformKeyboardEvent.h:
3926         * platform/ScrollTypes.h:
3927         * platform/graphics/BitmapImage.h:
3928         * platform/image-decoders/ImageDecoder.h:
3929         * platform/network/ProtectionSpace.h:
3930         * platform/network/ResourceHandleClient.h:
3931         * platform/network/ResourceRequestBase.h:
3932         * platform/text/TextCodec.h:
3933
3934 2011-03-27  Rob Buis  <rwlbuis@gmail.com>
3935
3936         Reviewed by Nikolas Zimmermann.
3937
3938         Text on path positioning at zero startOffset
3939         https://bugs.webkit.org/show_bug.cgi?id=56245
3940
3941         Since for length 0 no previous point is set, choose epsilon
3942         length to get normal at starting point of the path.
3943
3944         Test: svg/text/text-path-middle-align.svg
3945
3946         * platform/graphics/Path.cpp:
3947         (WebCore::Path::normalAngleAtLength):
3948
3949 2011-03-27  Ben Taylor  <bentaylor.solx86@gmail.com>
3950
3951         Reviewed by Oliver Hunt.
3952
3953         https://bugs.webkit.org/show_bug.cgi?id=57151, patch derived from set
3954         created by Thiago Macieria in bug https://bugs.webkit.org/show_bug.cgi?id=24932
3955
3956         Fix compile issue on Solaris 10/Sun Studio 12 regarding ambiguity on ?: functions
3957
3958         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3959         (WebCore::JSJavaScriptCallFrame::thisObject):
3960
3961 2011-03-26  Jer Noble  <jer.noble@apple.com>
3962
3963         Unreviewed build fix.
3964
3965         Fix a bug which was causing the "skip back" button to be missing, causing 
3966         the media layout tests to fail.
3967
3968         * rendering/RenderThemeMac.mm:
3969         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
3970
3971 2011-03-26  Dan Bernstein  <mitz@apple.com>
3972
3973         Reviewed by Maciej Stachowiak.
3974
3975         <rdar://problem/9180716> REGRESSION (r80582): Angle bracket rendered upright in vertical mode
3976         https://bugs.webkit.org/show_bug.cgi?id=57169
3977
3978         Test: fast/blockflow/fallback-orientation.html
3979
3980         * platform/graphics/FontFastPath.cpp:
3981         (WebCore::Font::glyphDataForCharacter): If the font has vertical glyphs, use it, rather
3982         than continuing down the fallback list.
3983
3984 2011-03-26  Maciej Stachowiak  <mjs@apple.com>
3985
3986         Reviewed by Darin Adler.
3987
3988         Follow-up fix for crash with giant inline stylesheets - actually don't crash, and add test
3989         https://bugs.webkit.org/show_bug.cgi?id=56150
3990
3991         Test: fast/css/giant-stylesheet-crash.html
3992
3993         * dom/StyleElement.cpp:
3994         (WebCore::StyleElement::process):
3995
3996 2011-03-22  Jer Noble  <jer.noble@apple.com>
3997
3998         Reviewed by Eric Carlson.
3999
4000         Media controls must use full screen style when in new full screen mode.
4001         https://bugs.webkit.org/show_bug.cgi?id=56851
4002
4003         Add new full screen styles for the full screen media elements.
4004
4005         * DerivedSources.make: Add fullScreenQuickTime.css.
4006         * WebCore.xcodeproj/project.pbxproj: Ditto.
4007         * css/CSSStyleSelector.cpp: Removed loadFullScreenRulesIfNeeded().
4008         (WebCore::CSSStyleSelector::CSSStyleSelector): Ditto.
4009         (WebCore::CSSStyleSelector::styleForElement): Load full screen rules 
4010             if needed.
4011         * css/fullscreenQuickTime.css: Added.
4012         * css/mediaControls.css:
4013         * html/shadow/MediaControls.cpp:
4014         (WebCore::isFullScreen): Added.
4015         (WebCore::MediaControls::create): Add new full screen volume controls.
4016         (WebCore::MediaControls::updateStyle): Ditto.
4017         (WebCore::MediaControls::update): Ditto.
4018         (WebCore::MediaControls::updateVolumeSliderContainer): Ditto.
4019         (WebCore::MediaControls::forwardEvent): Ditto.
4020         * rendering/MediaControlElements.cpp:
4021         (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement): Added.
4022         (WebCore::MediaControlFullscreenVolumeSliderElement::create): Added.
4023         (WebCore::MediaControlFullscreenVolumeSliderElement::shadowPseudoId): Added.
4024         (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement): Addet
4025         (WebCore::MediaControlFullscreenVolumeMinButtonElement::create): Added.
4026         (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Added.
4027         (WebCore::MediaControlFullscreenVolumeMinButtonElement::shadowPseudoId): Added.
4028         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement): Added.
4029         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create): Added.
4030         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Added.
4031         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::shadowPseudoId): Added.
4032         * rendering/MediaControlElements.h:
4033             Added m_overridePosition.
4034         (WebCore::MediaControlVolumeSliderContainerElement::setOverridesPosition): Added.
4035         * rendering/MediaControlElements.h:
4036         (WebCore::MediaControlVolumeSliderContainerElement::overridesPosition): Added.
4037         * rendering/RenderTheme.h:
4038         (WebCore::RenderTheme::extraFullScreenStyleSheet): Added.
4039         * rendering/RenderThemeMac.h:
4040         * rendering/RenderThemeMac.mm:
4041         (WebCore::RenderThemeMac::extraFullScreenStyleSheet): Added.
4042         (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Render seek forward and backward 
4043             buttons.
4044
4045 2011-03-26  Jer Noble  <jer.noble@apple.com>
4046
4047         Reviewed by Dan Bernstein.
4048
4049         RenderMedia should obey the view's flattening bit.
4050         https://bugs.webkit.org/show_bug.cgi?id=57156
4051
4052         Paint the current frame in software when the associated FrameView
4053         has its flattening bit set.
4054
4055         * rendering/RenderVideo.cpp:
4056         (WebCore::RenderVideo::paintReplaced):
4057
4058 2011-03-26  Patrick Gansterer  <paroga@webkit.org>
4059
4060         Unreviewed build fix for !ENABLE(DOM_STORAGE).
4061
4062         * storage/StorageTracker.cpp:
4063             Added #if ENABLE(DOM_STORAGE) like in the other storage files.