OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "config.h" | 31 #include "config.h" |
32 #include "core/inspector/InspectorPageAgent.h" | 32 #include "core/inspector/InspectorPageAgent.h" |
33 | 33 |
34 #include "bindings/core/v8/DOMWrapperWorld.h" | 34 #include "bindings/core/v8/DOMWrapperWorld.h" |
35 #include "bindings/core/v8/ScriptController.h" | 35 #include "bindings/core/v8/ScriptController.h" |
36 #include "bindings/core/v8/ScriptRegexp.h" | 36 #include "bindings/core/v8/ScriptRegexp.h" |
37 #include "core/HTMLNames.h" | 37 #include "core/HTMLNames.h" |
38 #include "core/animation/AnimationTimeline.h" | 38 #include "core/animation/AnimationTimeline.h" |
39 #include "core/css/StyleSheetContents.h" | 39 #include "core/css/StyleSheetContents.h" |
40 #include "core/css/resolver/StyleResolver.h" | 40 #include "core/css/resolver/StyleResolver.h" |
41 #include "core/css/resolver/ViewportStyleResolver.h" | |
42 #include "core/dom/DOMImplementation.h" | 41 #include "core/dom/DOMImplementation.h" |
43 #include "core/dom/Document.h" | 42 #include "core/dom/Document.h" |
44 #include "core/fetch/CSSStyleSheetResource.h" | 43 #include "core/fetch/CSSStyleSheetResource.h" |
45 #include "core/fetch/FontResource.h" | 44 #include "core/fetch/FontResource.h" |
46 #include "core/fetch/ImageResource.h" | 45 #include "core/fetch/ImageResource.h" |
47 #include "core/fetch/MemoryCache.h" | 46 #include "core/fetch/MemoryCache.h" |
48 #include "core/fetch/Resource.h" | 47 #include "core/fetch/Resource.h" |
49 #include "core/fetch/ResourceFetcher.h" | 48 #include "core/fetch/ResourceFetcher.h" |
50 #include "core/fetch/ScriptResource.h" | 49 #include "core/fetch/ScriptResource.h" |
51 #include "core/frame/FrameView.h" | 50 #include "core/frame/FrameView.h" |
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 , m_overlay(overlay) | 429 , m_overlay(overlay) |
431 , m_lastScriptIdentifier(0) | 430 , m_lastScriptIdentifier(0) |
432 , m_enabled(false) | 431 , m_enabled(false) |
433 , m_deviceMetricsOverridden(false) | 432 , m_deviceMetricsOverridden(false) |
434 , m_emulateMobileEnabled(false) | 433 , m_emulateMobileEnabled(false) |
435 , m_touchEmulationEnabled(false) | 434 , m_touchEmulationEnabled(false) |
436 , m_originalTouchEnabled(false) | 435 , m_originalTouchEnabled(false) |
437 , m_originalDeviceSupportsMouse(false) | 436 , m_originalDeviceSupportsMouse(false) |
438 , m_originalDeviceSupportsTouch(false) | 437 , m_originalDeviceSupportsTouch(false) |
439 , m_originalMaxTouchPoints(0) | 438 , m_originalMaxTouchPoints(0) |
| 439 , m_embedderFontScaleFactor(m_page->settings().deviceScaleAdjustment()) |
440 , m_embedderTextAutosizingEnabled(m_page->settings().textAutosizingEnabled()
) | 440 , m_embedderTextAutosizingEnabled(m_page->settings().textAutosizingEnabled()
) |
441 , m_embedderFontScaleFactor(m_page->settings().deviceScaleAdjustment()) | |
442 , m_embedderPreferCompositingToLCDTextEnabled(m_page->settings().preferCompo
sitingToLCDTextEnabled()) | 441 , m_embedderPreferCompositingToLCDTextEnabled(m_page->settings().preferCompo
sitingToLCDTextEnabled()) |
443 , m_embedderScriptEnabled(m_page->settings().scriptEnabled()) | 442 , m_embedderScriptEnabled(m_page->settings().scriptEnabled()) |
444 , m_reloading(false) | 443 , m_reloading(false) |
| 444 , m_embedderUseMobileViewport(m_page->settings().useMobileViewportStyle()) |
445 { | 445 { |
446 } | 446 } |
447 | 447 |
448 void InspectorPageAgent::setTextAutosizingEnabled(bool enabled) | 448 void InspectorPageAgent::setTextAutosizingEnabled(bool enabled) |
449 { | 449 { |
450 m_embedderTextAutosizingEnabled = enabled; | 450 m_embedderTextAutosizingEnabled = enabled; |
451 bool emulateMobileEnabled = m_enabled && m_deviceMetricsOverridden && m_emul
ateMobileEnabled; | 451 bool emulateMobileEnabled = m_enabled && m_deviceMetricsOverridden && m_emul
ateMobileEnabled; |
452 if (!emulateMobileEnabled) | 452 if (!emulateMobileEnabled) |
453 m_page->settings().setTextAutosizingEnabled(enabled); | 453 m_page->settings().setTextAutosizingEnabled(enabled); |
454 } | 454 } |
(...skipping 14 matching lines...) Expand all Loading... |
469 m_page->settings().setPreferCompositingToLCDTextEnabled(enabled); | 469 m_page->settings().setPreferCompositingToLCDTextEnabled(enabled); |
470 } | 470 } |
471 | 471 |
472 void InspectorPageAgent::setScriptEnabled(bool enabled) | 472 void InspectorPageAgent::setScriptEnabled(bool enabled) |
473 { | 473 { |
474 m_embedderScriptEnabled = enabled; | 474 m_embedderScriptEnabled = enabled; |
475 if (!m_state->getBoolean(PageAgentState::pageAgentScriptExecutionDisabled)) | 475 if (!m_state->getBoolean(PageAgentState::pageAgentScriptExecutionDisabled)) |
476 m_page->settings().setScriptEnabled(enabled); | 476 m_page->settings().setScriptEnabled(enabled); |
477 } | 477 } |
478 | 478 |
| 479 void InspectorPageAgent::setUseMobileViewportStyle(bool enabled) |
| 480 { |
| 481 m_embedderUseMobileViewport = enabled; |
| 482 bool emulateMobileEnabled = m_enabled && m_deviceMetricsOverridden && m_emul
ateMobileEnabled; |
| 483 if (!emulateMobileEnabled) |
| 484 m_page->settings().setUseMobileViewportStyle(enabled); |
| 485 } |
| 486 |
479 void InspectorPageAgent::setFrontend(InspectorFrontend* frontend) | 487 void InspectorPageAgent::setFrontend(InspectorFrontend* frontend) |
480 { | 488 { |
481 m_frontend = frontend->page(); | 489 m_frontend = frontend->page(); |
482 } | 490 } |
483 | 491 |
484 void InspectorPageAgent::clearFrontend() | 492 void InspectorPageAgent::clearFrontend() |
485 { | 493 { |
486 ErrorString error; | 494 ErrorString error; |
487 disable(&error); | 495 disable(&error); |
488 m_frontend = 0; | 496 m_frontend = 0; |
(...skipping 854 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1343 Document* document = inspectedFrame()->document(); | 1351 Document* document = inspectedFrame()->document(); |
1344 if (document) { | 1352 if (document) { |
1345 document->styleResolverChanged(); | 1353 document->styleResolverChanged(); |
1346 document->mediaQueryAffectingValueChanged(); | 1354 document->mediaQueryAffectingValueChanged(); |
1347 } | 1355 } |
1348 | 1356 |
1349 if (m_deviceMetricsOverridden) { | 1357 if (m_deviceMetricsOverridden) { |
1350 m_page->settings().setTextAutosizingEnabled(mobile); | 1358 m_page->settings().setTextAutosizingEnabled(mobile); |
1351 m_page->settings().setPreferCompositingToLCDTextEnabled(mobile); | 1359 m_page->settings().setPreferCompositingToLCDTextEnabled(mobile); |
1352 m_page->settings().setDeviceScaleAdjustment(calculateFontScaleFactor(wid
th, height, static_cast<float>(deviceScaleFactor))); | 1360 m_page->settings().setDeviceScaleAdjustment(calculateFontScaleFactor(wid
th, height, static_cast<float>(deviceScaleFactor))); |
| 1361 m_page->settings().setUseMobileViewportStyle(mobile); |
1353 } else { | 1362 } else { |
1354 m_page->settings().setTextAutosizingEnabled(m_embedderTextAutosizingEnab
led); | 1363 m_page->settings().setTextAutosizingEnabled(m_embedderTextAutosizingEnab
led); |
1355 m_page->settings().setPreferCompositingToLCDTextEnabled(m_embedderPrefer
CompositingToLCDTextEnabled); | 1364 m_page->settings().setPreferCompositingToLCDTextEnabled(m_embedderPrefer
CompositingToLCDTextEnabled); |
1356 m_page->settings().setDeviceScaleAdjustment(m_embedderFontScaleFactor); | 1365 m_page->settings().setDeviceScaleAdjustment(m_embedderFontScaleFactor); |
| 1366 m_page->settings().setUseMobileViewportStyle(m_embedderUseMobileViewport
); |
1357 } | 1367 } |
1358 | 1368 |
1359 // FIXME: allow metrics override, fps counter and continuous painting at the
same time: crbug.com/299837. | 1369 // FIXME: allow metrics override, fps counter and continuous painting at the
same time: crbug.com/299837. |
1360 m_client->setShowFPSCounter(m_state->getBoolean(PageAgentState::pageAgentSho
wFPSCounter) && !m_deviceMetricsOverridden); | 1370 m_client->setShowFPSCounter(m_state->getBoolean(PageAgentState::pageAgentSho
wFPSCounter) && !m_deviceMetricsOverridden); |
1361 m_client->setContinuousPaintingEnabled(m_state->getBoolean(PageAgentState::p
ageAgentContinuousPaintingEnabled) && !m_deviceMetricsOverridden); | 1371 m_client->setContinuousPaintingEnabled(m_state->getBoolean(PageAgentState::p
ageAgentContinuousPaintingEnabled) && !m_deviceMetricsOverridden); |
1362 } | 1372 } |
1363 | 1373 |
1364 void InspectorPageAgent::updateTouchEventEmulationInPage(bool enabled) | 1374 void InspectorPageAgent::updateTouchEventEmulationInPage(bool enabled) |
1365 { | 1375 { |
1366 if (!inspectedFrame()->isMainFrame()) | 1376 if (!inspectedFrame()->isMainFrame()) |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1402 | 1412 |
1403 m_state->setString(PageAgentState::pageAgentEmulatedMedia, media); | 1413 m_state->setString(PageAgentState::pageAgentEmulatedMedia, media); |
1404 Document* document = inspectedFrame()->document(); | 1414 Document* document = inspectedFrame()->document(); |
1405 if (document) { | 1415 if (document) { |
1406 document->mediaQueryAffectingValueChanged(); | 1416 document->mediaQueryAffectingValueChanged(); |
1407 document->styleResolverChanged(); | 1417 document->styleResolverChanged(); |
1408 document->updateLayout(); | 1418 document->updateLayout(); |
1409 } | 1419 } |
1410 } | 1420 } |
1411 | 1421 |
1412 bool InspectorPageAgent::applyViewportStyleOverride(StyleResolver* resolver) | |
1413 { | |
1414 if (!m_deviceMetricsOverridden || !m_emulateMobileEnabled) | |
1415 return false; | |
1416 | |
1417 RefPtrWillBeRawPtr<StyleSheetContents> styleSheet = StyleSheetContents::crea
te(CSSParserContext(UASheetMode, 0)); | |
1418 styleSheet->parseString(loadResourceAsASCIIString("viewportAndroid.css")); | |
1419 OwnPtrWillBeRawPtr<RuleSet> ruleSet = RuleSet::create(); | |
1420 ruleSet->addRulesFromSheet(styleSheet.get(), MediaQueryEvaluator("screen")); | |
1421 resolver->viewportStyleResolver()->collectViewportRules(ruleSet.get(), Viewp
ortStyleResolver::UserAgentOrigin); | |
1422 return true; | |
1423 } | |
1424 | |
1425 void InspectorPageAgent::applyEmulatedMedia(String* media) | 1422 void InspectorPageAgent::applyEmulatedMedia(String* media) |
1426 { | 1423 { |
1427 String emulatedMedia = m_state->getString(PageAgentState::pageAgentEmulatedM
edia); | 1424 String emulatedMedia = m_state->getString(PageAgentState::pageAgentEmulatedM
edia); |
1428 if (!emulatedMedia.isEmpty()) | 1425 if (!emulatedMedia.isEmpty()) |
1429 *media = emulatedMedia; | 1426 *media = emulatedMedia; |
1430 } | 1427 } |
1431 | 1428 |
1432 bool InspectorPageAgent::compositingEnabled(ErrorString* errorString) | 1429 bool InspectorPageAgent::compositingEnabled(ErrorString* errorString) |
1433 { | 1430 { |
1434 if (!m_page->settings().acceleratedCompositingEnabled()) { | 1431 if (!m_page->settings().acceleratedCompositingEnabled()) { |
(...skipping 30 matching lines...) Expand all Loading... |
1465 visitor->trace(m_page); | 1462 visitor->trace(m_page); |
1466 visitor->trace(m_injectedScriptManager); | 1463 visitor->trace(m_injectedScriptManager); |
1467 visitor->trace(m_debuggerAgent); | 1464 visitor->trace(m_debuggerAgent); |
1468 visitor->trace(m_cssAgent); | 1465 visitor->trace(m_cssAgent); |
1469 visitor->trace(m_inspectorResourceContentLoader); | 1466 visitor->trace(m_inspectorResourceContentLoader); |
1470 InspectorBaseAgent::trace(visitor); | 1467 InspectorBaseAgent::trace(visitor); |
1471 } | 1468 } |
1472 | 1469 |
1473 } // namespace blink | 1470 } // namespace blink |
1474 | 1471 |
OLD | NEW |