1 2013-02-12 Andrey Lushnikov <lushnikov@chromium.org>
3 Web Inspector: separate SuggestBox from TextPrompt
4 https://bugs.webkit.org/show_bug.cgi?id=109430
6 Reviewed by Alexander Pavlov.
8 Create WebInspector.SuggestBoxDelegate interface and
9 refactor TextPrompt to use this interface. Separate SuggestBox into
10 WebInspector.SuggestBox namespace and put it into its own file.
12 No new tests: no change in behaviour.
15 * WebCore.vcproj/WebCore.vcproj:
16 * inspector/compile-front-end.py:
17 * inspector/front-end/SuggestBox.js: Added.
18 (WebInspector.SuggestBoxDelegate):
19 (WebInspector.SuggestBoxDelegate.prototype.applySuggestion):
20 (WebInspector.SuggestBoxDelegate.prototype.acceptSuggestion):
21 (WebInspector.SuggestBoxDelegate.prototype.userEnteredText):
22 (WebInspector.SuggestBox):
23 (WebInspector.SuggestBox.prototype.get visible):
24 (WebInspector.SuggestBox.prototype.get hasSelection):
25 (WebInspector.SuggestBox.prototype._onscrollresize):
26 (WebInspector.SuggestBox.prototype._updateBoxPositionWithExistingAnchor):
27 (WebInspector.SuggestBox.prototype._updateBoxPosition):
28 (WebInspector.SuggestBox.prototype._onboxmousedown):
29 (WebInspector.SuggestBox.prototype.hide):
30 (WebInspector.SuggestBox.prototype.removeFromElement):
31 (WebInspector.SuggestBox.prototype._applySuggestion):
32 (WebInspector.SuggestBox.prototype.acceptSuggestion):
33 (WebInspector.SuggestBox.prototype._selectClosest):
34 (WebInspector.SuggestBox.prototype.updateSuggestions):
35 (WebInspector.SuggestBox.prototype._onItemMouseDown):
36 (WebInspector.SuggestBox.prototype._createItemElement):
37 (WebInspector.SuggestBox.prototype._updateItems):
38 (WebInspector.SuggestBox.prototype._selectItem):
39 (WebInspector.SuggestBox.prototype._canShowBox):
40 (WebInspector.SuggestBox.prototype._rememberRowCountPerViewport):
41 (WebInspector.SuggestBox.prototype._completionsReady):
42 (WebInspector.SuggestBox.prototype.upKeyPressed):
43 (WebInspector.SuggestBox.prototype.downKeyPressed):
44 (WebInspector.SuggestBox.prototype.pageUpKeyPressed):
45 (WebInspector.SuggestBox.prototype.pageDownKeyPressed):
46 (WebInspector.SuggestBox.prototype.enterKeyPressed):
47 (WebInspector.SuggestBox.prototype.tabKeyPressed):
48 * inspector/front-end/TextPrompt.js:
49 (WebInspector.TextPrompt.prototype.userEnteredText):
50 (WebInspector.TextPrompt.prototype._attachInternal):
51 (WebInspector.TextPrompt.prototype._completionsReady):
52 (WebInspector.TextPrompt.prototype.applySuggestion):
53 (WebInspector.TextPrompt.prototype._applySuggestion):
54 (WebInspector.TextPrompt.prototype.enterKeyPressed):
55 (WebInspector.TextPrompt.prototype.upKeyPressed):
56 (WebInspector.TextPrompt.prototype.downKeyPressed):
57 (WebInspector.TextPrompt.prototype.pageUpKeyPressed):
58 (WebInspector.TextPrompt.prototype.pageDownKeyPressed):
59 * inspector/front-end/WebKit.qrc:
60 * inspector/front-end/inspector.html:
62 2013-02-12 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
64 [TexMap] Apply frames-per-second debug counter to WK1.
65 https://bugs.webkit.org/show_bug.cgi?id=109540
67 Reviewed by Noam Rosenthal.
69 Adds basysKom copyright info to TextureMapperFPSCounter header.
71 * platform/graphics/texmap/TextureMapperFPSCounter.cpp:
72 * platform/graphics/texmap/TextureMapperFPSCounter.h:
74 2013-02-12 Sheriff Bot <webkit.review.bot@gmail.com>
76 Unreviewed, rolling out r142531.
77 http://trac.webkit.org/changeset/142531
78 https://bugs.webkit.org/show_bug.cgi?id=109569
80 Causes html5lib/run-template layout test to crash. (Requested
81 by atwilson_ on #webkit).
83 * html/parser/HTMLTreeBuilder.cpp:
84 (WebCore::HTMLTreeBuilder::processTemplateEndTag):
85 (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
86 (WebCore::HTMLTreeBuilder::processEndOfFile):
87 * html/parser/HTMLTreeBuilder.h:
90 2013-02-12 Zan Dobersek <zdobersek@igalia.com>
92 [GTK] Enable CSS image-set support in development builds
93 https://bugs.webkit.org/show_bug.cgi?id=109475
95 Reviewed by Martin Robinson.
97 No new tests - majority of the related tests now passes.
99 * GNUmakefile.features.am.in: Add the feature define for the CSS image-set feature
100 with the define value defaulting to 0. The value gets overridden with 1 in development
101 builds, meaning the feature is enabled under that configuration.
103 2013-02-12 Zan Dobersek <zdobersek@igalia.com>
105 [GTK] Enable DOM4 events constructors in development builds
106 https://bugs.webkit.org/show_bug.cgi?id=109471
108 Reviewed by Martin Robinson.
110 No new tests - the related tests now pass.
112 * GNUmakefile.features.am.in: Add the feature define for the DOM4 events
113 constructors feature, its value defaulting to 0. This value is overridden
114 with 1 in development builds, effectively enabling the feature.
116 2013-02-12 Zan Dobersek <zdobersek@igalia.com>
118 Unreviewed build fix for the GTK port after r142595.
119 Adding the TextureMapperFPSCounter files to the list of build targets
120 in case of using the OpenGL texture mapper.
122 * GNUmakefile.list.am:
124 2013-02-12 Andrey Kosyakov <caseq@chromium.org>
126 Web Inspector: fix closure compiler warnings in extension server and API
127 https://bugs.webkit.org/show_bug.cgi?id=109563
129 Reviewed by Vsevolod Vlasov.
131 * inspector/front-end/ExtensionAPI.js: drive-by: make sure we fail if extensionServer is not defined in outer scope.
132 * inspector/front-end/ExtensionServer.js:
133 (WebInspector.ExtensionServer.prototype.):
134 (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
135 * inspector/front-end/externs.js: add extensionServer
137 2013-02-12 Zoltan Arvai <zarvai@inf.u-szeged.hu>
139 Unreviewed. Fix !ENABLE(INSPECTOR) builds after r142575
141 * inspector/InspectorInstrumentation.h:
142 (WebCore::InspectorInstrumentation::willDispatchEvent):
144 2013-02-12 Andrey Lushnikov <lushnikov@chromium.org>
146 Web Inspector: move showWhitespace option into experiments
147 https://bugs.webkit.org/show_bug.cgi?id=109552
149 Reviewed by Vsevolod Vlasov.
151 Remove "show whitespace" setting and add it to experiments.
153 No new tests: fixed an existing test to verify changes.
155 * English.lproj/localizedStrings.js:
156 * inspector/front-end/DefaultTextEditor.js:
157 (WebInspector.TextEditorMainPanel):
158 (WebInspector.TextEditorMainPanel.prototype.wasShown):
159 (WebInspector.TextEditorMainPanel.prototype.willHide):
160 * inspector/front-end/Settings.js:
161 (WebInspector.ExperimentsSettings):
162 * inspector/front-end/SettingsScreen.js:
163 (WebInspector.GenericSettingsTab):
165 2013-02-12 Tamas Czene <tczene@inf.u-szeged.hu>
167 Add error checking into OpenCL version of SVG filters.
168 https://bugs.webkit.org/show_bug.cgi?id=107444
170 Reviewed by Zoltan Herczeg.
172 In case of an error the program runs through all the remaining filters by doing nothing.
173 After that deletes the results of every filter and starts software rendering.
175 * platform/graphics/filters/FilterEffect.cpp:
177 (WebCore::FilterEffect::applyAll): At software rendering this is a simple inline methode, but at OpenCL rendering it releases OpenCL things. If we have an error remove filter's results and start software rendering.
178 (WebCore::FilterEffect::clearResultsRecursive):
179 (WebCore::FilterEffect::openCLImageToImageBuffer):
180 (WebCore::FilterEffect::createOpenCLImageResult):
181 (WebCore::FilterEffect::transformResultColorSpace):
182 * platform/graphics/filters/FilterEffect.h:
184 (WebCore::FilterEffect::applyAll):
185 * platform/graphics/gpu/opencl/FilterContextOpenCL.cpp:
186 (WebCore::FilterContextOpenCL::isFailed):
188 (WebCore::FilterContextOpenCL::freeResources):
189 (WebCore::FilterContextOpenCL::destroyContext):
190 (WebCore::FilterContextOpenCL::compileTransformColorSpaceProgram):
191 (WebCore::FilterContextOpenCL::openCLTransformColorSpace):
192 (WebCore::FilterContextOpenCL::compileProgram):
193 (WebCore::FilterContextOpenCL::freeResource):
194 * platform/graphics/gpu/opencl/FilterContextOpenCL.h:
195 (WebCore::FilterContextOpenCL::FilterContextOpenCL):
196 (WebCore::FilterContextOpenCL::setInError):
197 (WebCore::FilterContextOpenCL::inError):
198 (FilterContextOpenCL):
199 (WebCore::FilterContextOpenCL::RunKernel::RunKernel):
200 (WebCore::FilterContextOpenCL::RunKernel::addArgument):
201 (WebCore::FilterContextOpenCL::RunKernel::run):
203 * platform/graphics/gpu/opencl/OpenCLFEColorMatrix.cpp:
204 (WebCore::FilterContextOpenCL::compileFEColorMatrix):
205 (WebCore::FEColorMatrix::platformApplyOpenCL):
206 * platform/graphics/gpu/opencl/OpenCLFETurbulence.cpp:
207 (WebCore::FilterContextOpenCL::compileFETurbulence):
208 (WebCore::FETurbulence::platformApplyOpenCL):
209 * rendering/svg/RenderSVGResourceFilter.cpp:
210 (WebCore::RenderSVGResourceFilter::postApplyResource):
212 2013-02-12 Huang Dongsung <luxtella@company100.net>
214 [TexMap] Apply frames-per-second debug counter to WK1.
215 https://bugs.webkit.org/show_bug.cgi?id=109540
217 Reviewed by Noam Rosenthal.
219 r142524 implemented frames-per-second debug counter on WK2. This patch
220 applies frames-per-second debug counter to WK1 also.
222 Visual debugging feature, no need for new tests.
225 * GNUmakefile.list.am:
227 * platform/graphics/texmap/TextureMapper.h:
228 * platform/graphics/texmap/TextureMapperFPSCounter.cpp: Added.
230 (WebCore::TextureMapperFPSCounter::TextureMapperFPSCounter):
231 (WebCore::TextureMapperFPSCounter::updateFPSAndDisplay):
232 * platform/graphics/texmap/TextureMapperFPSCounter.h: Added.
234 (TextureMapperFPSCounter):
235 * platform/graphics/texmap/TextureMapperGL.cpp:
237 (WebCore::TextureMapperGL::drawNumber):
238 Rename from drawRepaintCounter to drawNumber.
239 * platform/graphics/texmap/TextureMapperGL.h:
240 * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
241 (WebCore::TextureMapperImageBuffer::drawNumber):
242 * platform/graphics/texmap/TextureMapperImageBuffer.h:
243 (TextureMapperImageBuffer):
244 * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
245 (WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
246 * platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
247 (WebCore::CoordinatedBackingStore::drawRepaintCounter):
248 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
249 Move frames-per-second debug counter code to TextureMapperFPSCounter.
250 (WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
251 (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
252 (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
253 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
255 2013-02-11 Yury Semikhatsky <yurys@chromium.org>
257 Web Inspector: stack trace is cut at native bind if inspector is closed
258 https://bugs.webkit.org/show_bug.cgi?id=109427
260 Reviewed by Pavel Feldman.
262 Only top frame is collected instead of full stack trace when inspector
263 front-end is closed to avoid expensive operations when exceptions are
266 Test: http/tests/inspector-enabled/console-exception-while-no-inspector.html
268 * inspector/InspectorConsoleAgent.cpp:
269 (WebCore::InspectorConsoleAgent::addMessageToConsole):
271 2013-02-12 Kent Tamura <tkent@chromium.org>
273 INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input should not move focus
274 https://bugs.webkit.org/show_bug.cgi?id=109544
276 Reviewed by Kentaro Hara.
278 This is similar to Bug 108914, "Should not move focus if the element
279 already has focus." We fixed a focus() case in Bug 108914. However we
280 still have the problem in a case of focusing by mouse click.
282 The fix for Bug 108914 intercepted focus() function to change the
283 behavior. However focus-by-click doesn't call focus(), but calls
284 FocusController::setFocusedNode. To fix this problem, we introduce
285 oldFocusedNode argument to handleFocusEvent, and
286 BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent restores the
287 focus to oldFocusedNode if oldFocusedNode is one of sub-fields.
288 handleFocusEvent is called whenever the focused node is changed.
290 We don't need InputType::willCancelFocus any more because the new code
291 in handleFocusEvent covers it.
293 Tests: Update fast/forms/time-multiple-fields/time-multiple-fields-focus.html.
295 * html/HTMLTextFormControlElement.h:
296 (WebCore::HTMLTextFormControlElement::handleFocusEvent):
297 Add oldFocusedNode argument.
298 * html/HTMLTextFormControlElement.cpp:
299 (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
300 Pass oldFocusedNode to handleFocusEvent.
302 * html/HTMLInputElement.h:
304 - Add oldFocusedNode argument to handleFocusEvent.
305 - Remove focus() override.
306 * html/HTMLInputElement.cpp: Remove focus() override.
307 (WebCore::HTMLInputElement::handleFocusEvent):
308 Pass oldFocusedNode to InputType::handleFocusEvent.
309 * html/InputType.cpp: Remove willCancelFocus.
310 (WebCore::InputType::handleFocusEvent):
311 Add oldFocusedNode argument.
314 * html/PasswordInputType.cpp:
315 (WebCore::PasswordInputType::handleFocusEvent): Ditto.
316 * html/PasswordInputType.h:
317 (PasswordInputType): Ditto.
319 * html/BaseMultipleFieldsDateAndTimeInputType.h:
320 (BaseMultipleFieldsDateAndTimeInputType):
321 Remove willCancelFocus, and add oldFocusedNode argument to handleFocusEvent.
322 * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
323 (WebCore::BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent):
324 Pass oldFocusedNode to DateTimeEditElement::focusByOwner if the
325 direction is FocusDirectionNone.
327 * html/shadow/DateTimeEditElement.h:
328 (DateTimeEditElement): Add oldFocusedNode argument to focusByOwner.
329 * html/shadow/DateTimeEditElement.cpp:
330 (WebCore::DateTimeEditElement::focusByOwner):
331 If oldFocusedNode is one of sub-fields, focus on it again.
333 2013-02-12 Takashi Sakamoto <tasak@google.com>
335 [Refactoring] Make m_selectorChecker in StyleResolver an on-stack object.
336 https://bugs.webkit.org/show_bug.cgi?id=108595
338 Reviewed by Eric Seidel.
340 StyleResolver uses SelectorChecker's mode to change its resolving mode.
341 However it is a state of StyleResolver. StyleResolver should have the
342 mode and make SelectorChecker instance on a stack while required.
344 No new tests, just refactoring.
346 * css/SelectorChecker.cpp:
347 (WebCore::SelectorChecker::fastCheckRightmostSelector):
348 (WebCore::SelectorChecker::fastCheck):
349 (WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
350 (WebCore::SelectorChecker::matchesFocusPseudoClass):
351 Changed to static class function, because these methods never use
354 * css/SelectorChecker.h:
356 * css/StyleResolver.cpp:
357 (WebCore::StyleResolver::StyleResolver):
358 (WebCore::StyleResolver::collectMatchingRules):
359 Now, matchesFocusPseudoClass is not a static method of
360 SelectorChecker, so replaced "m_selectorChecker." with
362 (WebCore::StyleResolver::sortAndTransferMatchedRules):
363 (WebCore::StyleResolver::collectMatchingRulesForList):
364 (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
365 (WebCore::StyleResolver::matchUARules):
366 (WebCore::StyleResolver::adjustRenderStyle):
367 (WebCore::StyleResolver::pseudoStyleRulesForElement):
368 Use m_mode instead of m_selectorChecker.mode().
369 Also use document()->inQuirksMode() instead of
370 m_selectoChecker.strictParsing().
371 (WebCore::StyleResolver::ruleMatches):
372 (WebCore::StyleResolver::checkRegionSelector):
373 Created an on-stack SelectorChecker object and used it to check
375 * css/StyleResolver.h:
376 (WebCore::StyleResolver::State::State):
377 Added m_mode, this keeps m_selectorChecker's mode.
380 Removed m_selectorChecker.
382 2013-02-11 Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
384 [Qt][EFL][WebGL] Minor refactoring of GraphicsSurface/GraphicsSurfaceGLX
385 https://bugs.webkit.org/show_bug.cgi?id=108686
387 Reviewed by Noam Rosenthal.
389 Remove unused platformSurface()/m_platformSurface from GraphicsSurface.
390 Move m_texture from GraphicsSurface to GLX GraphicsSurfacePrivate to match
391 Win and Mac implementations.
393 No new tests, refactoring only.
395 * platform/graphics/surfaces/GraphicsSurface.cpp:
396 (WebCore::GraphicsSurface::GraphicsSurface):
397 * platform/graphics/surfaces/GraphicsSurface.h:
399 * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
400 (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
401 (WebCore::GraphicsSurfacePrivate::swapBuffers):
402 (WebCore::GraphicsSurfacePrivate::surface):
403 (GraphicsSurfacePrivate):
404 (WebCore::GraphicsSurfacePrivate::textureID):
405 (WebCore::GraphicsSurfacePrivate::clear):
406 (WebCore::GraphicsSurface::platformExport):
407 (WebCore::GraphicsSurface::platformGetTextureID):
408 (WebCore::GraphicsSurface::platformSwapBuffers):
409 (WebCore::GraphicsSurface::platformCreate):
410 (WebCore::GraphicsSurface::platformImport):
411 (WebCore::GraphicsSurface::platformDestroy):
413 2013-02-11 Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
415 [EFL][WebGL] WebGL content is not painted after resizing the viewport.
416 https://bugs.webkit.org/show_bug.cgi?id=106358
418 Reviewed by Noam Rosenthal.
420 When page size changes and layer parameters get updated LayerTreeRenderer::setLayerState
421 clears the layer backing store and detaches the canvas surface from the layer. If the layer
422 size is not changed then the canvas is not recreated. This leaves the canvas detached from
423 the layer, but still referenced from m_surfaceBackingStores.
424 Don't assign layer backing store to layer in assignImageBackingToLayer if there is a canvas
425 surface already attached to the layer.
427 Test: fast/canvas/webgl/webgl-layer-update.html
429 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
430 (WebCore::CoordinatedGraphicsScene::setLayerState):
431 (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
432 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
434 2013-02-11 Eric Carlson <eric.carlson@apple.com>
436 [Mac] Track language selection should be sticky
437 https://bugs.webkit.org/show_bug.cgi?id=109466
439 Reviewed by Dean Jackson.
441 Choosing a text track from the caption menu should make that track's language the
442 preferred caption language. Turning captions off from the menu should disable captions
443 in videos loaded subsequently.
445 OS X has system support for these settings, so changes made by DRT should not change the
446 settings on the user's system. Add support for all other ports in DRT only.
448 Test: media/track/track-user-preferences.html
450 * WebCore.exp.in: Export PageGroup::captionPreferences().
452 * html/HTMLMediaElement.cpp:
453 (WebCore::HTMLMediaElement::HTMLMediaElement): Use page()->group().captionPreferences().
454 (WebCore::HTMLMediaElement::attach): Ditto.
455 (WebCore::HTMLMediaElement::detach): Ditto.
456 (WebCore::HTMLMediaElement::userPrefersCaptions): Ditto.
457 (WebCore::HTMLMediaElement::configureTextTrackGroup): Ditto. Update for
458 preferredLanguageFromList change.
459 (WebCore::HTMLMediaElement::toggleTrackAtIndex): Set user prefs for captions visible and
460 caption language as appropriate.
462 * html/shadow/MediaControlElements.cpp:
463 (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Remove unneeded comment.
464 (WebCore::MediaControlTextTrackContainerElement::updateSizes): Use page()->group().captionPreferences().
466 * html/shadow/MediaControlsApple.cpp:
467 (WebCore::MediaControlsApple::closedCaptionTracksChanged): Update caption menu button visibility.
469 * page/CaptionUserPreferences.h:
470 (WebCore::CaptionUserPreferences::userPrefersCaptions): Support "testing" mode.
471 (WebCore::CaptionUserPreferences::setUserPrefersCaptions): Ditto.
472 (WebCore::CaptionUserPreferences::registerForPreferencesChangedCallbacks): Ditto.
473 (WebCore::CaptionUserPreferences::unregisterForPreferencesChangedCallbacks): Ditto.
474 (WebCore::CaptionUserPreferences::setPreferredLanguage): Ditto.
475 (WebCore::CaptionUserPreferences::preferredLanguages): Ditto.
476 (WebCore::CaptionUserPreferences::testingMode): Ditto.
477 (WebCore::CaptionUserPreferences::setTestingMode): Ditto.
478 (WebCore::CaptionUserPreferences::CaptionUserPreferences): Ditto.
480 * page/CaptionUserPreferencesMac.h:
481 * page/CaptionUserPreferencesMac.mm:
482 (WebCore::CaptionUserPreferencesMac::userPrefersCaptions): Support "testing" mode.
483 (WebCore::CaptionUserPreferencesMac::setUserPrefersCaptions): Ditto.
484 (WebCore::CaptionUserPreferencesMac::userHasCaptionPreferences): Ditto.
485 (WebCore::CaptionUserPreferencesMac::registerForPreferencesChangedCallbacks): Change name from
486 registerForCaptionPreferencesChangedCallbacks. Support "testing" mode.
487 (WebCore::CaptionUserPreferencesMac::unregisterForPreferencesChangedCallbacks): Change name from
488 unregisterForCaptionPreferencesChangedCallbacks. Support "testing" mode.
489 (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Support "testing" mode.
490 (WebCore::CaptionUserPreferencesMac::captionFontSizeScale): Ditto.
491 (WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Ditto.
492 (WebCore::CaptionUserPreferencesMac::preferredLanguages): Ditto. Return the platform override when set.
494 * page/PageGroup.cpp:
495 (WebCore::PageGroup::registerForCaptionPreferencesChangedCallbacks): Remove because it is already
496 available from the caption preference object.
497 (WebCore::PageGroup::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
498 (WebCore::PageGroup::userPrefersCaptions): Ditto.
499 (WebCore::PageGroup::userHasCaptionPreferences): Ditto.
500 (WebCore::PageGroup::captionFontSizeScale): Ditto.
503 * platform/Language.cpp:
504 (WebCore::preferredLanguageFromList): Take the list of preferred languages instead of assuming
506 * platform/Language.h:
508 * testing/Internals.cpp:
509 (WebCore::Internals::resetToConsistentState): Disable caption testing mode.
510 (WebCore::Internals::Internals): Enable caption testing mode so the user's system
511 preferences are not modified.
513 2013-02-11 Huang Dongsung <luxtella@company100.net>
515 Coordinated Graphics: Make CoordinatedGraphicsScene not know contents size.
516 https://bugs.webkit.org/show_bug.cgi?id=108922
518 Reviewed by Noam Rosenthal.
520 Currently, CoordinatedGraphicsScene has two methods to know contents
521 size: setContentsSize() and setVisibleContentsRect(). Contents size is
522 used when adjusting a scroll position, but adjustment is not needed
523 because EFL and Qt platform code (currently PageViewportController)
524 already adjusts a scroll position, and it is natural for each platform
525 to be in charge of adjusting. So this patch makes CoordinatedGraphicsScene
526 not know contents size.
528 In addition, now DrawingAreaProxy::coordinatedLayerTreeHostProxy() is only used
529 to get CoordinatedGraphicsScene.
531 This patch can only be tested manually since there is no automated
532 testing facilities for in-motion touch.
533 Test: ManualTests/fixed-position.html
534 ManualTests/nested-fixed-position.html
536 * platform/graphics/texmap/TextureMapperLayer.cpp:
537 (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
538 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
539 (WebCore::CoordinatedGraphicsScene::setScrollPosition):
540 (WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
541 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
542 (CoordinatedGraphicsScene):
544 2013-02-11 Huang Dongsung <luxtella@company100.net>
546 Coordinated Graphics: remove the DidChangeScrollPosition message.
547 https://bugs.webkit.org/show_bug.cgi?id=108051
549 Reviewed by Noam Rosenthal.
550 Signed off for WebKit2 by Benjamin Poulain.
552 Currently, we use the DidChangeScrollPosition message to send the scroll
553 position that WebCore used in this frame to UI Process. We had to have
554 some member variables for the DidChangeScrollPosition message.
555 However, we can send a scroll position via the DidRenderFrame message,
556 because CoordinatedGraphicsScene::m_renderedContentsScrollPosition is
557 updated at the moment of flushing. So we can remove the
558 DidChangeScrollPosition message and some redundant member variables.
560 No tests. No change in behavior.
562 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
563 (WebCore::CoordinatedGraphicsScene::flushLayerChanges):
564 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
565 (CoordinatedGraphicsScene):
567 2013-02-11 Ryosuke Niwa <rniwa@webkit.org>
569 Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
570 https://bugs.webkit.org/show_bug.cgi?id=109534
572 Reviewed by Anders Carlsson.
574 * editing/DeleteButtonController.cpp:
575 (WebCore::DeleteButtonController::show):
576 * editing/Editor.cpp:
580 * loader/EmptyClients.h:
581 (WebCore::EmptyEditorClient::shouldDeleteRange):
583 (WebCore::EmptyEditorClient::shouldShowDeleteInterface):
584 * page/EditorClient.h:
587 2013-02-11 Hayato Ito <hayato@chromium.org>
589 Factor EventContext and introduces MouseOrFocusEventContext.
590 https://bugs.webkit.org/show_bug.cgi?id=109278
592 Reviewed by Dimitri Glazkov.
594 To supoort Touch event retargeting (bug 107800), we have to factor
595 event retargeting code so that it can support not only MouseEvent or FocusEvent,
596 but also other events.
598 This is the first attempt to refactor event retargeting code, a
599 separated patch from bug 109156. EventContext is now factored and
600 MouseOrFocusEventContext was introduced to support MouseEvent or
601 FocusEvent separately.
603 In following patches, I'll introduce TouchEventContext and
604 TouchEventDispatchMediator to support Touch event retargeting.
606 No new tests. No change in functionality.
608 * dom/EventContext.cpp:
609 (WebCore::EventContext::EventContext): Factor relatedTarget out from EventContext into MouseOrFocusEventContext.
610 (WebCore::EventContext::~EventContext):
612 (WebCore::EventContext::handleLocalEvents):
613 (WebCore::EventContext::isMouseOrFocusEventContext):
614 (WebCore::MouseOrFocusEventContext::MouseOrFocusEventContext): New. Handles MouseEvent's (or FocusEvent's) relatedTarget retargeting.
615 (WebCore::MouseOrFocusEventContext::~MouseOrFocusEventContext):
616 (WebCore::MouseOrFocusEventContext::handleLocalEvents):
617 (WebCore::MouseOrFocusEventContext::isMouseOrFocusEventContext):
618 * dom/EventContext.h:
620 (WebCore::EventContext::node):
621 (WebCore::EventContext::target):
622 (WebCore::EventContext::currentTargetSameAsTarget):
624 (MouseOrFocusEventContext):
625 (WebCore::MouseOrFocusEventContext::relatedTarget):
626 (WebCore::MouseOrFocusEventContext::setRelatedTarget):
627 * dom/EventDispatcher.cpp:
628 (WebCore::EventRelatedTargetAdjuster::adjust):
629 (WebCore::EventDispatcher::adjustRelatedTarget):
630 (WebCore::EventDispatcher::ensureEventPath): Renamad from ensureEventAncestors. Use the DOM Core terminology.
631 (WebCore::EventDispatcher::dispatchEvent):
632 (WebCore::EventDispatcher::dispatchEventAtCapturing):
633 (WebCore::EventDispatcher::dispatchEventAtTarget):
634 (WebCore::EventDispatcher::dispatchEventAtBubbling):
635 (WebCore::EventDispatcher::dispatchEventPostProcess):
636 (WebCore::EventDispatcher::topEventContext):
637 * dom/EventDispatcher.h:
638 (EventRelatedTargetAdjuster):
640 * inspector/InspectorInstrumentation.cpp:
642 (WebCore::eventHasListeners):
643 (WebCore::InspectorInstrumentation::willDispatchEventImpl):
644 * inspector/InspectorInstrumentation.h:
645 (InspectorInstrumentation):
646 (WebCore::InspectorInstrumentation::willDispatchEvent):
648 2013-02-11 peavo@outlook.com <peavo@outlook.com>
650 [Curl] setCookiesFromDOM function does not save cookies to disk.
651 https://bugs.webkit.org/show_bug.cgi?id=109285
653 Reviewed by Brent Fulgham.
655 Write cookies to disk by using the Curl easy api.
657 * platform/network/curl/CookieJarCurl.cpp:
658 (WebCore::setCookiesFromDOM):Write cookie to disk.
659 * platform/network/curl/ResourceHandleManager.cpp:
660 (WebCore::ResourceHandleManager::getCurlShareHandle): Added method to get Curl share handle.
661 (WebCore::ResourceHandleManager::getCookieJarFileName): Added method to get cookie file name.
662 * platform/network/curl/ResourceHandleManager.h: Added methods to get cookie file name, and Curl share handle.
664 2013-02-11 Hayato Ito <hayato@chromium.org>
666 Split each RuleSet and feature out from StyleResolver into its own class.
667 https://bugs.webkit.org/show_bug.cgi?id=107777
669 Reviewed by Dimitri Glazkov.
671 Re-landing r141964, which was reverted in r141973, since r141964 seem to be innocent.
673 No tests. No change in behavior.
676 * GNUmakefile.list.am:
679 * WebCore.xcodeproj/project.pbxproj:
680 * css/CSSAllInOne.cpp:
681 * css/DocumentRuleSets.cpp: Added.
683 (WebCore::DocumentRuleSets::DocumentRuleSets):
684 (WebCore::DocumentRuleSets::~DocumentRuleSets):
685 (WebCore::DocumentRuleSets::initUserStyle): New helper to initialize each RuleSets.
686 (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets): Factored out from StyleResolver.
687 (WebCore::makeRuleSet): Ditto.
688 (WebCore::DocumentRuleSets::resetAuthorStyle): Ditto.
689 (WebCore::DocumentRuleSets::appendAuthorStyleSheets): Ditto.
690 (WebCore::DocumentRuleSets::collectFeatures): Ditto.
691 (WebCore::DocumentRuleSets::reportMemoryUsage): New methods to report memory usage. Factored out from StyleResolver.
692 * css/DocumentRuleSets.h: Added.
695 (WebCore::DocumentRuleSets::authorStyle): Moved from StyleResolver.
696 (WebCore::DocumentRuleSets::userStyle): Ditto.
697 (WebCore::DocumentRuleSets::features): Ditto.
698 (WebCore::DocumentRuleSets::sibling): Ditto.
699 (WebCore::DocumentRuleSets::uncommonAttribute): Ditto.
700 * css/StyleResolver.cpp:
701 (WebCore::StyleResolver::StyleResolver):
702 (WebCore::StyleResolver::appendAuthorStyleSheets): Now calls DocumentRuleSets::appendAuthorStyleSheets.
703 (WebCore::StyleResolver::matchAuthorRules): Use m_ruleSets.
704 (WebCore::StyleResolver::matchUserRules): Ditto.
705 (WebCore::StyleResolver::classNamesAffectedByRules): Ditto.
706 (WebCore::StyleResolver::locateCousinList): Ditto.
707 (WebCore::StyleResolver::canShareStyleWithElement): Ditto.
708 (WebCore::StyleResolver::locateSharedStyle): Ditto.
709 (WebCore::StyleResolver::styleForPage): Ditto.
710 (WebCore::StyleResolver::checkRegionStyle): Ditto.
711 (WebCore::StyleResolver::applyProperty): Ditto.
712 (WebCore::StyleResolver::reportMemoryUsage): Now calls DocumentRuleSets::reportMemoryUsage.
713 * css/StyleResolver.h:
714 (WebCore::StyleResolver::scopeResolver):
716 (WebCore::StyleResolver::ruleSets): accessor r to DocumentRuleSets.
717 (WebCore::StyleResolver::usesSiblingRules): Use m_ruleSets.
718 (WebCore::StyleResolver::usesFirstLineRules): Ditto.
719 (WebCore::StyleResolver::usesBeforeAfterRules): Ditto.
720 (WebCore::StyleResolver::hasSelectorForAttribute): Ditto.
721 (WebCore::StyleResolver::hasSelectorForClass): Ditto.
722 (WebCore::StyleResolver::hasSelectorForId): Ditto.
723 * dom/DocumentStyleSheetCollection.cpp:
724 (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
726 2013-02-11 Keishi Hattori <keishi@webkit.org>
728 REGRESSION (r140778):Calendar Picker buttons are wrong when rtl
729 https://bugs.webkit.org/show_bug.cgi?id=109158
731 Reviewed by Kent Tamura.
733 The calendar picker button's icon and position where wrong when rtl.
736 Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar.html
738 * Resources/pagepopups/calendarPicker.css:
739 (.year-month-button-left .year-month-button): Use -webkit-margin-end so the margin is applide to the right side.
740 (.year-month-button-right .year-month-button): Use -webkit-margin-start so the margin is applide to the right side.
741 (.today-clear-area .today-button): Use -webkit-margin-end so the margin is applide to the right side.
742 * Resources/pagepopups/calendarPicker.js:
743 (YearMonthController.prototype._attachLeftButtonsTo): Flip icon image when rtl.
744 (YearMonthController.prototype._attachRightButtonsTo): Ditto.
746 2013-02-11 KwangYong Choi <ky0.choi@samsung.com>
748 REGRESSION (r142549): Remove web intents code
749 https://bugs.webkit.org/show_bug.cgi?id=109532
751 Reviewed by Nico Weber.
753 Remove remaning code related to web intents.
755 No new tests, no change on behavior.
758 * bindings/js/JSIntentConstructor.cpp: Removed.
760 2013-02-11 Kenneth Russell <kbr@google.com>
762 Add temporary typedef to ANGLEWebKitBridge to support incompatible API upgrade
763 https://bugs.webkit.org/show_bug.cgi?id=109127
765 Reviewed by Dean Jackson.
767 No new tests. Built and tested WebKit and Chromium with this change.
769 * platform/graphics/ANGLEWebKitBridge.cpp:
771 Define temporary typedef spanning int -> size_t change.
772 (WebCore::getValidationResultValue):
773 (WebCore::getSymbolInfo):
774 Use temporary typedef.
776 2013-02-11 Kentaro Hara <haraken@chromium.org>
778 [V8] ScheduledAction::m_context can be empty, so we shouldn't
779 retrieve an Isolate by using m_context->GetIsolate()
780 https://bugs.webkit.org/show_bug.cgi?id=109523
782 Reviewed by Adam Barth.
784 Chromium bug: https://code.google.com/p/chromium/issues/detail?id=175307#makechanges
786 Currently ScheduledAction is retrieving an Isolate by using m_context->GetIsolate().
787 This can crash because ScheduledAction::m_context can be empty. Specifically,
788 ScheduledAction::m_context is set to ScriptController::currentWorldContext(),
789 which can return an empty handle when a frame does not exist. In addition,
790 'if(context.IsEmpty())' in ScheduledAction.cpp implies that it can be empty.
792 Alternately, we should pass an Isolate explicitly when a ScheduledAction is instantiated.
794 No tests. The Chromium crash report doesn't provide enough information
795 to reproduce the bug.
797 * bindings/v8/ScheduledAction.cpp:
798 (WebCore::ScheduledAction::ScheduledAction):
800 (WebCore::ScheduledAction::~ScheduledAction):
801 * bindings/v8/ScheduledAction.h:
803 * bindings/v8/custom/V8DOMWindowCustom.cpp:
804 (WebCore::WindowSetTimeoutImpl):
805 * bindings/v8/custom/V8WorkerContextCustom.cpp:
806 (WebCore::SetTimeoutOrInterval):
808 2013-02-11 Adenilson Cavalcanti <cavalcantii@gmail.com>
810 Build fix: r142549 broke EFL build
811 https://bugs.webkit.org/show_bug.cgi?id=109527
813 Reviewed by Kentaro Hara.
815 No new tests, no change on behavior.
819 2013-02-11 Simon Fraser <simon.fraser@apple.com>
821 REGRESSION (r142520?): Space no longer scrolls the page
822 https://bugs.webkit.org/show_bug.cgi?id=109526
824 Reviewed by Tim Horton.
826 ScrollingTree::updateTreeFromStateNode() used to bail early when it had
827 no children (no fixed or sticky elements), but that left updateAfterChildren()
828 uncalled. Fix by always calling updateAfterChildren(), which updates the scroll
831 * page/scrolling/ScrollingTree.cpp:
832 (WebCore::ScrollingTree::updateTreeFromStateNode):
834 2013-02-11 Tim Horton <timothy_horton@apple.com>
836 Remove extra early-return in FrameView::setScrollPosition
838 Rubber-stamped by Simon Fraser.
840 * page/FrameView.cpp:
841 (WebCore::FrameView::setScrollPosition):
843 2013-02-11 Arko Saha <arko@motorola.com>
845 [Microdata] Fix crash after r141034 in chromuim port
846 https://bugs.webkit.org/show_bug.cgi?id=109514
848 Reviewed by Ryosuke Niwa.
850 Added V8SkipVTableValidation extended attribute to skip
851 VTable validation check for DOMSettableTokenList interface.
853 This patch fixes below test failures:
854 Tests: fast/dom/MicroData/domsettabletokenlist-attributes-add-token.html
855 fast/dom/MicroData/domsettabletokenlist-attributes-out-of-range-index.html
856 fast/dom/MicroData/element-with-empty-itemprop.html
857 fast/dom/MicroData/itemprop-add-remove-tokens.html
858 fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html
859 fast/dom/MicroData/itemprop-must-be-read-only.html
860 fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html
861 fast/dom/MicroData/itemref-add-remove-tokens.html
862 fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html
863 fast/dom/MicroData/itemref-for-an-element-must-be-correct.html
864 fast/dom/MicroData/itemref-must-be-read-only.html
865 fast/dom/MicroData/itemtype-add-remove-tokens.html
866 fast/dom/MicroData/itemtype-attribute-test.html
867 fast/dom/MicroData/microdata-domtokenlist-attribute-add-remove-tokens.html
868 fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html
869 fast/dom/MicroData/propertynodelist-add-remove-itemprop-tokens.html
870 fast/dom/MicroData/propertynodelist-add-remove-itemref-tokens.html
872 * html/DOMSettableTokenList.idl:
874 2013-02-11 Adam Barth <abarth@webkit.org>
876 Load event fires too early with threaded HTML parser (take 2)
877 https://bugs.webkit.org/show_bug.cgi?id=109485
879 Reviewed by Eric Seidel.
881 This patch restores the code that was removed in
882 http://trac.webkit.org/changeset/142492 and adds code to
883 DocumentLoader.cpp to avoid the regression.
886 (WebCore::Document::hasActiveParser):
887 (WebCore::Document::decrementActiveParserCount):
888 * loader/DocumentLoader.cpp:
889 (WebCore::DocumentLoader::isLoadingInAPISense):
891 2013-02-11 Eric Seidel <eric@webkit.org>
893 Fold HTMLTokenizerState back into HTMLTokenizer now that MarkupTokenizerBase is RFG
894 https://bugs.webkit.org/show_bug.cgi?id=109502
896 Reviewed by Tony Gentilcore.
898 Just a search replace of HTMLTokenizerState with HTMLTokenizer and moving the enum.
899 This restores us to the peacefull world pre-NEW_XML.
901 * html/parser/BackgroundHTMLParser.cpp:
902 (WebCore::BackgroundHTMLParser::forcePlaintextForTextDocument):
903 (WebCore::BackgroundHTMLParser::simulateTreeBuilder):
904 * html/parser/HTMLDocumentParser.cpp:
905 (WebCore::tokenizerStateForContextElement):
906 (WebCore::HTMLDocumentParser::forcePlaintextForTextDocument):
907 (WebCore::HTMLDocumentParser::pumpTokenizer):
908 * html/parser/HTMLTokenizer.cpp:
909 (WebCore::isEndTagBufferingState):
911 (WebCore::HTMLTokenizer::reset):
912 (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
913 (WebCore::HTMLTokenizer::nextToken):
914 (WebCore::HTMLTokenizer::updateStateFor):
915 * html/parser/HTMLTokenizer.h:
917 (WebCore::HTMLTokenizer::create):
918 (WebCore::HTMLTokenizer::shouldSkipNullCharacters):
919 (WebCore::HTMLTokenizer::emitEndOfFile):
920 * html/parser/HTMLTreeBuilder.cpp:
921 (WebCore::HTMLTreeBuilder::processStartTagForInBody):
922 (WebCore::HTMLTreeBuilder::processEndTag):
923 (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
924 (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
925 (WebCore::HTMLTreeBuilder::processScriptStartTag):
926 * html/parser/TextViewSourceParser.cpp:
927 (WebCore::TextViewSourceParser::TextViewSourceParser):
929 2013-02-11 Kentaro Hara <haraken@chromium.org>
931 Build fix after r142528
932 https://bugs.webkit.org/show_bug.cgi?id=109520
934 Reviewed by Eric Seidel.
936 r142528 changed GIFImageReader from a struct to a class.
937 We also need to fix a forward declaration.
941 * platform/image-decoders/gif/GIFImageDecoder.h:
943 2013-02-11 Nico Weber <thakis@chromium.org>
945 Remove web intents code
946 https://bugs.webkit.org/show_bug.cgi?id=109501
948 Reviewed by Eric Seidel.
950 See thread "Removing ENABLE(WEB_INTENTS) code" on webkit-dev.
952 * DerivedSources.make:
953 * Modules/intents/DOMWindowIntents.cpp: Removed.
954 * Modules/intents/DOMWindowIntents.h: Removed.
955 * Modules/intents/DOMWindowIntents.idl: Removed.
956 * Modules/intents/DeliveredIntent.cpp: Removed.
957 * Modules/intents/DeliveredIntent.h: Removed.
958 * Modules/intents/DeliveredIntent.idl: Removed.
959 * Modules/intents/Intent.cpp: Removed.
960 * Modules/intents/Intent.h: Removed.
961 * Modules/intents/Intent.idl: Removed.
962 * Modules/intents/IntentRequest.cpp: Removed.
963 * Modules/intents/IntentRequest.h: Removed.
964 * Modules/intents/IntentResultCallback.h: Removed.
965 * Modules/intents/IntentResultCallback.idl: Removed.
966 * Modules/intents/NavigatorIntents.cpp: Removed.
967 * Modules/intents/NavigatorIntents.h: Removed.
968 * Modules/intents/NavigatorIntents.idl: Removed.
969 * WebCore.gyp/WebCore.gyp:
971 * bindings/generic/RuntimeEnabledFeatures.cpp:
973 * bindings/generic/RuntimeEnabledFeatures.h:
974 (RuntimeEnabledFeatures):
975 * bindings/v8/custom/V8IntentCustom.cpp: Removed.
976 * html/HTMLElementsAllInOne.cpp:
977 * html/HTMLIntentElement.cpp: Removed.
978 * html/HTMLIntentElement.h: Removed.
979 * html/HTMLIntentElement.idl: Removed.
980 * loader/EmptyClients.cpp:
981 * loader/EmptyClients.h:
982 (EmptyFrameLoaderClient):
983 * loader/FrameLoaderClient.h:
985 * page/DOMWindow.idl:
987 2013-02-11 Eric Seidel <eric@webkit.org>
989 Fix Mac build after http://trac.webkit.org/changeset/142535.
991 Unreviewed build fix.
993 * html/parser/HTMLTokenizer.h:
994 (WebCore::HTMLTokenizer::emitAndReconsumeIn):
996 2013-02-11 David Farler <dfarler@apple.com>
998 Make WebCore Derived Sources work with SDK identifiers too
999 https://bugs.webkit.org/show_bug.cgi?id=109324
1001 Reviewed by Sam Weinig.
1003 * WebCore.xcodeproj/project.pbxproj: Pass SDKROOT to make for DerivedSources.make
1005 2013-02-11 Zhenyao Mo <zmo@google.com>
1007 WEBGL_compressed_texture_s3tc extension can be enabled even when not supported
1008 https://bugs.webkit.org/show_bug.cgi?id=109508
1010 Reviewed by Kenneth Russell.
1012 * html/canvas/WebGLRenderingContext.cpp:
1014 (WebCore::WebGLRenderingContext::getExtension): Check whether the extension support is there before returning the extension pointer.
1016 2013-02-11 Emil A Eklund <eae@chromium.org>
1018 Change RenderFrameSet::paint to use m-rows/m_cols directly.
1019 https://bugs.webkit.org/show_bug.cgi?id=108503
1021 Reviewed by Eric Seidel.
1023 Test: fast/frames/invalid-frameset.html
1025 * rendering/RenderFrameSet.cpp:
1026 (WebCore::RenderFrameSet::paint):
1028 2013-02-11 Yong Li <yoli@rim.com>
1030 XMLHttpRequestProgressEventThrottle::resume() always schedules timer even when unnecessary
1031 https://bugs.webkit.org/show_bug.cgi?id=105348
1033 Reviewed by Alexey Proskuryakov.
1035 Let resume() clear the defer flag and return if there is deferred events to dispatch.
1037 No new tests as this should not affect existing cross-platform behavior. It should be
1038 OK as long as it doesn't break anything.
1040 * xml/XMLHttpRequestProgressEventThrottle.cpp:
1041 (WebCore::XMLHttpRequestProgressEventThrottle::resume):
1043 2013-02-11 Eric Seidel <eric@webkit.org>
1045 Fold MarkupTokenizerBase into HTMLTokenizer now that it is the only subclass
1046 https://bugs.webkit.org/show_bug.cgi?id=109499
1048 Reviewed by Adam Barth.
1050 For great justice. And sanity.
1051 Epic amount of template code deleted.
1053 * GNUmakefile.list.am:
1056 * WebCore.vcproj/WebCore.vcproj:
1057 * WebCore.vcxproj/WebCore.vcxproj:
1058 * WebCore.vcxproj/WebCore.vcxproj.filters:
1059 * WebCore.xcodeproj/project.pbxproj:
1060 * html/parser/HTMLTokenizer.cpp:
1061 (WebCore::HTMLTokenizer::HTMLTokenizer):
1062 * html/parser/HTMLTokenizer.h:
1065 (WebCore::HTMLTokenizer::state):
1066 (WebCore::HTMLTokenizer::setState):
1067 (WebCore::HTMLTokenizer::shouldSkipNullCharacters):
1068 (WebCore::HTMLTokenizer::bufferCharacter):
1069 (WebCore::HTMLTokenizer::emitAndResumeIn):
1070 (WebCore::HTMLTokenizer::emitAndReconsumeIn):
1071 (WebCore::HTMLTokenizer::emitEndOfFile):
1072 (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
1073 * xml/parser/MarkupTokenizerBase.h: Removed.
1075 2013-02-11 Anton Vayvod <avayvod@chromium.org>
1077 [Text Autosizing] Collect narrow descendants and process them separately. Refactoring for
1079 https://bugs.webkit.org/show_bug.cgi?id=109054
1081 Preparational change to combine narrow descendants of the same autosizing cluster into
1082 groups by the width difference between the descendant and the block containing all text of
1083 the parent autosizing cluster. The groups will be autosized with the same multiplier.
1085 For example, on sites with a sidebar, sometimes the paragraphs next to the sidebar will have
1086 a large margin individually applied (via a CSS selector), causing them all to individually
1087 appear narrower than their enclosing blockContainingAllText. Rather than making each of
1088 these paragraphs into a separate cluster, we eventually want to be able to merge them back
1089 together into one (or a few) descendant clusters.
1091 Reviewed by Julien Chaffraix.
1093 No behavioral changes thus no new tests or test changes.
1095 * rendering/TextAutosizer.cpp:
1096 (TextAutosizingClusterInfo): Vector of narrow descendants.
1097 (WebCore::TextAutosizer::processCluster): Process narrow descendants separately.
1098 (WebCore::TextAutosizer::processContainer):
1100 Remember narrow descendants of the parent cluster for later processing.
1102 2013-02-11 Enrica Casucci <enrica@apple.com>
1104 Add ENABLE_DELETION_UI to control the use of the deletion UI.
1105 https://bugs.webkit.org/show_bug.cgi?id=109463.
1107 Reviewed by Ryosuke Niwa.
1109 This patch adds #if ENABLE(DELETION_UI) in every spot where
1110 DeleteButtonController is used. This class is now only instantiated
1111 if the feature is enabled. I've also done some cleanup in the
1112 DeleteButtonController class, removing unused methods and making
1113 private some methods only used internally to the class.
1114 Both DeleteButtonController and DeleteButton classes are now excluded
1115 from the compilation if the feature is not enabled.
1117 No new tests, no change of functionality.
1119 * dom/ContainerNode.cpp:
1120 (WebCore::ContainerNode::cloneChildNodes):
1121 * editing/CompositeEditCommand.cpp:
1122 (WebCore::EditCommandComposition::unapply):
1123 (WebCore::EditCommandComposition::reapply):
1124 (WebCore::CompositeEditCommand::apply):
1125 * editing/DeleteButton.cpp:
1126 * editing/DeleteButtonController.cpp:
1127 * editing/DeleteButtonController.h: Some cleanup.
1128 (WebCore::DeleteButtonController::enabled): Made private.
1129 * editing/EditCommand.cpp:
1130 (WebCore::EditCommand::EditCommand):
1131 * editing/Editor.cpp:
1132 (WebCore::Editor::notifyComponentsOnChangedSelection):
1133 (WebCore::Editor::Editor):
1134 (WebCore::Editor::rangeForPoint):
1135 (WebCore::Editor::deviceScaleFactorChanged):
1137 * editing/htmlediting.cpp: avoidIntersectionWithNode is
1138 used only if the feature is enabled.
1139 * editing/htmlediting.h:
1140 * editing/markup.cpp:
1141 (WebCore::createMarkup):
1142 (WebCore::createFragmentFromNodes):
1143 * rendering/RenderTable.cpp: Removed unnecessary include
1144 fo DeleteButtonController.h
1146 2013-02-11 Rafael Weinstein <rafaelw@chromium.org>
1148 [HTMLTemplateElement] <template> inside of <head> may not create <body> if EOF is hit
1149 https://bugs.webkit.org/show_bug.cgi?id=109338
1151 Reviewed by Adam Barth.
1153 This patch adds the logic to clear the stack of open elements back to the first <template> when EOF
1154 is hit. This allows a <body> to be generated if the initial <template> was opened inside of <head>.
1156 Tests added to html5lib.
1158 * html/parser/HTMLTreeBuilder.cpp:
1160 (WebCore::HTMLTreeBuilder::popAllTemplates):
1161 (WebCore::HTMLTreeBuilder::processEndTag):
1162 (WebCore::HTMLTreeBuilder::processEndOfFile):
1163 * html/parser/HTMLTreeBuilder.h:
1166 2013-02-11 Andreas Kling <akling@apple.com>
1168 RenderText::isAllCollapsibleWhitespace() shouldn't upconvert string to 16-bit.
1169 <http://webkit.org/b/109354>
1171 Reviewed by Eric Seidel.
1173 254 KB progression on Membuster3.
1175 * rendering/RenderText.cpp:
1176 (WebCore::RenderText::isAllCollapsibleWhitespace):
1178 2013-02-11 Alpha Lam <hclam@chromium.org>
1180 Fix code style violations in GIFImageReader.{cc|h}
1181 https://bugs.webkit.org/show_bug.cgi?id=109007
1183 Reviewed by Stephen White.
1185 This is just a style clean up for GIFImageReader.{cc|h}.
1187 There's going to be a lot changes in these two files and style check
1188 will add a lot of noise in later reviews. Fix style problems first.
1190 There is no change in logic at all. Just style fixes.
1194 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1195 (WebCore::GIFImageDecoder::frameCount):
1196 (WebCore::GIFImageDecoder::repetitionCount):
1197 (WebCore::GIFImageDecoder::haveDecodedRow):
1198 (WebCore::GIFImageDecoder::initFrameBuffer):
1199 * platform/image-decoders/gif/GIFImageReader.cpp:
1200 (GIFImageReader::outputRow):
1201 (GIFImageReader::doLZW):
1202 (GIFImageReader::read):
1203 * platform/image-decoders/gif/GIFImageReader.h:
1205 (GIFFrameContext::GIFFrameContext):
1206 (GIFFrameContext::~GIFFrameContext):
1207 (GIFImageReader::GIFImageReader):
1208 (GIFImageReader::~GIFImageReader):
1210 (GIFImageReader::imagesCount):
1211 (GIFImageReader::loopCount):
1212 (GIFImageReader::globalColormap):
1213 (GIFImageReader::globalColormapSize):
1214 (GIFImageReader::frameContext):
1216 2013-02-11 Bem Jones-Bey <bjonesbe@adobe.com>
1218 [CSS Exclusions] Handle shape-outside changing a float's overhang behavior
1219 https://bugs.webkit.org/show_bug.cgi?id=106927
1221 Reviewed by Julien Chaffraix.
1223 When the position on a shape outside causes a float to spill out into
1224 another block than it's container, it was not being drawn correctly. It
1225 became apparent that in order to fix this properly, the approach to
1226 positioning shape outsides and floats needed to be changed. The new
1227 approach also fixes some other outstanding issues, like hit detection.
1229 When a float has a shape outside, inline and float layout happens
1230 using the exclusion shape bounds instead of the float's box. The
1231 effect of this is that the float itself no longer has any effect on
1232 layout, both with respect to positioning of the float's siblings as
1233 well as positioning the float's box. This means that when the float is
1234 positioned, it is the shape's box that must obey the positioning rules
1235 for floats. When the shape is given a position relative to the float's
1236 box, the rules for float positioning determine where the shape sits
1237 in the parent, causing the float's box to be offset by the position of
1238 the shape. Since the float's box does not affect layout (due to the
1239 shape), this is similar to relative positioning in that the offset is
1240 a paint time occurrence.
1242 So the new approach is to implement positioning of shape outside on
1243 floats similar to how relative positioning is implemented, using a
1246 This is also tested by the existing tests for shape outside on floats positioning.
1248 Test: fast/exclusions/shape-outside-floats/shape-outside-floats-overhang.html
1250 * rendering/ExclusionShapeOutsideInfo.h:
1251 (WebCore::ExclusionShapeOutsideInfo::shapeLogicalOffset): Utility method to create a LayoutSize for computing the layer offset.
1252 (ExclusionShapeOutsideInfo):
1253 * rendering/LayoutState.cpp:
1254 (WebCore::LayoutState::LayoutState): Check for floats with shape outside as well as in flow positioning.
1255 * rendering/RenderBlock.cpp:
1256 (WebCore::RenderBlock::flipFloatForWritingModeForChild): Remove old positioning implementation.
1257 (WebCore::RenderBlock::paintFloats): Remove old positioning implementation.
1258 (WebCore::RenderBlock::blockSelectionGaps): Check for floats with shape outside as well as in flow positioning.
1259 (WebCore::RenderBlock::positionNewFloats): Remove old positioning implementation.
1260 (WebCore::RenderBlock::addOverhangingFloats): Remove FIXME.
1261 (WebCore::positionForPointRespectingEditingBoundaries): Check for floats with shape outside as well as in flow positioning.
1262 * rendering/RenderBlock.h:
1263 (RenderBlock): Remove old positioning implementation.
1264 (WebCore::RenderBlock::xPositionForFloatIncludingMargin): Remove old positioning implementation.
1265 (WebCore::RenderBlock::yPositionForFloatIncludingMargin): Remove old positioning implementation.
1266 * rendering/RenderBox.cpp:
1267 (WebCore::RenderBox::mapLocalToContainer): Check for floats with shape outside as well as in flow positioning.
1268 (WebCore::RenderBox::offsetFromContainer): Check for floats with shape outside as well as in flow positioning.
1269 (WebCore::RenderBox::computeRectForRepaint): Check for floats with shape outside as well as in flow positioning.
1270 (WebCore::RenderBox::layoutOverflowRectForPropagation): Check for floats with shape outside as well as in flow positioning.
1271 * rendering/RenderBox.h: Make floats with shape outside get a layer.
1272 * rendering/RenderBoxModelObject.cpp:
1273 (WebCore::RenderBoxModelObject::paintOffset): Method to return in flow
1274 positioning offset + offset from shape outside on floats.
1275 * rendering/RenderBoxModelObject.h:
1276 (RenderBoxModelObject): Add paintOffset method.
1277 * rendering/RenderInline.cpp:
1278 (WebCore::RenderInline::clippedOverflowRectForRepaint): Check for floats with shape outside as well as in flow positioning.
1279 (WebCore::RenderInline::computeRectForRepaint): Check for floats with shape outside as well as in flow positioning.
1280 (WebCore::RenderInline::mapLocalToContainer): Check for floats with shape outside as well as in flow positioning.
1281 * rendering/RenderLayer.cpp:
1282 (WebCore::RenderLayer::updateLayerPosition): Check for floats with shape outside as well as in flow positioning.
1283 (WebCore::RenderLayer::calculateClipRects): Check for floats with shape outside as well as in flow positioning.
1284 * rendering/RenderLayer.h:
1285 (WebCore::RenderLayer::paintOffset): Rename offsetForInFlowPosition to reflect that it's not just for
1286 in flow positioning, it also reflects shape outside position on floats.
1288 * rendering/RenderObject.h:
1289 (WebCore::RenderObject::hasPaintOffset): Determines if this object is in flow positioined or is a float with shape outside.
1290 * rendering/style/RenderStyle.h: Add hasPaintOffset method, analagous to method with same name on RenderObject.
1292 2013-02-11 Tim Horton <timothy_horton@apple.com>
1294 FrameView::setScrollPosition should clamp scroll position before handing it to
1295 ScrollingCoordinator instead of depending on ScrollView to do this
1296 https://bugs.webkit.org/show_bug.cgi?id=109497
1297 <rdar://problem/12631789>
1299 Reviewed by Simon Fraser.
1301 Clamp scroll position before handing it to ScrollingCoordinator. Also, like ScrollView does,
1302 bail out if we've already scrolled to the clamped scroll position.
1304 Test: platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls.html
1306 * page/FrameView.cpp:
1307 (WebCore::FrameView::setScrollPosition):
1309 2013-02-11 Adam Barth <abarth@webkit.org>
1311 The threaded HTML parser should pass all the fast/parser tests
1312 https://bugs.webkit.org/show_bug.cgi?id=109486
1314 Reviewed by Tony Gentilcore.
1316 This patch fixes the last two test failures in fast/parser, which were
1317 crashes caused by not having a tokenizer when document.close() was
1318 called. (The tokenizer is created lazily by calls to document.write,
1319 which might not happen before document.close).
1321 fast/parser/document-close-iframe-load.html
1322 fast/parser/document-close-nested-iframe-load.html
1324 In addition, I've added a new test to make sure we flush the tokenizer
1325 properly in these cases.
1327 Test: fast/parser/document-close-iframe-load-partial-entity.html
1329 * html/parser/HTMLDocumentParser.cpp:
1330 (WebCore::HTMLDocumentParser::prepareToStopParsing):
1331 (WebCore::HTMLDocumentParser::pumpTokenizer):
1333 2013-02-11 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
1335 [texmap] Implement frames-per-second debug counter
1336 https://bugs.webkit.org/show_bug.cgi?id=107942
1338 Reviewed by Noam Rosenthal.
1340 Adds FPS counter via WEBKIT_SHOW_FPS=<interval> environment variable,
1341 where <interval> is the period in seconds (i.e. =1.5) between FPS
1342 updates on screen. It is measured by counting
1343 CoordinatedGraphicsScene::paintTo* calls and is painted using
1344 drawRepaintCounter() after TextureMapperLayer has finished painting its
1347 Visual debugging feature, no need for new tests.
1349 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1350 (WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
1351 (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
1352 (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
1353 (WebCore::CoordinatedGraphicsScene::updateFPS):
1354 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1356 2013-02-11 Eric Seidel <eric@webkit.org>
1358 Fold MarkupTokenBase into HTMLToken now that it has no other subclasses
1359 https://bugs.webkit.org/show_bug.cgi?id=109483
1361 Reviewed by Adam Barth.
1363 This deletes an epic amount of template yuck, as well as removes
1364 a vtable !?! from HTMLToken.
1366 This paves the way for further cleanup of HTMLToken now that we
1367 can see the whole object at once.
1368 We'll also probably re-create an HTMLToken.cpp again, now that we're
1369 free from the chains of template nonsense.
1371 * GNUmakefile.list.am:
1374 * WebCore.vcproj/WebCore.vcproj:
1375 * WebCore.vcxproj/WebCore.vcxproj:
1376 * WebCore.vcxproj/WebCore.vcxproj.filters:
1377 * WebCore.xcodeproj/project.pbxproj:
1378 * html/parser/HTMLToken.h:
1379 (WebCore::findAttributeInVector):
1384 (WebCore::HTMLToken::HTMLToken):
1385 (WebCore::HTMLToken::clear):
1386 (WebCore::HTMLToken::isUninitialized):
1387 (WebCore::HTMLToken::type):
1388 (WebCore::HTMLToken::makeEndOfFile):
1389 (WebCore::HTMLToken::startIndex):
1390 (WebCore::HTMLToken::endIndex):
1391 (WebCore::HTMLToken::setBaseOffset):
1392 (WebCore::HTMLToken::end):
1393 (WebCore::HTMLToken::data):
1394 (WebCore::HTMLToken::isAll8BitData):
1395 (WebCore::HTMLToken::name):
1396 (WebCore::HTMLToken::appendToName):
1397 (WebCore::HTMLToken::nameString):
1398 (WebCore::HTMLToken::selfClosing):
1399 (WebCore::HTMLToken::setSelfClosing):
1400 (WebCore::HTMLToken::beginStartTag):
1401 (WebCore::HTMLToken::beginEndTag):
1402 (WebCore::HTMLToken::addNewAttribute):
1403 (WebCore::HTMLToken::beginAttributeName):
1404 (WebCore::HTMLToken::endAttributeName):
1405 (WebCore::HTMLToken::beginAttributeValue):
1406 (WebCore::HTMLToken::endAttributeValue):
1407 (WebCore::HTMLToken::appendToAttributeName):
1408 (WebCore::HTMLToken::appendToAttributeValue):
1409 (WebCore::HTMLToken::attributes):
1410 (WebCore::HTMLToken::eraseValueOfAttribute):
1411 (WebCore::HTMLToken::ensureIsCharacterToken):
1412 (WebCore::HTMLToken::characters):
1413 (WebCore::HTMLToken::appendToCharacter):
1414 (WebCore::HTMLToken::comment):
1415 (WebCore::HTMLToken::beginComment):
1416 (WebCore::HTMLToken::appendToComment):
1417 (WebCore::HTMLToken::eraseCharacters):
1418 * html/parser/HTMLTokenTypes.h:
1419 * html/parser/XSSAuditor.h:
1420 * xml/parser/MarkupTokenBase.h: Removed.
1422 2013-02-11 Gavin Barraclough <barraclough@apple.com>
1424 PluginProcess should quit immediately if idle in response to low-memory notifications
1425 https://bugs.webkit.org/show_bug.cgi?id=109103
1426 <rdar://problem/12679827>
1428 Reviewed by Brady Eidson.
1430 This patch allows a process to set a custom callback for low memory warnings
1431 (defaulting to the current behaviour, as implemented in releaseMemory).
1433 * platform/MemoryPressureHandler.cpp:
1434 (WebCore::MemoryPressureHandler::MemoryPressureHandler):
1435 - Initialize m_lowMemoryHandler to releaseMemory.
1436 (WebCore::MemoryPressureHandler::install):
1437 (WebCore::MemoryPressureHandler::uninstall):
1438 (WebCore::MemoryPressureHandler::holdOff):
1439 - Cleaned up spacing.
1440 (WebCore::MemoryPressureHandler::releaseMemory):
1441 - Added null implementation for non-Mac builds.
1442 * platform/MemoryPressureHandler.h:
1443 (WebCore::MemoryPressureHandler::setLowMemoryHandler):
1444 - Added method to set m_lowMemoryHandler.
1445 * platform/mac/MemoryPressureHandlerMac.mm:
1446 (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1447 - Changed to call releaseMemory via m_lowMemoryHandler.
1449 2013-02-11 Simon Fraser <simon.fraser@apple.com>
1451 REGRESSION (r133807): Sticky-position review bar on bugzilla review page is jumpy
1452 https://bugs.webkit.org/show_bug.cgi?id=104276
1453 <rdar://problem/12827187>
1455 Reviewed by Tim Horton.
1457 When committing new scrolling tree state, if the root node has a scroll
1458 position update, we would handle that before updating the state of child
1459 nodes (with possibly new viewport constraints). That would cause incorrect
1460 child layer updates.
1462 Fix by adding a second 'update' phase that happens after child nodes,
1463 and moving the scroll position update into that.
1465 Scrolling tests only dump the state tree, so cannot test the bug.
1467 * page/FrameView.cpp:
1468 (WebCore::FrameView::setScrollPosition): If the scroll position didn't
1469 actually change, don't request a scroll position update from the ScrollingCoordinator.
1470 * page/scrolling/ScrollingTree.cpp:
1471 (WebCore::ScrollingTree::updateTreeFromStateNode): Keep track of the scrolling node so
1472 that we can call updateAfterChildren() on it.
1473 * page/scrolling/ScrollingTreeNode.h:
1474 (ScrollingTreeNode):
1475 (WebCore::ScrollingTreeNode::updateAfterChildren):
1476 * page/scrolling/ScrollingTreeScrollingNode.cpp:
1477 (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
1478 * page/scrolling/ScrollingTreeScrollingNode.h:
1479 (ScrollingTreeScrollingNode):
1480 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1481 (WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
1482 In the current bug the scrolling tree was scheduled for commit because of a
1483 scroll position request, but if only the viewport constraints change, we also need
1485 * page/scrolling/mac/ScrollingTreeFixedNode.h:
1486 (ScrollingTreeFixedNode):
1487 * page/scrolling/mac/ScrollingTreeFixedNode.mm:
1488 (WebCore::ScrollingTreeFixedNode::updateBeforeChildren):
1489 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
1490 (ScrollingTreeScrollingNodeMac):
1491 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1492 (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
1493 (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren): Move code here
1494 that updates things that have to happen after children.
1495 * page/scrolling/mac/ScrollingTreeStickyNode.h:
1496 (ScrollingTreeStickyNode):
1497 * page/scrolling/mac/ScrollingTreeStickyNode.mm:
1498 (WebCore::ScrollingTreeStickyNode::updateBeforeChildren):
1500 2013-02-11 Roger Fong <roger_fong@apple.com>
1502 Unreviewed. Build fix for Win7 Release.
1503 Because of InspectorAllInOne.cpp static globals must be named differently in files included by InspectorAllInOne.
1504 This was the case for UserInitiatedProfileName. Also removed the repeated HeapProfileType definition in
1505 InspectorHeapProfilerAgent.cpp since it wasn't being used anyways.
1507 * inspector/InspectorHeapProfilerAgent.cpp:
1509 (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
1511 2013-02-11 Tony Gentilcore <tonyg@chromium.org>
1513 SegmentedString's copy ctor should copy all fields
1514 https://bugs.webkit.org/show_bug.cgi?id=109477
1516 Reviewed by Adam Barth.
1518 This fixes http/tests/inspector-enabled/document-write.html (and likely others) for the threaded HTML parser.
1520 No new tests because covered by existing tests.
1522 * platform/text/SegmentedString.cpp:
1523 (WebCore::SegmentedString::SegmentedString):
1525 2013-02-11 Joshua Bell <jsbell@chromium.org>
1527 IndexedDB: database connections don't close after versionchange transaction aborts
1528 https://bugs.webkit.org/show_bug.cgi?id=102298
1530 Reviewed by Tony Chang.
1532 Per spec, close the database if the "versionchange" transaction aborts.
1534 Tests: storage/indexeddb/aborted-versionchange-closes.html
1535 storage/indexeddb/lazy-index-population.html
1536 storage/objectstore-basics.html
1538 * Modules/indexeddb/IDBTransaction.cpp:
1539 (WebCore::IDBTransaction::onAbort): Tell the IDBDatabase (connection) to close if
1540 this was a "versionchange" transaction.
1542 2013-02-11 Christophe Dumez <ch.dumez@sisa.samsung.com>
1544 [EFL] fast/forms/number/number-l10n-input.html is failing
1545 https://bugs.webkit.org/show_bug.cgi?id=109440
1547 Reviewed by Laszlo Gombos.
1549 Use LocaleICU instead of LocaleNone on EFL port. The EFL
1550 port already depends on ICU library and we get additional
1551 functionality this way.
1553 No new tests, already covered by existing tests.
1556 * PlatformBlackBerry.cmake:
1557 * PlatformEfl.cmake:
1558 * PlatformWinCE.cmake:
1560 2013-02-11 Benjamin Poulain <benjamin@webkit.org>
1562 Kill TestRunner::setMinimumTimerInterval; implement the feature with InternalSettings
1563 https://bugs.webkit.org/show_bug.cgi?id=109349
1565 Reviewed by Sam Weinig.
1567 Expose setMinimumTimerInterval() and implement the backup/restore to keep
1568 a consistent state between tests.
1570 * testing/InternalSettings.cpp:
1571 (WebCore::InternalSettings::Backup::Backup):
1572 (WebCore::InternalSettings::Backup::restoreTo):
1573 (WebCore::InternalSettings::setMinimumTimerInterval):
1575 * testing/InternalSettings.h:
1578 * testing/InternalSettings.idl:
1580 2013-02-11 Dean Jackson <dino@apple.com>
1582 Source/WebCore: Snapshotted plug-in should use shadow root
1583 https://bugs.webkit.org/show_bug.cgi?id=108284
1585 Reviewed by Simon Fraser.
1587 Take three - relanding after rollout in r142400 that was caused by a global
1588 selector interfering with CSS Instrumentation in the Inspector.
1590 A snapshotted plugin needs to indicate to the user that it can be clicked
1591 to be restarted. Previously this was done with an image that had embedded
1592 text. Instead, we now use an internal shadow root to embed some markup that
1593 will display instructions that can be localised.
1595 The UA stylesheet for plug-ins provides a default styling for the label, which
1596 can be overridden by ports.
1598 In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
1599 since it is only responsible for drawing a paused plug-in. The snapshot creation
1600 can work with the default renderer, but a shadow root requires something like
1601 RenderBlock in order to draw its children. We swap from one renderer to another when
1602 necessary either by creating the shadow root or by explicitly detaching and attaching
1605 Unfortunately this is difficult to test, because the snapshotting requires
1606 time to execute, and also a PluginView to be instantiated.
1609 (object::-webkit-snapshotted-plugin-content): New rules for a default label style.
1611 * platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
1612 * platform/LocalizedStrings.h:
1613 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
1614 * platform/chromium/LocalizedStringsChromium.cpp:
1615 * platform/efl/LocalizedStringsEfl.cpp:
1616 * platform/gtk/LocalizedStringsGtk.cpp:
1617 * platform/qt/LocalizedStringsQt.cpp:
1619 * html/HTMLPlugInElement.cpp:
1620 (WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
1621 that RenderSnapshottedPlugIn no longer is an embedded object.
1623 * html/HTMLPlugInImageElement.cpp:
1624 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
1625 (WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
1626 (WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
1627 (WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such
1628 a renderer, otherwise use the typical plug-in path.
1629 (WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll
1630 need to give it to the renderer.
1631 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.
1632 * html/HTMLPlugInImageElement.h:
1633 (HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label
1634 should show immediately.
1635 (WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need
1636 to swap to the Shadow Root.
1637 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin
1638 in being recreated. Make sure we reattach so that a plugin renderer will be created.
1639 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right
1640 displayState for snapshots.
1641 * html/HTMLPlugInImageElement.h:
1642 (HTMLPlugInImageElement): The new methods listed above.
1643 (WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not
1644 a snapshot should be immediately labeled.
1646 * page/ChromeClient.h: No need for plugInStartLabelImage any more.
1648 * rendering/RenderSnapshottedPlugIn.cpp:
1649 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
1650 (WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
1651 (WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
1652 (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
1653 (WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
1654 (WebCore::RenderSnapshottedPlugIn::getCursor):
1655 (WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.
1656 * rendering/RenderSnapshottedPlugIn.h:
1657 (RenderSnapshottedPlugIn): New inheritance. Some method renaming.
1659 2013-02-11 Mike West <mkwst@chromium.org>
1661 CSP reports for blocked 'data:' URLs should report the scheme only.
1662 https://bugs.webkit.org/show_bug.cgi?id=109429
1664 Reviewed by Adam Barth.
1666 https://dvcs.w3.org/hg/content-security-policy/rev/001dc8e8bcc3 changed
1667 the CSP 1.1 spec to require that blocked URLs that don't refer to
1668 generally resolvable schemes (e.g. 'data:', 'javascript:', etc.) be
1669 stripped down to their scheme in violation reports.
1671 Test: http/tests/security/contentSecurityPolicy/report-blocked-data-uri.html
1673 * page/ContentSecurityPolicy.cpp:
1674 (WebCore::ContentSecurityPolicy::reportViolation):
1675 If the blocked URL is a web-resolvable scheme, apply the current
1676 stripping logic to it, otherwise, strip it to the scheme only.
1679 Move KURL::isHierarchical() out into KURL's public API.
1681 2013-02-11 Simon Fraser <simon.fraser@apple.com>
1683 ScrollingTree node maps keep getting larger
1684 https://bugs.webkit.org/show_bug.cgi?id=109348
1686 Reviewed by Sam Weinig.
1688 When navigating between pages, nodes would get left in the ScrollingTree's
1689 node map, and the ScrollingStateTree's node map, so these would get larger
1690 and larger as you browse.
1692 Simplify map maintenance by clearing the map when setting a new root node
1693 (which happens on the first commit of a new page). Also, don't keep root nodes
1694 around, but create them afresh for each page, which simplifies their ID
1697 This is closer to the original behavior; keeping the root nodes around was
1698 a fix for bug 99668, but we avoid regressing that fix by bailing early
1699 from frameViewLayoutUpdated() if there is no root state node (we'll get
1700 called again anyway).
1702 This now allows state nodeIDs to be purely read-only.
1704 * page/scrolling/ScrollingStateNode.h:
1705 * page/scrolling/ScrollingStateTree.cpp:
1706 (WebCore::ScrollingStateTree::ScrollingStateTree):
1707 (WebCore::ScrollingStateTree::attachNode):
1708 (WebCore::ScrollingStateTree::clear):
1709 (WebCore::ScrollingStateTree::removeNode):
1710 * page/scrolling/ScrollingTree.cpp:
1711 (WebCore::ScrollingTree::updateTreeFromStateNode):
1712 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1713 (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
1715 2013-02-11 Simon Fraser <simon.fraser@apple.com>
1717 Move m_stateNodeMap from ScrollingCoordinatorMac to ScrollingStateTree
1718 https://bugs.webkit.org/show_bug.cgi?id=109361
1720 Reviewed by Sam Weinig.
1722 The map of scrolling node IDs to ScollingStateNodes was maintained by
1723 ScrollingCoordinatorMac, rather than ScrollingStateTree. This is different
1724 from the ScrollingTree (which owns its node map), and added some amount
1725 of to-and-fro between ScrollingStateTree and ScrollingCoordinatorMac.
1727 Having ScrollingCoordinatorMac maintain the map of IDs to state nodes
1732 * page/scrolling/ScrollingStateTree.cpp:
1733 (WebCore::ScrollingStateTree::attachNode):
1734 (WebCore::ScrollingStateTree::detachNode):
1735 (WebCore::ScrollingStateTree::clear):
1736 (WebCore::ScrollingStateTree::removeNode):
1737 (WebCore::ScrollingStateTree::stateNodeForID):
1738 * page/scrolling/ScrollingStateTree.h:
1739 (ScrollingStateTree): Remove some stale comments.
1740 (WebCore::ScrollingStateTree::removedNodes):
1741 * page/scrolling/mac/ScrollingCoordinatorMac.h:
1742 (ScrollingCoordinatorMac):
1743 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1744 (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
1745 (WebCore::ScrollingCoordinatorMac::recomputeWheelEventHandlerCountForFrameView):
1746 (WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange):
1747 (WebCore::ScrollingCoordinatorMac::requestScrollPositionUpdate):
1748 (WebCore::ScrollingCoordinatorMac::attachToStateTree):
1749 (WebCore::ScrollingCoordinatorMac::detachFromStateTree):
1750 (WebCore::ScrollingCoordinatorMac::clearStateTree):
1751 (WebCore::ScrollingCoordinatorMac::updateScrollingNode):
1752 (WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
1754 2013-02-11 Mark Rowe <mrowe@apple.com>
1758 * platform/mac/PlatformSpeechSynthesizerMac.mm: Fix the case in the include.
1760 2013-02-11 Julien Chaffraix <jchaffraix@webkit.org>
1762 Regression(r131539): Heap-use-after-free in WebCore::RenderBlock::willBeDestroyed
1763 https://bugs.webkit.org/show_bug.cgi?id=107189
1765 Reviewed by Abhishek Arya.
1767 Test: fast/dynamic/continuation-detach-crash.html
1769 This patch reverts r131539 and the following changes (r132591 and r139664).
1770 This means we redo detaching from the bottom-up which solves the regression.
1771 It fixes the attached test case as we re-attach child nodes before detaching
1772 the parent. It seems wrong to do but this avoid a stale continuation.
1774 * dom/ContainerNode.cpp:
1775 (WebCore::ContainerNode::detach): Detach the children first, then ourself.
1777 (WebCore::Node::detach): Clear the renderer instead of ASSERT'ing.
1778 * rendering/RenderObject.cpp:
1779 (WebCore::RenderObject::willBeDestroyed): Removed the code to clear the associated node's renderer.
1780 (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
1781 * rendering/RenderObjectChildList.cpp:
1782 (WebCore::RenderObjectChildList::removeChildNode):
1783 Moved the repainting logic back into removeChildNode from destroyAndCleanupAnonymousWrappers.
1784 (WebCore::RenderObjectChildList::destroyLeftoverChildren): Re-added the code to clear the associated node's
1786 * rendering/RenderTextFragment.cpp:
1787 (WebCore::RenderTextFragment::setText): Re-added the code to set the associated node's renderer.
1789 * dom/ContainerNode.cpp:
1790 (WebCore::ContainerNode::detach):
1792 (WebCore::Node::detach):
1793 * rendering/RenderObject.cpp:
1794 (WebCore::RenderObject::willBeDestroyed):
1795 (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
1796 * rendering/RenderObjectChildList.cpp:
1797 (WebCore::RenderObjectChildList::destroyLeftoverChildren):
1798 (WebCore::RenderObjectChildList::removeChildNode):
1799 * rendering/RenderTextFragment.cpp:
1800 (WebCore::RenderTextFragment::setText):
1802 2013-02-11 Eric Seidel <eric@webkit.org>
1804 Make WebVTTTokenizer stop inheriting from MarkupTokenizerBase
1805 https://bugs.webkit.org/show_bug.cgi?id=109411
1807 Reviewed by Adam Barth.
1809 Moved InputStreamPreprocessor into its own header file so it can be
1810 used by both WebVTTTokenizer and HTMLTokenizer.
1812 Also split out kEndOfFileMarker from InputStreamPreprocessor<T> so that
1813 it can be used w/o a specific instantiation of the template class.
1814 This also made it possible to fix three old fixmes about wanting to share
1817 Again, separating WebVTT code from Markup* base classes made it simpler
1818 at the cost of a little copy/paste code. WebVTT tokenization is remarkably
1819 simple compared to HTML.
1821 This will make it immediately possible to pull MarkupTokenizerBase up into
1822 HTMLTokenizer and further simplify the code.
1824 * GNUmakefile.list.am:
1827 * WebCore.vcproj/WebCore.vcproj:
1828 * WebCore.vcxproj/WebCore.vcxproj:
1829 * WebCore.vcxproj/WebCore.vcxproj.filters:
1830 * WebCore.xcodeproj/project.pbxproj:
1831 * html/parser/BackgroundHTMLParser.cpp:
1832 (WebCore::BackgroundHTMLParser::markEndOfFile):
1833 * html/parser/HTMLInputStream.h:
1834 (WebCore::HTMLInputStream::markEndOfFile):
1835 * html/parser/HTMLTokenizer.cpp:
1836 (WebCore::HTMLTokenizer::nextToken):
1837 * html/parser/InputStreamPreprocessor.h: Added.
1839 (InputStreamPreprocessor):
1840 (WebCore::InputStreamPreprocessor::InputStreamPreprocessor):
1841 (WebCore::InputStreamPreprocessor::nextInputCharacter):
1842 (WebCore::InputStreamPreprocessor::peek):
1843 (WebCore::InputStreamPreprocessor::advance):
1844 (WebCore::InputStreamPreprocessor::skipNextNewLine):
1845 (WebCore::InputStreamPreprocessor::reset):
1846 (WebCore::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
1847 * html/track/WebVTTTokenizer.cpp:
1848 (WebCore::WebVTTTokenizer::WebVTTTokenizer):
1849 (WebCore::WebVTTTokenizer::nextToken):
1850 * html/track/WebVTTTokenizer.h:
1852 (WebCore::WebVTTTokenizer::haveBufferedCharacterToken):
1853 (WebCore::WebVTTTokenizer::bufferCharacter):
1854 (WebCore::WebVTTTokenizer::emitAndResumeIn):
1855 (WebCore::WebVTTTokenizer::emitEndOfFile):
1856 (WebCore::WebVTTTokenizer::shouldSkipNullCharacters):
1857 * xml/parser/MarkupTokenizerBase.h:
1858 (MarkupTokenizerBase):
1859 (WebCore::MarkupTokenizerBase::bufferCharacter):
1861 2013-02-11 Adam Barth <abarth@webkit.org>
1863 document.write during window.onload can trigger DumpRenderTree to dump the render tree
1864 https://bugs.webkit.org/show_bug.cgi?id=109465
1866 Reviewed by Eric Seidel.
1868 This patch is a partial revert of
1869 http://trac.webkit.org/changeset/142378. It's not safe to call
1870 checkComplete during the load event. We'll need to find another way of
1871 calling checkComplete at the right time.
1873 Test: fast/parser/document-write-during-load.html
1876 (WebCore::Document::decrementActiveParserCount):
1878 2013-02-11 Andrey Kosyakov <caseq@chromium.org>
1880 Web Inspector: Timeline: invalidate and force locations are same for Layout records caused by style recalculaiton
1881 https://bugs.webkit.org/show_bug.cgi?id=109294
1883 Reviewed by Pavel Feldman.
1885 Use the stack that caused style recalculation as a cause for relayout performed due to
1886 layout invalidation caused by style recalculation.
1888 * inspector/front-end/TimelinePresentationModel.js:
1889 (WebInspector.TimelinePresentationModel.prototype.reset):
1890 (WebInspector.TimelinePresentationModel.Record):
1892 2013-02-01 Andrey Kosyakov <caseq@chromium.org>
1894 Web Inspector: [Extension API] adjust inspectedWindow.eval() callback parameters to expose non-exceptional error
1895 https://bugs.webkit.org/show_bug.cgi?id=108640
1897 Reviewed by Vsevolod Vlasov.
1899 - only set first parameter to eval() callback iff expression successfully evaluates;
1900 - use object, not bool as second parameter;
1901 - pass exceptions and extension errors as second parameter if evaluate failed;
1902 - minor drive-by changes in ExtensionAPI utilities.
1904 * inspector/front-end/ExtensionAPI.js:
1905 (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
1906 (injectedExtensionAPI.InspectedWindow.prototype.):
1907 (injectedExtensionAPI.InspectedWindow.prototype.eval):
1908 (injectedExtensionAPI.extractCallbackArgument):
1909 * inspector/front-end/ExtensionServer.js:
1910 (WebInspector.ExtensionServer.prototype.):
1911 (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
1912 (WebInspector.ExtensionStatus):
1914 2013-02-11 Andrey Kosyakov <caseq@chromium.org>
1916 Web Inspector: [Extensions API] expose ExtensionServerClient to tests so tests use same port as extensions API
1917 https://bugs.webkit.org/show_bug.cgi?id=109443
1919 Reviewed by Vsevolod Vlasov.
1921 Promote extensionServer var to the outer closure, so it may be accessed by platform-specific (or test) code.
1923 * inspector/front-end/ExtensionAPI.js:
1924 (buildExtensionAPIInjectedScript):
1926 2013-02-11 Eric Seidel <eric@webkit.org>
1928 Move WebVTTToken off of MarkupTokenBase
1929 https://bugs.webkit.org/show_bug.cgi?id=109410
1931 Reviewed by Tony Gentilcore.
1933 This introduces a small amount of "copy/paste" code
1934 but actually makes WebVTTToken much smaller and simpler!
1935 This also frees the HTMLParser to have its Token class
1936 back to itself so we can tune it to make HTML faster.
1938 * html/track/WebVTTToken.h:
1940 (WebCore::WebVTTToken::WebVTTToken):
1941 (WebCore::WebVTTToken::appendToName):
1942 (WebCore::WebVTTToken::type):
1943 (WebCore::WebVTTToken::name):
1944 (WebCore::WebVTTToken::ensureIsCharacterToken):
1945 (WebCore::WebVTTToken::appendToCharacter):
1946 (WebCore::WebVTTToken::beginEmptyStartTag):
1947 (WebCore::WebVTTToken::beginStartTag):
1948 (WebCore::WebVTTToken::beginEndTag):
1949 (WebCore::WebVTTToken::beginTimestampTag):
1950 (WebCore::WebVTTToken::makeEndOfFile):
1951 (WebCore::WebVTTToken::clear):
1953 2013-02-11 Joshua Bell <jsbell@chromium.org>
1955 [V8] IndexedDB: Minor GC can collect IDBDatabase wrapper with versionchange handler
1956 https://bugs.webkit.org/show_bug.cgi?id=108670
1958 Reviewed by Kentaro Hara.
1960 Prevent IDBDatabase's wrapper from being GC'd while the database is open if it has
1961 listeners, as those listeners may close the database in response to events.
1963 Also, removed extraneous super-calls from hasPendingActivity() overrides.
1965 Test: storage/indexeddb/database-wrapper.html
1967 * Modules/indexeddb/IDBDatabase.cpp:
1968 (WebCore::IDBDatabase::hasPendingActivity): Implemented.
1969 * Modules/indexeddb/IDBDatabase.h: Declared.
1970 * Modules/indexeddb/IDBRequest.cpp:
1971 (WebCore::IDBRequest::hasPendingActivity): Simplified.
1972 * Modules/indexeddb/IDBTransaction.cpp:
1973 (WebCore::IDBTransaction::hasPendingActivity): Simplified.
1975 2013-02-11 Eric Seidel <eric@webkit.org>
1977 Remove AttributeBase now that NEW_XML is gone
1978 https://bugs.webkit.org/show_bug.cgi?id=109408
1980 Reviewed by Adam Barth.
1982 Just deleting code. HTMLToken::Attribute is now just
1983 the real class and not a typedef.
1985 * html/parser/CompactHTMLToken.cpp:
1986 (WebCore::CompactHTMLToken::CompactHTMLToken):
1987 * html/parser/HTMLTokenizer.cpp:
1988 (WebCore::AtomicHTMLToken::nameForAttribute):
1989 * xml/parser/MarkupTokenBase.h:
1995 2013-02-11 Eric Seidel <eric@webkit.org>
1997 Rename PreloadTask to StartTagScanner to match its purpose
1998 https://bugs.webkit.org/show_bug.cgi?id=109406
2000 Reviewed by Sam Weinig.
2002 As discussed in bug 107807.
2004 * html/parser/HTMLPreloadScanner.cpp:
2005 (WebCore::StartTagScanner::StartTagScanner):
2006 (WebCore::StartTagScanner::processAttributes):
2007 (WebCore::HTMLPreloadScanner::processToken):
2009 2013-02-11 Vsevolod Vlasov <vsevik@chromium.org>
2011 Web Inspector: WebInspector.Project refactorings.
2012 https://bugs.webkit.org/show_bug.cgi?id=109433
2014 Reviewed by Alexander Pavlov.
2016 This change prepares Workspace and Project to migration to project-per-domain mode for network based projects.
2017 Renamed WebInspector.WorkspaceProvider to WebInspector.ProjectDelegate.
2018 Renamed Project.name() to Project.id() and delegated it to project delegate.
2019 Added Project.displayName() method that is delegated to project delegate.
2020 SimpleWorkspaceProvider is now responsible for creation of SimpleWorkspaceDelegates and
2021 isolates various mappings from Project/ProjectDelegate concept.
2022 UISourceCode is now created based on path in the project.
2023 UISourceCode uri is now calculated based on project and path (right now uri is equal to path).
2026 * WebCore.vcproj/WebCore.vcproj:
2027 * inspector/compile-front-end.py:
2028 * inspector/front-end/FileSystemProjectDelegate.js: Renamed from Source/WebCore/inspector/front-end/FileSystemWorkspaceProvider.js.
2029 (WebInspector.FileSystemProjectDelegate):
2030 (WebInspector.FileSystemProjectDelegate.prototype.id):
2031 (WebInspector.FileSystemProjectDelegate.prototype.type):
2032 (WebInspector.FileSystemProjectDelegate.prototype.displayName):
2033 (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
2034 (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
2035 (WebInspector.FileSystemProjectDelegate.prototype.setFileContent):
2036 (WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
2037 (WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
2038 (WebInspector.FileSystemProjectDelegate.prototype._contentTypeForPath):
2039 (WebInspector.FileSystemProjectDelegate.prototype._populate.filesLoaded):
2040 (WebInspector.FileSystemProjectDelegate.prototype._populate):
2041 (WebInspector.FileSystemProjectDelegate.prototype._addFile):
2042 (WebInspector.FileSystemProjectDelegate.prototype._removeFile):
2043 (WebInspector.FileSystemProjectDelegate.prototype.reset):
2044 (WebInspector.FileSystemUtils):
2045 (WebInspector.FileSystemUtils.errorHandler):
2046 (WebInspector.FileSystemUtils.requestFileSystem):
2047 (.fileSystemLoaded):
2049 (WebInspector.FileSystemUtils.requestFilesRecursive):
2053 (WebInspector.FileSystemUtils.requestFileContent):
2054 (.fileWriterCreated.fileTruncated):
2055 (.fileWriterCreated):
2057 (WebInspector.FileSystemUtils.setFileContent):
2058 (WebInspector.FileSystemUtils._getDirectory):
2060 (WebInspector.FileSystemUtils._readDirectory):
2061 (WebInspector.FileSystemUtils._requestEntries):
2062 * inspector/front-end/IsolatedFileSystemModel.js:
2063 (WebInspector.IsolatedFileSystemModel.prototype._innerAddFileSystem):
2064 * inspector/front-end/SimpleWorkspaceProvider.js:
2065 (WebInspector.SimpleProjectDelegate):
2066 (WebInspector.SimpleProjectDelegate.prototype.id):
2067 (WebInspector.SimpleProjectDelegate.prototype.displayName):
2068 (WebInspector.SimpleProjectDelegate.prototype.requestFileContent):
2069 (WebInspector.SimpleProjectDelegate.prototype.setFileContent):
2070 (WebInspector.SimpleProjectDelegate.prototype.searchInFileContent):
2071 (WebInspector.SimpleProjectDelegate.prototype.addFile):
2072 (WebInspector.SimpleProjectDelegate.prototype._uniquePath):
2073 (WebInspector.SimpleProjectDelegate.prototype.removeFile):
2074 (WebInspector.SimpleProjectDelegate.prototype.reset):
2075 (WebInspector.SimpleWorkspaceProvider):
2076 (WebInspector.SimpleWorkspaceProvider.uriForURL):
2077 (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
2078 (WebInspector.SimpleWorkspaceProvider.prototype.addUniqueFileForURL):
2079 (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
2080 (WebInspector.SimpleWorkspaceProvider.prototype.removeFile):
2081 (WebInspector.SimpleWorkspaceProvider.prototype.reset):
2082 * inspector/front-end/UISourceCode.js:
2083 (WebInspector.UISourceCode):
2084 (WebInspector.UISourceCode.prototype.path):
2085 (WebInspector.UISourceCode.prototype.uri):
2086 * inspector/front-end/WebKit.qrc:
2087 * inspector/front-end/Workspace.js:
2088 (WebInspector.FileDescriptor):
2089 (WebInspector.ProjectDelegate):
2090 (WebInspector.ProjectDelegate.prototype.id):
2091 (WebInspector.ProjectDelegate.prototype.displayName):
2092 (WebInspector.ProjectDelegate.prototype.requestFileContent):
2093 (WebInspector.ProjectDelegate.prototype.setFileContent):
2094 (WebInspector.ProjectDelegate.prototype.searchInFileContent):
2095 (WebInspector.Project):
2096 (WebInspector.Project.prototype.id):
2097 (WebInspector.Project.prototype.type):
2098 (WebInspector.Project.prototype.displayName):
2099 (WebInspector.Project.prototype.isServiceProject):
2100 (WebInspector.Project.prototype._fileAdded):
2101 (WebInspector.Project.prototype._fileRemoved):
2102 (WebInspector.Project.prototype._reset):
2103 (WebInspector.Project.prototype.uiSourceCode):
2104 (WebInspector.Project.prototype.uiSourceCodeForOriginURL):
2105 (WebInspector.Project.prototype.uiSourceCodeForURI):
2106 (WebInspector.Project.prototype.uiSourceCodes):
2107 (WebInspector.Project.prototype.requestFileContent):
2108 (WebInspector.Project.prototype.setFileContent):
2109 (WebInspector.Project.prototype.searchInFileContent):
2110 (WebInspector.Project.prototype.dispose):
2111 (WebInspector.Workspace.prototype.uiSourceCode):
2112 (WebInspector.Workspace.prototype.uiSourceCodeForURI):
2113 (WebInspector.Workspace.prototype.addProject):
2114 (WebInspector.Workspace.prototype.removeProject):
2115 (WebInspector.Workspace.prototype.project):
2116 (WebInspector.Workspace.prototype.uiSourceCodes):
2117 (WebInspector.Workspace.prototype.projectForUISourceCode):
2118 * inspector/front-end/inspector.html:
2120 2013-02-11 Yury Semikhatsky <yurys@chromium.org>
2122 Web Inspector: fix closure compiler warnings in the profiler code
2123 https://bugs.webkit.org/show_bug.cgi?id=109432
2125 Reviewed by Pavel Feldman.
2127 Updated type annotations to match the code.
2129 * inspector/front-end/NativeMemorySnapshotView.js:
2130 * inspector/front-end/ProfilesPanel.js:
2132 2013-02-11 Alexander Shalamov <alexander.shalamov@intel.com>
2134 [QT] Regression (r142444): Broke qt linux minimal build
2135 https://bugs.webkit.org/show_bug.cgi?id=109423
2137 Reviewed by Kenneth Rohde Christiansen.
2139 Test: cssom/cssvalue-comparison.html
2142 (WebCore::CSSValue::equals):
2144 2013-02-11 Andrey Lushnikov <lushnikov@chromium.org>
2146 Web Inspector: introduce WebInspector.TextUtils
2147 https://bugs.webkit.org/show_bug.cgi?id=109289
2149 Reviewed by Pavel Feldman.
2151 Add new WebInspector.TextUtils file and extract commonly used
2152 text-operation subroutines from DefaultTextEditor into it.
2154 No new tests: no change in behaviour.
2157 * WebCore.vcproj/WebCore.vcproj:
2158 * inspector/compile-front-end.py:
2159 * inspector/front-end/DefaultTextEditor.js:
2160 (WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._isWord):
2161 (WebInspector.DefaultTextEditor.WordMovementController.prototype._rangeForCtrlArrowMove):
2162 (WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.handleSelectionChange):
2163 * inspector/front-end/TextUtils.js: Added.
2164 (WebInspector.TextUtils.isStopChar):
2165 (WebInspector.TextUtils.isWordChar):
2166 (WebInspector.TextUtils.isSpaceChar):
2167 (WebInspector.TextUtils.isWord):
2168 (WebInspector.TextUtils.isBraceChar):
2169 * inspector/front-end/WebKit.qrc:
2170 * inspector/front-end/inspector.html:
2172 2013-02-11 Zan Dobersek <zdobersek@igalia.com>
2174 [GTK][Clang] Build errors in LocalizedStringsGtk.cpp
2175 https://bugs.webkit.org/show_bug.cgi?id=109418
2177 Reviewed by Philippe Normand.
2179 Use the C++ isfinite(float) and abs(float) (instead of fabsf(float))
2180 methods by including the WTF MathExtras.h header. Use a static cast to
2181 an integer type on the float return value of the abs(float) method call
2182 instead of the C-style cast.
2184 No new tests - no new functiolnality.
2186 * platform/gtk/LocalizedStringsGtk.cpp:
2187 (WebCore::localizedMediaTimeDescription):
2189 2013-02-11 Zan Dobersek <zdobersek@igalia.com>
2191 Unreviewed build fix for the WTFURL backend of KURL.
2193 * platform/KURL.cpp:
2194 (WebCore::KURL::isSafeToSendToAnotherThread): m_urlImpl is of RefPtr type so use
2195 the appropriate operator on it when calling the isSafeToSendToAnotherThread method.
2197 2013-02-11 Mike West <mkwst@chromium.org>
2199 Range::collapsed callers should explicitly ASSERT_NO_EXCEPTION.
2200 https://bugs.webkit.org/show_bug.cgi?id=108921
2202 Reviewed by Jochen Eisinger.
2204 For clarity and consistency, this patch adjusts Range::collapsed() to
2205 drop the default value of the ExceptionCode parameter it accepts. The
2206 three call sites that called the method with no arguments (all part of
2207 Editor::rangeOfString) will now explicitly ASSERT_NO_EXCEPTION.
2211 * editing/Editor.cpp:
2212 (WebCore::Editor::rangeOfString):
2214 2013-02-11 Alexei Filippov <alph@chromium.org>
2216 Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
2217 https://bugs.webkit.org/show_bug.cgi?id=108653
2219 Reviewed by Yury Semikhatsky.
2221 Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
2222 In fact these two profile types have not too much in common. So put each into its own domain.
2223 It should also help when Profiles panel gets split into several tools.
2224 This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
2225 change the original InspectorProfilerAgent.
2228 * GNUmakefile.list.am:
2231 * WebCore.vcproj/WebCore.vcproj:
2232 * WebCore.vcxproj/WebCore.vcxproj:
2233 * WebCore.vcxproj/WebCore.vcxproj.filters:
2234 * WebCore.xcodeproj/project.pbxproj:
2235 * inspector/Inspector.json:
2236 * inspector/InspectorAllInOne.cpp:
2237 * inspector/InspectorController.cpp:
2238 (WebCore::InspectorController::InspectorController):
2239 * inspector/InspectorHeapProfilerAgent.cpp: Added.
2241 (WebCore::InspectorHeapProfilerAgent::create):
2242 (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
2243 (WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
2244 (WebCore::InspectorHeapProfilerAgent::resetState):
2245 (WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
2246 (WebCore::InspectorHeapProfilerAgent::setFrontend):
2247 (WebCore::InspectorHeapProfilerAgent::clearFrontend):
2248 (WebCore::InspectorHeapProfilerAgent::restore):
2249 (WebCore::InspectorHeapProfilerAgent::collectGarbage):
2250 (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
2251 (WebCore::InspectorHeapProfilerAgent::hasHeapProfiler):
2252 (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
2253 (WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
2254 (WebCore::InspectorHeapProfilerAgent::removeProfile):
2255 (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
2256 (WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
2257 (WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
2258 (WebCore::InspectorHeapProfilerAgent::reportMemoryUsage):
2259 * inspector/InspectorHeapProfilerAgent.h: Added.
2261 (InspectorHeapProfilerAgent):
2262 (WebCore::InspectorHeapProfilerAgent::clearProfiles):
2263 * inspector/InspectorInstrumentation.cpp:
2265 (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2266 * inspector/InstrumentingAgents.h:
2268 (InstrumentingAgents):
2269 (WebCore::InstrumentingAgents::inspectorHeapProfilerAgent):
2270 (WebCore::InstrumentingAgents::setInspectorHeapProfilerAgent):
2271 * inspector/WorkerInspectorController.cpp:
2272 (WebCore::WorkerInspectorController::WorkerInspectorController):
2273 * inspector/front-end/HeapSnapshotDataGrids.js:
2274 * inspector/front-end/HeapSnapshotGridNodes.js:
2275 (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
2276 * inspector/front-end/HeapSnapshotView.js:
2277 (WebInspector.HeapProfileHeader.prototype.startSnapshotTransfer):
2278 (WebInspector.HeapProfileHeader.prototype.saveToFile.onOpen):
2279 (WebInspector.HeapProfileHeader.prototype.saveToFile):
2280 * inspector/front-end/ProfilesPanel.js:
2281 (WebInspector.ProfilesPanel):
2282 (WebInspector.ProfilesPanel.prototype._clearProfiles):
2283 (WebInspector.ProfilesPanel.prototype._garbageCollectButtonClicked):
2284 (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
2285 (WebInspector.ProfilesPanel.prototype._populateProfiles.var):
2286 (WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback):
2287 (WebInspector.ProfilesPanel.prototype._populateProfiles):
2288 (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2289 (WebInspector.ProfilesPanel.prototype.revealInView):
2290 (WebInspector.HeapProfilerDispatcher):
2291 (WebInspector.HeapProfilerDispatcher.prototype.addProfileHeader):
2292 (WebInspector.HeapProfilerDispatcher.prototype.addHeapSnapshotChunk):
2293 (WebInspector.HeapProfilerDispatcher.prototype.finishHeapSnapshot):
2294 (WebInspector.HeapProfilerDispatcher.prototype.resetProfiles):
2295 (WebInspector.HeapProfilerDispatcher.prototype.reportHeapSnapshotProgress):
2296 * inspector/front-end/TimelinePanel.js:
2297 (WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):
2298 * inspector/front-end/inspector.js:
2299 (WebInspector.doLoadedDone):
2301 2013-02-11 Mike West <mkwst@chromium.org>
2303 Use IGNORE_EXCEPTION for Editor::countMatchesForText's ignored exceptions.
2304 https://bugs.webkit.org/show_bug.cgi?id=109372
2306 Reviewed by Jochen Eisinger.
2308 Rather than implicitly ignoring exceptions, we should use the
2309 IGNORE_EXCEPTION macro for clarity.
2311 * editing/Editor.cpp:
2312 (WebCore::Editor::countMatchesForText):
2314 2013-02-11 Zoltan Arvai <zarvai@inf.u-szeged.hu>
2316 [Qt] Unreviewed. Fix minimal build after r142444.
2319 (WebCore::CSSValue::equals):
2321 2013-02-11 Christophe Dumez <ch.dumez@sisa.samsung.com>
2323 [EFL] Stop using smart pointers for Ecore_Timer
2324 https://bugs.webkit.org/show_bug.cgi?id=109409
2326 Reviewed by Kenneth Rohde Christiansen.
2328 Stop using a smart pointer for Ecore_Timer in RunLoop::TimerBase. This
2329 is a bad idea because the timer handle becomes invalid as soon as the
2330 timer callback returns ECORE_CALLBACK_CANCEL. This may lead to crashes
2331 on destruction because OwnPtr calls ecore_timer_del() on an invalid
2334 No new tests, already covered by exiting tests.
2336 * platform/RunLoop.h:
2338 * platform/efl/RunLoopEfl.cpp:
2339 (WebCore::RunLoop::TimerBase::timerFired):
2340 (WebCore::RunLoop::TimerBase::start):
2341 (WebCore::RunLoop::TimerBase::stop):
2343 2013-02-11 Vladislav Kaznacheev <kaznacheev@chromium.org>
2345 Web Inspector: Allow SplitView to keep the sidebar size as a fraction of the container size
2346 https://bugs.webkit.org/show_bug.cgi?id=109414
2348 Reviewed by Vsevolod Vlasov.
2350 SplitView now interprets defaultSidebarWidth and defaultSidebarHeight values between 0 and 1 as
2351 fractions of the total container size. The sidebar then will grow or shrink along with the container.
2352 When the sidebar is resized manually the updated ratio is stored in the settings.
2354 * inspector/front-end/SplitView.js:
2355 (WebInspector.SplitView):
2356 (WebInspector.SplitView.prototype._removeAllLayoutProperties):
2357 (WebInspector.SplitView.prototype._updateTotalSize):
2358 (WebInspector.SplitView.prototype._innerSetSidebarSize):
2359 (WebInspector.SplitView.prototype._saveSidebarSize):
2361 2013-02-11 Pavel Feldman <pfeldman@chromium.org>
2363 Web Inspector: highlight DOM nodes on hover while debugging
2364 https://bugs.webkit.org/show_bug.cgi?id=109355
2366 Reviewed by Vsevolod Vlasov.
2368 Along with showing the popover, highlight the remote object as node.
2370 * inspector/front-end/ObjectPopoverHelper.js:
2371 (WebInspector.ObjectPopoverHelper.prototype.):
2372 (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
2373 (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
2375 2013-02-11 Andrey Lushnikov <lushnikov@chromium.org>
2377 Web Inspector: displaying whitespace characters is broken
2378 https://bugs.webkit.org/show_bug.cgi?id=109412
2380 Reviewed by Vsevolod Vlasov.
2382 Add "pointer-events: none" rule for pseudo-class "before", which
2383 maintains rendering of whitespace characters.
2387 * inspector/front-end/inspectorSyntaxHighlight.css:
2388 (.webkit-whitespace::before):
2390 2013-02-11 Alexander Pavlov <apavlov@chromium.org>
2392 Web Inspector: Implement position-based sourcemapping for stylesheets
2393 https://bugs.webkit.org/show_bug.cgi?id=109168
2395 Reviewed by Vsevolod Vlasov.
2397 This change introduces support for position-based source maps for CSS stylesheets.
2398 Sourcemaps and originating resources (sass, scss, etc.) are loaded synchronously
2399 upon the CSS UISourceCode addition. RangeBasedSourceMap is removed as it is not used.
2401 Test: http/tests/inspector/stylesheet-source-mapping.html
2403 * inspector/front-end/CSSStyleModel.js:
2404 (WebInspector.CSSStyleModel):
2405 (WebInspector.CSSStyleModel.prototype.setSourceMapping):
2406 (WebInspector.CSSStyleModel.prototype.rawLocationToUILocation):
2407 (WebInspector.CSSStyleModel.LiveLocation.prototype.uiLocation):
2408 (WebInspector.CSSLocation):
2409 (WebInspector.CSSProperty):
2410 (WebInspector.CSSProperty.parsePayload):
2411 * inspector/front-end/CompilerScriptMapping.js:
2412 (WebInspector.CompilerScriptMapping):
2413 (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2414 (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
2415 * inspector/front-end/SASSSourceMapping.js:
2416 (WebInspector.SASSSourceMapping):
2417 (WebInspector.SASSSourceMapping.prototype._styleSheetChanged.callback):
2418 (WebInspector.SASSSourceMapping.prototype._styleSheetChanged):
2419 (WebInspector.SASSSourceMapping.prototype._reloadCSS):
2420 (WebInspector.SASSSourceMapping.prototype._resourceAdded.didRequestContent):
2421 (WebInspector.SASSSourceMapping.prototype._resourceAdded):
2422 (WebInspector.SASSSourceMapping.prototype._loadAndProcessSourceMap):
2423 (WebInspector.SASSSourceMapping.prototype.loadSourceMapForStyleSheet):
2424 (WebInspector.SASSSourceMapping.prototype._bindUISourceCode):
2425 (WebInspector.SASSSourceMapping.prototype.rawLocationToUILocation):
2426 (WebInspector.SASSSourceMapping.prototype.uiLocationToRawLocation):
2427 (WebInspector.SASSSourceMapping.prototype._reset):
2428 * inspector/front-end/SourceMap.js:
2429 (WebInspector.SourceMap):
2430 (WebInspector.SourceMap.load):
2431 (WebInspector.SourceMap.prototype.findEntry):
2432 (WebInspector.SourceMap.prototype.findEntryReversed):
2433 (WebInspector.SourceMap.prototype._parseMap):
2434 * inspector/front-end/StylesSourceMapping.js:
2435 (WebInspector.StylesSourceMapping):
2436 (WebInspector.StylesSourceMapping.prototype._bindUISourceCode):
2437 * inspector/front-end/inspector.js:
2439 2013-02-11 Alexander Shalamov <alexander.shalamov@intel.com>
2441 Implement CSSValue::equals(const CSSValue&) to optimise CSSValue comparison
2442 https://bugs.webkit.org/show_bug.cgi?id=102901
2444 Reviewed by Antti Koivisto.
2446 Added comparison method to CSSValue and its children, so that the
2447 css values could be compared efficiently. Before this patch, CSSValue
2448 objects were compared using strings that were generated by the cssText() method.
2450 Test: cssom/cssvalue-comparison.html
2452 * css/CSSAspectRatioValue.cpp:
2453 (WebCore::CSSAspectRatioValue::equals):
2455 * css/CSSAspectRatioValue.h:
2456 (CSSAspectRatioValue):
2457 * css/CSSBasicShapes.cpp:
2458 (WebCore::CSSBasicShapeRectangle::equals):
2460 (WebCore::CSSBasicShapeCircle::equals):
2461 (WebCore::CSSBasicShapeEllipse::equals):
2462 (WebCore::CSSBasicShapePolygon::equals):
2463 * css/CSSBasicShapes.h:
2464 (CSSBasicShapeRectangle):
2465 (CSSBasicShapeCircle):
2466 (CSSBasicShapeEllipse):
2467 (CSSBasicShapePolygon):
2468 * css/CSSBorderImageSliceValue.cpp:
2469 (WebCore::CSSBorderImageSliceValue::equals):
2471 * css/CSSBorderImageSliceValue.h:
2472 (CSSBorderImageSliceValue):
2473 * css/CSSCalculationValue.cpp:
2474 (WebCore::CSSCalcValue::equals):
2476 (WebCore::CSSCalcPrimitiveValue::equals):
2477 (CSSCalcPrimitiveValue):
2478 (WebCore::CSSCalcPrimitiveValue::type):
2479 (WebCore::CSSCalcBinaryOperation::equals):
2480 (CSSCalcBinaryOperation):
2481 (WebCore::CSSCalcBinaryOperation::type):
2482 * css/CSSCalculationValue.h:
2483 (WebCore::CSSCalcExpressionNode::equals):
2484 (CSSCalcExpressionNode):
2486 * css/CSSCanvasValue.cpp:
2487 (WebCore::CSSCanvasValue::equals):
2489 * css/CSSCanvasValue.h:
2491 * css/CSSComputedStyleDeclaration.cpp:
2492 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2493 (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
2494 (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
2495 * css/CSSCrossfadeValue.cpp:
2496 (WebCore::CSSCrossfadeValue::equals):
2498 * css/CSSCrossfadeValue.h:
2499 (CSSCrossfadeValue):
2500 * css/CSSCursorImageValue.cpp:
2501 (WebCore::CSSCursorImageValue::equals):
2503 * css/CSSCursorImageValue.h:
2504 (CSSCursorImageValue):
2505 * css/CSSFontFaceSrcValue.cpp:
2506 (WebCore::CSSFontFaceSrcValue::equals):
2508 * css/CSSFontFaceSrcValue.h:
2509 (CSSFontFaceSrcValue):
2510 * css/CSSFunctionValue.cpp:
2511 (WebCore::CSSFunctionValue::equals):
2513 * css/CSSFunctionValue.h:
2515 * css/CSSGradientValue.cpp:
2516 (WebCore::CSSLinearGradientValue::equals):
2518 (WebCore::CSSRadialGradientValue::equals):
2519 * css/CSSGradientValue.h:
2520 (WebCore::CSSGradientColorStop::operator==):
2521 (CSSLinearGradientValue):
2522 (CSSRadialGradientValue):
2523 * css/CSSImageValue.cpp:
2524 (WebCore::CSSImageValue::equals):
2526 * css/CSSImageValue.h:
2528 * css/CSSInheritedValue.h:
2529 (WebCore::CSSInheritedValue::equals):
2530 (CSSInheritedValue):
2531 * css/CSSInitialValue.h:
2532 (WebCore::CSSInitialValue::equals):
2534 * css/CSSLineBoxContainValue.h:
2535 (WebCore::CSSLineBoxContainValue::equals):
2536 * css/CSSPrimitiveValue.cpp:
2537 (WebCore::CSSPrimitiveValue::equals):
2539 * css/CSSPrimitiveValue.h:
2540 (CSSPrimitiveValue):
2541 * css/CSSReflectValue.cpp:
2542 (WebCore::CSSReflectValue::equals):
2544 * css/CSSReflectValue.h:
2546 * css/CSSTimingFunctionValue.cpp:
2547 (WebCore::CSSCubicBezierTimingFunctionValue::equals):
2549 (WebCore::CSSStepsTimingFunctionValue::equals):
2550 * css/CSSTimingFunctionValue.h:
2551 (WebCore::CSSLinearTimingFunctionValue::equals):
2552 (CSSLinearTimingFunctionValue):
2553 (CSSCubicBezierTimingFunctionValue):
2554 (CSSStepsTimingFunctionValue):
2555 * css/CSSUnicodeRangeValue.cpp:
2556 (WebCore::CSSUnicodeRangeValue::equals):
2558 * css/CSSUnicodeRangeValue.h:
2559 (CSSUnicodeRangeValue):
2562 (WebCore::compareCSSValues):
2563 (WebCore::CSSValue::equals):
2567 (WebCore::compareCSSValueVector):
2568 (WebCore::compareCSSValuePtr):
2569 * css/CSSValueList.cpp:
2570 (WebCore::CSSValueList::removeAll):
2571 (WebCore::CSSValueList::hasValue):
2572 (WebCore::CSSValueList::equals):
2574 * css/CSSValueList.h:
2576 * css/CSSVariableValue.h:
2577 (WebCore::CSSVariableValue::equals):
2581 (WebCore::Counter::equals):
2582 * css/DashboardRegion.h:
2583 (WebCore::DashboardRegion::equals):
2584 * css/FontFeatureValue.cpp:
2585 (WebCore::FontFeatureValue::equals):
2587 * css/FontFeatureValue.h:
2589 * css/FontValue.cpp:
2590 (WebCore::FontValue::equals):
2594 * css/MediaQueryExp.h:
2595 (WebCore::MediaQueryExp::operator==):
2597 (WebCore::Pair::equals):
2600 (WebCore::RectBase::equals):
2602 * css/ShadowValue.cpp:
2603 (WebCore::ShadowValue::equals):
2605 * css/ShadowValue.h:
2607 * css/StylePropertySet.cpp:
2608 (WebCore::StylePropertySet::get4Values):
2609 (WebCore::StylePropertySet::propertyMatches):
2610 * css/WebKitCSSArrayFunctionValue.cpp:
2611 (WebCore::WebKitCSSArrayFunctionValue::equals):
2613 * css/WebKitCSSArrayFunctionValue.h:
2614 (WebKitCSSArrayFunctionValue):
2615 * css/WebKitCSSFilterValue.cpp:
2616 (WebCore::WebKitCSSFilterValue::equals):
2618 * css/WebKitCSSFilterValue.h:
2619 (WebKitCSSFilterValue):
2620 * css/WebKitCSSMixFunctionValue.cpp:
2621 (WebCore::WebKitCSSMixFunctionValue::equals):
2623 * css/WebKitCSSMixFunctionValue.h:
2624 (WebKitCSSMixFunctionValue):
2625 * css/WebKitCSSSVGDocumentValue.cpp:
2626 (WebCore::WebKitCSSSVGDocumentValue::equals):
2628 * css/WebKitCSSSVGDocumentValue.h:
2629 (WebKitCSSSVGDocumentValue):
2630 * css/WebKitCSSShaderValue.cpp:
2631 (WebCore::WebKitCSSShaderValue::equals):
2633 * css/WebKitCSSShaderValue.h:
2634 (WebKitCSSShaderValue):
2635 * css/WebKitCSSTransformValue.h:
2636 (WebCore::WebKitCSSTransformValue::equals):
2637 * editing/EditingStyle.cpp:
2638 (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
2640 (WebCore::SVGColor::equals):
2645 (WebCore::SVGPaint::equals):
2650 2013-02-11 Pan Deng <pan.deng@intel.com>
2652 [Web Inspector] Network panel, sort by "transferSize" instead of "resourceSize".
2653 https://bugs.webkit.org/show_bug.cgi?id=109142.
2655 Reviewed by Vsevolod Vlasov.
2657 Sort by "transferSize" as it is the primary rather than "resoureSize".
2661 * inspector/front-end/NetworkPanel.js:
2662 (WebInspector.NetworkDataGridNode.SizeComparator):
2664 2013-02-11 Eugene Klyuchnikov <eustas@chromium.org>
2666 Web Inspector: [Resources] Prefactorings in DataGrid and CookieTable
2667 https://bugs.webkit.org/show_bug.cgi?id=109141
2669 Reviewed by Vsevolod Vlasov.
2671 1) Make deleteCookie method static and move to WebInspector.Cookie
2672 2) Replace resfreshCallback getter/setter in DataGrid with
2673 constructor parameter
2675 * inspector/front-end/CookieItemsView.js: Adopt changes.
2676 * inspector/front-end/CookieParser.js:
2677 (WebInspector.Cookie.prototype.remove): Moved from CookiesTable.
2678 * inspector/front-end/CookiesTable.js: Adopt changes.
2679 * inspector/front-end/DataGrid.js:
2680 Replace setter with constructor parameter.
2682 2013-02-11 John J. Barton <johnjbarton@chromium.org>
2684 Web Inspector: Don't throw exceptions in WebInspector.Color
2685 https://bugs.webkit.org/show_bug.cgi?id=104835
2687 Reviewed by Vsevolod Vlasov.
2689 WebInspector.Color.parse() returns a Color from a string, or null;
2690 Ctor calls now call parse();
2691 In the StylesSideBarPane, test null rather than catch(e).
2693 Added case to inspector/styles/styles-invalid-color-values.html
2695 * inspector/front-end/Color.js:
2696 (WebInspector.Color):
2697 (WebInspector.Color.parse):
2698 (WebInspector.Color.fromRGBA):
2699 (WebInspector.Color.fromRGB):
2700 (WebInspector.Color.prototype.toString):
2701 (WebInspector.Color.prototype._parse.this.alpha.set 0):
2702 (WebInspector.Color.prototype._parse.this.nickname.set 2):
2703 (WebInspector.Color.prototype._parse.this.hsla.set 1):
2704 (WebInspector.Color.prototype._parse.this.rgba.set 0):
2705 (WebInspector.Color.prototype._parse.set WebInspector):
2706 (WebInspector.Color.prototype._parse):
2707 * inspector/front-end/Spectrum.js:
2708 (WebInspector.Spectrum.prototype.get color):
2709 * inspector/front-end/StylesSidebarPane.js:
2711 2013-02-11 Andrey Lushnikov <lushnikov@chromium.org>
2713 Web Inspector: home button behaviour is wrong in DTE
2714 https://bugs.webkit.org/show_bug.cgi?id=109154
2716 Reviewed by Vsevolod Vlasov.
2718 Handle home key shortcut explicitly in TextEditorMainPanel.
2720 New test: inspector/editor/text-editor-home-button.html
2722 * inspector/front-end/DefaultTextEditor.js:
2723 (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
2724 (WebInspector.TextEditorMainPanel.prototype._handleHomeKey):
2726 2013-02-11 Abhishek Arya <inferno@chromium.org>
2728 Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
2729 https://bugs.webkit.org/show_bug.cgi?id=108981
2731 Reviewed by Eric Seidel.
2733 * Modules/mediastream/RTCStatsResponse.cpp:
2734 (WebCore::RTCStatsResponse::addElement):
2735 (WebCore::RTCStatsResponse::addStatistic):
2736 * Modules/websockets/WebSocketChannel.cpp:
2737 (WebCore::WebSocketChannel::skipBuffer):
2738 * css/CSSCalculationValue.cpp:
2739 (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
2740 (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
2741 * css/WebKitCSSTransformValue.cpp:
2742 (WebCore::transformValueToCssString):
2743 * editing/TextIterator.cpp:
2744 (WebCore::SearchBuffer::search):
2745 * html/HTMLElement.cpp:
2746 (WebCore::parseColorStringWithCrazyLegacyRules):
2747 * html/ImageData.cpp:
2748 (WebCore::ImageData::ImageData):
2749 * html/shadow/DateTimeSymbolicFieldElement.cpp:
2750 (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
2751 * html/track/TextTrackCueList.cpp:
2752 (WebCore::TextTrackCueList::add):
2753 * platform/SharedBuffer.cpp:
2754 (WebCore::SharedBuffer::getSomeData):
2755 * platform/SharedBufferChunkReader.cpp:
2756 (WebCore::SharedBufferChunkReader::nextChunk):
2757 * platform/audio/HRTFDatabase.cpp:
2758 (WebCore::HRTFDatabase::getKernelsFromAzimuthElevation):
2759 * platform/graphics/GlyphPageTreeNode.cpp:
2760 (WebCore::GlyphPageTreeNode::initializePage):
2761 * platform/graphics/Region.cpp:
2762 (WebCore::Region::Shape::segments_end):
2763 * platform/graphics/filters/FEComponentTransfer.cpp:
2764 (WebCore::FEComponentTransfer::getValues):
2765 * platform/graphics/filters/FilterEffect.cpp:
2766 (WebCore::FilterEffect::inputEffect):
2767 * platform/text/TextCodecUTF8.cpp:
2768 (WebCore::TextCodecUTF8::decode):
2769 * platform/text/mac/TextCodecMac.cpp:
2770 (WebCore::TextCodecMac::decode):
2771 * rendering/RenderBlockLineLayout.cpp:
2772 (WebCore::RenderBlock::checkFloatsInCleanLine):
2773 * svg/SVGAnimatedTypeAnimator.h:
2774 (WebCore::SVGAnimatedTypeAnimator::executeAction):
2775 * svg/SVGAnimationElement.cpp:
2776 (WebCore::SVGAnimationElement::calculatePercentForSpline):
2777 * svg/animation/SVGSMILElement.cpp:
2778 (WebCore::SVGSMILElement::findInstanceTime):
2780 2013-02-10 Chris Fleizach <cfleizach@apple.com>
2782 WebSpeech: Implement basic speaking/finished speaking behavior
2783 https://bugs.webkit.org/show_bug.cgi?id=107135
2785 Reviewed by Sam Weinig.
2787 Implements the basic functionality of speaking utterances.
2789 In the WebCore side, it manages the speech queue the way the spec defines
2790 (that is, new jobs are appended to a queue and wait for other jobs to finish).
2792 On the Mac side, it instantiates a synthesizer and handles the callbacks for when
2793 jobs are finished. It sends those jobs back to WebCore to dispatch the right events.
2795 Test: platform/mac/fast/speechsynthesis/speech-synthesis-speak.html
2797 * Modules/speech/SpeechSynthesis.cpp:
2798 (WebCore::SpeechSynthesis::SpeechSynthesis):
2799 (WebCore::SpeechSynthesis::paused):
2800 (WebCore::SpeechSynthesis::startSpeakingImmediately):
2801 (WebCore::SpeechSynthesis::speak):
2803 (WebCore::SpeechSynthesis::fireEvent):
2804 (WebCore::SpeechSynthesis::handleSpeakingCompleted):
2805 (WebCore::SpeechSynthesis::didStartSpeaking):
2806 (WebCore::SpeechSynthesis::didFinishSpeaking):
2807 (WebCore::SpeechSynthesis::speakingErrorOccurred):
2808 * Modules/speech/SpeechSynthesis.h:
2810 (WebCore::SpeechSynthesis::speaking):
2812 * Modules/speech/SpeechSynthesisEvent.cpp:
2813 (WebCore::SpeechSynthesisEvent::create):
2815 (WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):
2816 * Modules/speech/SpeechSynthesisEvent.h:
2817 (SpeechSynthesisEvent):
2818 (WebCore::SpeechSynthesisEvent::interfaceName):
2819 * Modules/speech/SpeechSynthesisUtterance.h:
2820 (WebCore::SpeechSynthesisUtterance::startTime):
2821 (WebCore::SpeechSynthesisUtterance::setStartTime):
2822 (SpeechSynthesisUtterance):
2823 * platform/PlatformSpeechSynthesisUtterance.cpp:
2824 (WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):
2825 * platform/PlatformSpeechSynthesisUtterance.h:
2826 (PlatformSpeechSynthesisUtterance):
2827 (WebCore::PlatformSpeechSynthesisUtterance::setVolume):
2828 (WebCore::PlatformSpeechSynthesisUtterance::setRate):
2829 (WebCore::PlatformSpeechSynthesisUtterance::setPitch):
2830 (WebCore::PlatformSpeechSynthesisUtterance::startTime):
2831 (WebCore::PlatformSpeechSynthesisUtterance::setStartTime):
2832 (WebCore::PlatformSpeechSynthesisUtterance::client):
2833 * platform/PlatformSpeechSynthesizer.cpp:
2834 (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
2835 * platform/PlatformSpeechSynthesizer.h:
2836 (PlatformSpeechSynthesizerClient):
2837 (WebCore::PlatformSpeechSynthesizer::client):
2838 (PlatformSpeechSynthesizer):
2839 * platform/mac/PlatformSpeechSynthesizerMac.mm:
2840 (-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
2841 (-[WebSpeechSynthesisWrapper dealloc]):
2842 (-[WebSpeechSynthesisWrapper convertRateToWPM:]):
2843 (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
2844 (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
2845 (WebCore::PlatformSpeechSynthesizer::speak):
2847 2013-02-10 Eric Seidel <eric@webkit.org>
2849 Make the existing HTMLPreloadScanner threading-aware
2850 https://bugs.webkit.org/show_bug.cgi?id=107807
2852 Reviewed by Adam Barth.
2854 The HTMLPreloadScanner and CSSPreloadScanner do a number of things.
2855 CSSPreloadScanner is mostly just a helper class for HTMLPreloadScanner.
2856 HTMLPreloadScanner runs its own copy of the HTMLTokenizer and uses
2857 HTMLTokenizer::updateStateFor to emulate enough of the TreeBuilder
2858 to get a realistic stream of tokens. It does some additional TreeBuilder
2859 emulation, including tracking template tags and base tags, but mostly
2860 just scans the token stream for start-tags and looks for URLs in them.
2861 It tracks when it has seen a <style> tag and starts sending all character tokens
2862 to the CSSPreloadScanner until a </style> tag is seen.
2863 It also (unfortunately) knows some about the loader guts and how to construct
2864 a proper CachedResourcRequest and issue a preload.
2866 This patch changes the model so that the preload scanners only know how to produce
2867 PreloadRequest objects and append them to a passed-in vector.
2869 This changes the preload-scanner behavior so that preloads are now all issued in one large
2870 batch at the end of scanning, instead of as we hit each resource. It's possible that
2871 we'll wait to instead check for preload requests more often, at a possible tradeoff
2872 to tokenizing speed.
2874 An alternate approach might be to pass in a preload-delegate of sorts which knew how
2875 to either build a vector, or send requests immediately. For now the build-a-vector-always
2876 approach seems clean, and does not seem to slow down our PerformanceTest microbenchmarks at least.
2878 This patch has 2 main pieces:
2879 - Remove Document and (and loader) dependencies from HTMLPreloadScanner/CSSPreloadScanner
2880 This is done through introduction of a new HTMLResourcePreloader class which holds
2881 a Document* and knows how to talk to the CachedResourceLoader.
2882 - Clean-up HTMLPreloadScanners token-loop to not be tied to having a Tokenizer.
2883 (On a background thead, the HTMLPreloadScanner won't own the tokenizer, it will just
2884 be passed in tokens and expected to issue loads if necessary.)
2886 This passes all of the LayoutTests using the main thread parser.
2888 This patch does not make the HTMLPreloadScanner 100% ready for threading
2889 (it still uses AtomicString which is currently not-OK on the parser thread)
2890 but it's very close. Two further (already written) patches will complete this.
2893 * GNUmakefile.list.am:
2896 * WebCore.vcproj/WebCore.vcproj:
2897 * WebCore.vcxproj/WebCore.vcxproj:
2898 * WebCore.xcodeproj/project.pbxproj:
2899 * html/parser/CSSPreloadScanner.cpp:
2900 (WebCore::CSSPreloadScanner::CSSPreloadScanner):
2901 (WebCore::CSSPreloadScanner::scan):
2902 (WebCore::CSSPreloadScanner::emitRule):
2903 * html/parser/CSSPreloadScanner.h:
2904 (CSSPreloadScanner):
2905 * html/parser/HTMLDocumentParser.cpp:
2906 (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2907 (WebCore::HTMLDocumentParser::pumpTokenizer):
2908 (WebCore::HTMLDocumentParser::insert):
2909 (WebCore::HTMLDocumentParser::append):
2910 (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
2911 * html/parser/HTMLDocumentParser.h:
2912 (HTMLDocumentParser):
2913 * html/parser/HTMLPreloadScanner.cpp:
2914 (WebCore::isStartTag):
2916 (WebCore::isStartOrEndTag):
2917 (WebCore::PreloadTask::processAttributes):
2918 (WebCore::PreloadTask::charset):
2920 (WebCore::PreloadTask::resourceType):
2921 (WebCore::PreloadTask::shouldPreload):
2922 (WebCore::PreloadTask::createPreloadRequest):
2923 (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
2924 (WebCore::HTMLPreloadScanner::scan):
2925 (WebCore::HTMLPreloadScanner::processPossibleTemplateTag):
2926 (WebCore::HTMLPreloadScanner::processPossibleStyleTag):
2927 (WebCore::HTMLPreloadScanner::processPossibleBaseTag):
2928 (WebCore::HTMLPreloadScanner::processToken):
2929 * html/parser/HTMLPreloadScanner.h:
2930 (HTMLPreloadScanner):
2931 * html/parser/HTMLResourcePreloader.cpp: Added.
2933 (WebCore::isStringSafeToSendToAnotherThread):
2934 (WebCore::PreloadRequest::isSafeToSendToAnotherThread):
2935 (WebCore::PreloadRequest::completeURL):
2936 (WebCore::PreloadRequest::resourceRequest):
2937 (WebCore::HTMLResourcePreloader::preload):
2938 * html/parser/HTMLResourcePreloader.h: Added.
2941 (WebCore::PreloadRequest::create):
2942 (WebCore::PreloadRequest::PreloadRequest):
2943 (HTMLResourcePreloader):
2944 (WebCore::HTMLResourcePreloader::HTMLResourcePreloader):
2945 (WebCore::HTMLResourcePreloader::createWeakPtr):
2946 * loader/cache/CachedResourceRequest.h:
2948 2013-02-06 Kentaro Hara <haraken@chromium.org>
2950 [V8] Rename isolated() to getWorld(), rename worldForEnteredContextIfIsolated() to worldForEnteredContext()
2951 https://bugs.webkit.org/show_bug.cgi?id=109039
2953 Reviewed by Adam Barth.
2955 This is a follow-up patch for r141983.
2956 Rename methods for consistency.
2958 No tests. No change in behavior.
2960 * bindings/v8/DOMDataStore.cpp:
2961 (WebCore::DOMDataStore::current):
2962 * bindings/v8/DOMWrapperWorld.h:
2963 (WebCore::DOMWrapperWorld::getWorld):
2964 * bindings/v8/ScriptController.cpp:
2965 (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
2966 (WebCore::ScriptController::currentWorldContext):
2967 * bindings/v8/V8Binding.h:
2968 (WebCore::worldForEnteredContext):
2969 * bindings/v8/WorldContextHandle.cpp:
2970 (WebCore::WorldContextHandle::WorldContextHandle):
2971 * bindings/v8/custom/V8DocumentCustom.cpp:
2973 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2975 * bindings/v8/custom/V8SVGDocumentCustom.cpp:
2977 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2978 (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
2980 2013-02-10 Alexandre Elias <aelias@chromium.org>
2982 [chromium] Fix Android scrollbar size
2983 https://bugs.webkit.org/show_bug.cgi?id=109374
2985 Reviewed by James Robinson.
2987 This shrinks scrollbars to 3 device-independent pixels (usually 6
2988 physical pixels) and deletes the edge fade. Although the Android
2989 system theme does have an edge fade, it's a much sharper cliff
2990 than we had (against black, the colors go 64 -> 64 -> 52 -> 21 -> 0)
2991 and I can't perceive any difference compared with no fade at all.
2993 No new tests (due for rewrite in a week anyway).
2995 * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
2997 (WebCore::ScrollbarThemeChromiumAndroid::paintThumb):
2999 2013-02-04 Kentaro Hara <haraken@chromium.org>
3001 [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
3002 https://bugs.webkit.org/show_bug.cgi?id=108579
3004 Reviewed by Adam Barth.
3006 Currently V8GCController::m_edenNodes stores a list of nodes whose
3007 wrappers have been created since the latest GC. The reason why we
3008 needed m_edenNodes is that there was no way to know a list of wrappers
3009 in the new space of V8. By using m_edenNodes, we had been approximating
3010 'wrappers in the new space' by 'wrappers that have been created since
3013 Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
3014 can know a list of wrappers in the new space. By using the API, we can
3015 remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
3016 need to keep m_edenNodes and that (2) it enables more precise minor
3017 DOM GC (Remember that m_edenNodes was just an approximation).
3019 Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
3020 The benchmark runs 300 iterations, each of which creates 100000 elements.
3021 The benchmark measures average, min, median, max and stdev of execution times
3022 of the 300 iterations. This will tell us the worst-case overhead of this change.
3025 mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
3028 mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
3030 As shown above, I couldn't observe any performance regression.
3032 No tests. No change in behavior.
3034 * bindings/v8/DOMDataStore.h:
3035 (WebCore::DOMDataStore::setWrapperInObject):
3036 * bindings/v8/DOMWrapperWorld.h:
3038 (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
3039 * bindings/v8/V8Binding.h:
3041 (WebCore::worldForEnteredContextIfIsolated):
3042 (WebCore::worldForEnteredContextWithoutContextCheck):
3043 * bindings/v8/V8DOMWindowShell.cpp:
3044 (WebCore::V8DOMWindowShell::initializeIfNeeded):
3045 * bindings/v8/V8GCController.cpp:
3048 (MinorGCWrapperVisitor):
3049 (WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
3050 (WebCore::MinorGCWrapperVisitor::notifyFinished):
3051 (WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
3052 (WebCore::V8GCController::gcPrologue):
3053 (WebCore::V8GCController::minorGCPrologue):
3054 (WebCore::V8GCController::majorGCPrologue):
3055 * bindings/v8/V8GCController.h:
3058 2013-02-10 Tim Horton <timothy_horton@apple.com>
3060 REGRESSION (r132422): Page content and scrollbars are incorrectly offset after restoring a page from the page cache
3061 https://bugs.webkit.org/show_bug.cgi?id=109317
3062 <rdar://problem/12649131>
3064 Reviewed by Simon Fraser.
3066 Mark all scrolling that occurs beneath FrameView::layout as programmatic.
3068 Test: platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html
3070 * page/FrameView.cpp:
3071 (WebCore::FrameView::layout):
3073 2013-02-10 Kent Tamura <tkent@chromium.org>
3075 [Mac] Fix release build failure by recent reverts
3079 2013-02-10 Philippe Normand <pnormand@igalia.com>
3081 [GStreamer] media/video-controls-fullscreen-volume.html crashes
3082 https://bugs.webkit.org/show_bug.cgi?id=108682
3084 Reviewed by Martin Robinson.
3086 Clean up various signal handlers and avoid bad interaction between
3087 the FullscreenVideoControllerGStreamer and its subclasses,
3088 especially when the platform video window is created.
3090 * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp:
3091 (WebCore::FullscreenVideoControllerGStreamer::enterFullscreen):
3092 Initialize the window before connecting to the volume/mute
3093 signals. This ensures that the signals won't ever interfere with
3094 an inexisting window.
3095 * platform/graphics/gstreamer/GStreamerGWorld.cpp:
3096 (WebCore::GStreamerGWorld::~GStreamerGWorld): Remove GstBus
3097 synchronous handler function.
3098 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3099 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3100 (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
3101 Disconnect from volume/mute signals.
3102 (WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
3103 Keep a trace of volume/mute signal handlers.
3104 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
3105 Various forward type declarations to avoid un-necessary header includes.
3106 (MediaPlayerPrivateGStreamerBase):
3107 * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:
3108 (WebCore::FullscreenVideoControllerGtk::FullscreenVideoControllerGtk):
3109 (WebCore::FullscreenVideoControllerGtk::volumeChanged): Bail out
3110 if volume button hasn't been created yet.
3111 (WebCore::FullscreenVideoControllerGtk::muteChanged): Ditto.
3113 2013-02-10 Andreas Kling <akling@apple.com>
3115 RenderStyle should use copy-on-write inheritance for NinePieceImage.
3116 <http://webkit.org/b/109366>
3118 Reviewed by Antti Koivisto.
3120 Refactor NinePieceImage to hold a copy-on-write DataRef like other RenderStyle substructures.
3121 This allows us to avoids copying the NinePieceImageData when one RenderStyle inherits from another
3122 but modifies something in the substructure holding the NinePieceImage (typically StyleSurroundData.)
3124 Also made RenderStyle not copy-on-write its StyleSurroundData prematurely when doing a no-op write
3125 to a border-image related value.
3127 1.23 MB progression on Membuster3.
3129 * rendering/style/NinePieceImage.cpp:
3130 (WebCore::defaultData):
3131 (WebCore::NinePieceImage::NinePieceImage):
3132 (WebCore::NinePieceImageData::NinePieceImageData):
3133 (WebCore::NinePieceImageData::operator==):
3134 * rendering/style/NinePieceImage.h:
3135 (WebCore::NinePieceImageData::create):
3136 (WebCore::NinePieceImageData::copy):
3137 (NinePieceImageData):
3139 (WebCore::NinePieceImage::operator==):
3140 (WebCore::NinePieceImage::operator!=):
3141 (WebCore::NinePieceImage::hasImage):
3142 (WebCore::NinePieceImage::image):
3143 (WebCore::NinePieceImage::setImage):
3144 (WebCore::NinePieceImage::imageSlices):
3145 (WebCore::NinePieceImage::setImageSlices):
3146 (WebCore::NinePieceImage::fill):
3147 (WebCore::NinePieceImage::setFill):
3148 (WebCore::NinePieceImage::borderSlices):
3149 (WebCore::NinePieceImage::setBorderSlices):
3150 (WebCore::NinePieceImage::outset):
3151 (WebCore::NinePieceImage::setOutset):
3152 (WebCore::NinePieceImage::horizontalRule):
3153 (WebCore::NinePieceImage::setHorizontalRule):
3154 (WebCore::NinePieceImage::verticalRule):
3155 (WebCore::NinePieceImage::setVerticalRule):
3156 (WebCore::NinePieceImage::copyImageSlicesFrom):
3157 (WebCore::NinePieceImage::copyBorderSlicesFrom):
3158 (WebCore::NinePieceImage::copyOutsetFrom):
3159 (WebCore::NinePieceImage::copyRepeatFrom):
3160 (WebCore::NinePieceImage::setMaskDefaults):
3161 (WebCore::NinePieceImage::computeOutset):
3162 * rendering/style/RenderStyle.cpp:
3163 (WebCore::RenderStyle::setBorderImageSource):
3164 (WebCore::RenderStyle::setBorderImageSlices):
3165 (WebCore::RenderStyle::setBorderImageWidth):
3166 (WebCore::RenderStyle::setBorderImageOutset):
3167 * rendering/style/RenderStyle.h:
3169 2013-02-10 Kent Tamura <tkent@chromium.org>
3171 Unreviewed, rolling out r142343.
3172 http://trac.webkit.org/changeset/142343
3173 https://bugs.webkit.org/show_bug.cgi?id=108284
3175 It might make inspector/profiler/selector-profiler-url.html
3181 * html/HTMLPlugInElement.cpp:
3182 (WebCore::HTMLPlugInElement::defaultEventHandler):
3183 * html/HTMLPlugInImageElement.cpp:
3184 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
3185 (WebCore::HTMLPlugInImageElement::createRenderer):
3186 (WebCore::HTMLPlugInImageElement::willRecalcStyle):
3187 (WebCore::HTMLPlugInImageElement::updateSnapshot):
3188 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
3189 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
3190 * html/HTMLPlugInImageElement.h:
3192 (HTMLPlugInImageElement):
3193 * page/ChromeClient.h:
3194 (WebCore::ChromeClient::plugInStartLabelImage):
3195 * platform/LocalizedStrings.cpp:
3196 * platform/LocalizedStrings.h:
3197 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
3198 * platform/chromium/LocalizedStringsChromium.cpp:
3199 * platform/efl/LocalizedStringsEfl.cpp:
3201 * platform/gtk/LocalizedStringsGtk.cpp:
3203 * platform/qt/LocalizedStringsQt.cpp:
3204 * rendering/RenderSnapshottedPlugIn.cpp:
3206 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
3207 (WebCore::RenderSnapshottedPlugIn::paint):
3208 (WebCore::RenderSnapshottedPlugIn::paintReplaced):
3209 (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
3210 (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshot):
3211 (WebCore::RenderSnapshottedPlugIn::startLabelImage):
3212 (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshotWithLabel):
3213 (WebCore::RenderSnapshottedPlugIn::getCursor):
3214 (WebCore::RenderSnapshottedPlugIn::handleEvent):
3215 (WebCore::RenderSnapshottedPlugIn::tryToFitStartLabel):
3216 * rendering/RenderSnapshottedPlugIn.h:
3218 2013-02-10 Andreas Kling <akling@apple.com>
3220 RenderText: Access characters through m_text instead of caching data pointers separately.
3221 <http://webkit.org/b/109357>
3223 Reviewed by Antti Koivisto.
3225 Go through RenderText::m_text.impl() instead of caching the character data pointer.
3226 RenderText should never have a null String in m_text so it's safe to access impl() directly.
3227 We have assertions for this since before.
3229 Removing this pointer shrinks RenderText by 8 bytes, allowing it to fit into a snugger size class.
3230 749 KB progression on Membuster3.
3232 * rendering/RenderText.cpp:
3233 (SameSizeAsRenderText):
3234 (WebCore::RenderText::RenderText):
3235 (WebCore::RenderText::setTextInternal):
3236 * rendering/RenderText.h:
3237 (WebCore::RenderText::is8Bit):
3238 (WebCore::RenderText::characters8):
3239 (WebCore::RenderText::characters16):
3240 (WebCore::RenderText::characterAt):
3241 (WebCore::RenderText::operator[]):
3244 2013-02-10 Jae Hyun Park <jae.park08@gmail.com>
3246 Rename ENABLE(GLIB_SUPPORT) to USE(GLIB)
3247 https://bugs.webkit.org/show_bug.cgi?id=104266
3249 Reviewed by Philippe Normand.
3251 Using USE(GLIB) instead of ENABLE(GLIB_SUPPORT) is more consistent with
3252 the existing macro naming conventions.
3255 USE() - use a particular third-party library or optional OS service
3256 ENABLE() - turn on a specific feature of WebKit
3258 No new tests, no new functionality.
3262 2013-02-10 Zan Dobersek <zdobersek@igalia.com>
3264 [GTK] Build errors in TextureMapperShaderProgram.cpp when compiling with Clang
3265 https://bugs.webkit.org/show_bug.cgi?id=109321
3267 Reviewed by Noam Rosenthal.
3269 Clang is reporting errors due to non-constant expressions that cannot be narrowed
3270 from double to float type in initializer list when constructing a matrix of GC3Dfloat
3271 numbers. To avoid this every parameter is passed through an explicit GC3Dfloat constructor.
3273 No new tests - no new functionality.
3275 * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
3276 (WebCore::TextureMapperShaderProgram::setMatrix):
3278 2013-02-10 Philippe Normand <pnormand@igalia.com>
3280 [GStreamer] audio is muted when playback rate is between 0.8 and 2.0
3281 https://bugs.webkit.org/show_bug.cgi?id=109362
3283 Reviewed by Martin Robinson.
3285 Don't mute sound if the audio pitch is preserved. If this is not
3286 the case mute it if it's too extreme, as the HTML5 spec recommends.
3288 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3289 (WebCore::MediaPlayerPrivateGStreamer::setRate):
3291 2013-02-09 Dominic Mazzoni <dmazzoni@google.com>
3293 fast/encoding/parser-tests-*.html tests sometimes crash
3294 https://bugs.webkit.org/show_bug.cgi?id=108058
3296 Reviewed by Chris Fleizach.
3298 To avoid calling accessibilityIsIgnored while the render
3299 tree is unstable, call accessibilityIsIgnored in the
3300 notification timer handler, only for childrenChanged
3303 This exposed a problem where notifications queued on
3304 objects can fire after the object has been deleted; fix that
3305 by checking the object's id, which is always set to 0 when
3306 removed from the tree.
3308 Covered by existing tests.
3310 * accessibility/AXObjectCache.cpp:
3311 (WebCore::AXObjectCache::childrenChanged):
3312 (WebCore::AXObjectCache::notificationPostTimerFired):
3314 2013-02-09 Eric Carlson <eric.carlson@apple.com>
3316 [Mac] Do not assume MediaAccessibility framework is installed
3317 https://bugs.webkit.org/show_bug.cgi?id=109365
3319 Reviewed by Sam Weinig.
3321 * page/CaptionUserPreferencesMac.h:
3322 * page/CaptionUserPreferencesMac.mm:
3323 (WebCore::CaptionUserPreferencesMac::userPrefersCaptions): Call the base class if the framework
3325 (WebCore::CaptionUserPreferencesMac::setUserPrefersCaptions): Ditto.
3326 (WebCore::CaptionUserPreferencesMac::userHasCaptionPreferences): Ditto.
3327 (WebCore::CaptionUserPreferencesMac::registerForCaptionPreferencesChangedCallbacks): Ditto.
3328 (WebCore::CaptionUserPreferencesMac::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
3329 (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Ditto.
3330 (WebCore::CaptionUserPreferencesMac::captionFontSizeScale): Ditto.
3331 (WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Ditto.
3332 (WebCore::CaptionUserPreferencesMac::preferredLanguages): Ditto.
3334 2013-02-09 Dominic Mazzoni <dmazzoni@google.com>
3336 AX: move isIgnored caching to AXObject
3337 https://bugs.webkit.org/show_bug.cgi?id=109322
3339 Reviewed by Chris Fleizach.
3341 There's some benefit to caching accessibilityIsIgnored
3342 (using AXComputedObjectAttributeCache) for more than just
3343 AXRenderObject, so move the caching code to AXObject.
3345 AXObject now has a protected virtual method
3346 computeAccessibilityIsIgnored, and all subclasses
3347 override that instead.
3351 * accessibility/AccessibilityImageMapLink.h:
3352 (AccessibilityImageMapLink):
3353 (WebCore::AccessibilityImageMapLink::computeAccessibilityIsIgnored):
3354 * accessibility/AccessibilityList.cpp:
3355 (WebCore::AccessibilityList::computeAccessibilityIsIgnored):
3356 * accessibility/AccessibilityList.h:
3357 (AccessibilityList):
3358 * accessibility/AccessibilityListBox.cpp:
3359 (WebCore::AccessibilityListBox::computeAccessibilityIsIgnored):
3360 * accessibility/AccessibilityListBox.h:
3361 (AccessibilityListBox):
3362 * accessibility/AccessibilityListBoxOption.cpp:
3363 (WebCore::AccessibilityListBoxOption::computeAccessibilityIsIgnored):
3364 * accessibility/AccessibilityListBoxOption.h:
3365 (AccessibilityListBoxOption):
3366 * accessibility/AccessibilityMediaControls.cpp:
3367 (WebCore::AccessibilityMediaControl::computeAccessibilityIsIgnored):
3368 (WebCore::AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored):
3369 * accessibility/AccessibilityMediaControls.h:
3370 (AccessibilityMediaControl):
3371 (WebCore::AccessibilityMediaControlsContainer::computeAccessibilityIsIgnored):
3372 (AccessibilityMediaTimeDisplay):
3373 * accessibility/AccessibilityMenuList.h:
3374 (WebCore::AccessibilityMenuList::computeAccessibilityIsIgnored):
3375 * accessibility/AccessibilityMenuListOption.cpp:
3376 (WebCore::AccessibilityMenuListOption::computeAccessibilityIsIgnored):
3377 * accessibility/AccessibilityMenuListOption.h:
3378 (AccessibilityMenuListOption):
3379 * accessibility/AccessibilityMenuListPopup.cpp:
3380 (WebCore::AccessibilityMenuListPopup::computeAccessibilityIsIgnored):
3381 * accessibility/AccessibilityMenuListPopup.h:
3382 (AccessibilityMenuListPopup):
3383 * accessibility/AccessibilityNodeObject.cpp:
3384 (WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):
3385 * accessibility/AccessibilityNodeObject.h:
3386 (AccessibilityNodeObject):
3387 * accessibility/AccessibilityObject.cpp:
3388 (WebCore::AccessibilityObject::accessibilityIsIgnored):
3390 * accessibility/AccessibilityObject.h:
3391 (AccessibilityObject):
3392 (WebCore::AccessibilityObject::computeAccessibilityIsIgnored):
3393 * accessibility/AccessibilityProgressIndicator.cpp:
3394 (WebCore::AccessibilityProgressIndicator::computeAccessibilityIsIgnored):
3395 * accessibility/AccessibilityProgressIndicator.h:
3396 (AccessibilityProgressIndicator):
3397 * accessibility/AccessibilityRenderObject.cpp:
3398 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
3399 * accessibility/AccessibilityRenderObject.h:
3400 (AccessibilityRenderObject):
3401 * accessibility/AccessibilityScrollView.cpp:
3402 (WebCore::AccessibilityScrollView::computeAccessibilityIsIgnored):
3403 * accessibility/AccessibilityScrollView.h:
3404 (AccessibilityScrollView):
3405 * accessibility/AccessibilityScrollbar.h:
3406 (WebCore::AccessibilityScrollbar::computeAccessibilityIsIgnored):
3407 * accessibility/AccessibilitySlider.cpp:
3408 (WebCore::AccessibilitySlider::computeAccessibilityIsIgnored):
3409 (WebCore::AccessibilitySliderThumb::computeAccessibilityIsIgnored):
3410 * accessibility/AccessibilitySlider.h:
3411 (AccessibilitySlider):
3412 (AccessibilitySliderThumb):
3413 * accessibility/AccessibilitySpinButton.h:
3414 (WebCore::AccessibilitySpinButton::computeAccessibilityIsIgnored):
3415 (WebCore::AccessibilitySpinButtonPart::computeAccessibilityIsIgnored):
3416 * accessibility/AccessibilityTable.cpp:
3417 (WebCore::AccessibilityTable::computeAccessibilityIsIgnored):
3418 * accessibility/AccessibilityTable.h:
3419 (AccessibilityTable):
3420 * accessibility/AccessibilityTableCell.cpp:
3421 (WebCore::AccessibilityTableCell::computeAccessibilityIsIgnored):
3422 * accessibility/AccessibilityTableCell.h:
3423 (AccessibilityTableCell):
3424 * accessibility/AccessibilityTableColumn.cpp:
3425 (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored):
3426 * accessibility/AccessibilityTableColumn.h:
3427 (AccessibilityTableColumn):
3428 * accessibility/AccessibilityTableHeaderContainer.cpp:
3429 (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored):
3430 * accessibility/AccessibilityTableHeaderContainer.h:
3431 (AccessibilityTableHeaderContainer):
3432 * accessibility/AccessibilityTableRow.cpp:
3433 (WebCore::AccessibilityTableRow::computeAccessibilityIsIgnored):
3434 * accessibility/AccessibilityTableRow.h:
3435 (AccessibilityTableRow):
3437 2013-02-09 David Farler <dfarler@apple.com>
3439 Make TestWebKitAPI work for iOS
3440 https://bugs.webkit.org/show_bug.cgi?id=108978
3442 Reviewed by David Kilzer.
3444 Tests already exist - refactor only.